summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/math/reporting
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/math/reporting')
-rw-r--r--src/boost/libs/math/reporting/accuracy/Jamfile.v2161
-rw-r--r--src/boost/libs/math/reporting/accuracy/bindings.hpp765
-rw-r--r--src/boost/libs/math/reporting/accuracy/handle_test_result.hpp515
-rw-r--r--src/boost/libs/math/reporting/accuracy/has_c99_cmath.cpp17
-rw-r--r--src/boost/libs/math/reporting/accuracy/has_cxx17_cmath.cpp18
-rw-r--r--src/boost/libs/math/reporting/accuracy/has_gsl.cpp12
-rw-r--r--src/boost/libs/math/reporting/accuracy/has_libstdcxx_tr1.cpp17
-rw-r--r--src/boost/libs/math/reporting/accuracy/has_rmath.cpp13
-rw-r--r--src/boost/libs/math/reporting/accuracy/html/index.html27805
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_bessel_i.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_bessel_i_prime.cpp64
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_bessel_j.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_bessel_j_prime.cpp64
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_bessel_k.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_bessel_k_prime.cpp64
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_bessel_y.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_bessel_y_prime.cpp64
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_beta.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_binomial_coeff.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_carlson.cpp67
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_cbrt.cpp66
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_digamma.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_ellint_1.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_ellint_2.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_ellint_3.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_ellint_d.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_erf.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_expint.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_gamma.cpp66
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_hermite.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_heuman_lambda.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_ibeta.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_ibeta_inv.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_ibeta_inva.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_igamma.cpp61
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_igamma_inv.cpp61
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_igamma_inva.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_jacobi.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_jacobi_zeta.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_laguerre.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_legendre.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_log1p_expm1.cpp67
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_nc_beta.cpp65
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_nc_chi_squared.cpp65
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_nc_t.cpp65
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_owens_t.cpp65
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_polygamma.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_powm1.cpp66
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_spherical_harmonic.cpp65
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_tgamma_ratio.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_trig.cpp64
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_trigamma.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/test_zeta.cpp63
-rw-r--r--src/boost/libs/math/reporting/accuracy/third_party/cephes_double/readme.txt7
-rw-r--r--src/boost/libs/math/reporting/performance/Jamfile.v2188
-rw-r--r--src/boost/libs/math/reporting/performance/fibonacci.hpp1245
-rw-r--r--src/boost/libs/math/reporting/performance/html/boostbook.css700
-rw-r--r--src/boost/libs/math/reporting/performance/html/index.html16754
-rw-r--r--src/boost/libs/math/reporting/performance/is_intel_win.cpp10
-rw-r--r--src/boost/libs/math/reporting/performance/performance.hpp119
-rw-r--r--src/boost/libs/math/reporting/performance/table_helper.cpp400
-rw-r--r--src/boost/libs/math/reporting/performance/table_helper.hpp325
-rw-r--r--src/boost/libs/math/reporting/performance/test_assoc_laguerre.cpp81
-rw-r--r--src/boost/libs/math/reporting/performance/test_assoc_legendre.cpp80
-rw-r--r--src/boost/libs/math/reporting/performance/test_beta.cpp92
-rw-r--r--src/boost/libs/math/reporting/performance/test_beta_inc.cpp81
-rw-r--r--src/boost/libs/math/reporting/performance/test_cbrt.cpp81
-rw-r--r--src/boost/libs/math/reporting/performance/test_cn.cpp135
-rw-r--r--src/boost/libs/math/reporting/performance/test_digamma.cpp100
-rw-r--r--src/boost/libs/math/reporting/performance/test_distributions.cpp750
-rw-r--r--src/boost/libs/math/reporting/performance/test_dn.cpp135
-rw-r--r--src/boost/libs/math/reporting/performance/test_ellint_1.cpp102
-rw-r--r--src/boost/libs/math/reporting/performance/test_ellint_1c.cpp92
-rw-r--r--src/boost/libs/math/reporting/performance/test_ellint_2.cpp93
-rw-r--r--src/boost/libs/math/reporting/performance/test_ellint_2c.cpp93
-rw-r--r--src/boost/libs/math/reporting/performance/test_ellint_3.cpp162
-rw-r--r--src/boost/libs/math/reporting/performance/test_ellint_3c.cpp80
-rw-r--r--src/boost/libs/math/reporting/performance/test_ellint_rc.cpp72
-rw-r--r--src/boost/libs/math/reporting/performance/test_ellint_rd.cpp82
-rw-r--r--src/boost/libs/math/reporting/performance/test_ellint_rf.cpp80
-rw-r--r--src/boost/libs/math/reporting/performance/test_ellint_rj.cpp80
-rw-r--r--src/boost/libs/math/reporting/performance/test_erf.cpp89
-rw-r--r--src/boost/libs/math/reporting/performance/test_erfc.cpp91
-rw-r--r--src/boost/libs/math/reporting/performance/test_expint.cpp82
-rw-r--r--src/boost/libs/math/reporting/performance/test_expint_n.cpp76
-rw-r--r--src/boost/libs/math/reporting/performance/test_expm1.cpp78
-rw-r--r--src/boost/libs/math/reporting/performance/test_gamma_p.cpp86
-rw-r--r--src/boost/libs/math/reporting/performance/test_gamma_p_inv.cpp78
-rw-r--r--src/boost/libs/math/reporting/performance/test_gamma_q.cpp90
-rw-r--r--src/boost/libs/math/reporting/performance/test_gamma_q_inv.cpp78
-rw-r--r--src/boost/libs/math/reporting/performance/test_gcd.cpp478
-rw-r--r--src/boost/libs/math/reporting/performance/test_ibeta.cpp81
-rw-r--r--src/boost/libs/math/reporting/performance/test_ibeta_inv.cpp79
-rw-r--r--src/boost/libs/math/reporting/performance/test_ibetac.cpp81
-rw-r--r--src/boost/libs/math/reporting/performance/test_ibetac_inv.cpp75
-rw-r--r--src/boost/libs/math/reporting/performance/test_igamma.cpp78
-rw-r--r--src/boost/libs/math/reporting/performance/test_in.cpp127
-rw-r--r--src/boost/libs/math/reporting/performance/test_iv.cpp113
-rw-r--r--src/boost/libs/math/reporting/performance/test_jn.cpp168
-rw-r--r--src/boost/libs/math/reporting/performance/test_js.cpp80
-rw-r--r--src/boost/libs/math/reporting/performance/test_jv.cpp119
-rw-r--r--src/boost/libs/math/reporting/performance/test_kn.cpp123
-rw-r--r--src/boost/libs/math/reporting/performance/test_kv.cpp114
-rw-r--r--src/boost/libs/math/reporting/performance/test_laguerre.cpp81
-rw-r--r--src/boost/libs/math/reporting/performance/test_legendre.cpp82
-rw-r--r--src/boost/libs/math/reporting/performance/test_legendre_q.cpp74
-rw-r--r--src/boost/libs/math/reporting/performance/test_lgamma.cpp98
-rw-r--r--src/boost/libs/math/reporting/performance/test_log1p.cpp77
-rw-r--r--src/boost/libs/math/reporting/performance/test_poly_method.cpp371
-rw-r--r--src/boost/libs/math/reporting/performance/test_polygamma.cpp221
-rw-r--r--src/boost/libs/math/reporting/performance/test_polynomial.cpp263
-rw-r--r--src/boost/libs/math/reporting/performance/test_sn.cpp135
-rw-r--r--src/boost/libs/math/reporting/performance/test_tgamma.cpp98
-rw-r--r--src/boost/libs/math/reporting/performance/test_trigamma.cpp84
-rw-r--r--src/boost/libs/math/reporting/performance/test_yn.cpp135
-rw-r--r--src/boost/libs/math/reporting/performance/test_ys.cpp80
-rw-r--r--src/boost/libs/math/reporting/performance/test_yv.cpp118
-rw-r--r--src/boost/libs/math/reporting/performance/test_zeta.cpp82
-rw-r--r--src/boost/libs/math/reporting/performance/third_party/dcdflib/readme.txt6
119 files changed, 58811 insertions, 0 deletions
diff --git a/src/boost/libs/math/reporting/accuracy/Jamfile.v2 b/src/boost/libs/math/reporting/accuracy/Jamfile.v2
new file mode 100644
index 000000000..7227a2fed
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/Jamfile.v2
@@ -0,0 +1,161 @@
+# Copyright Daryle Walker, Hubert Holin, John Maddock 2006 - 2007
+# copyright Paul A. Bristow 2006 - 2010
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt.
+# \math_toolkit\libs\math\test\jamfile.v2
+# Runs all math toolkit tests, functions & distributions,
+# and build math examples.
+
+# bring in the rules for testing
+import testing ;
+import modules ;
+import path ;
+import pch ;
+import ../../../config/checks/config : requires ;
+using quickbook ;
+using auto-index ;
+
+project
+ : requirements
+ <include>../../include_private
+ ;
+
+if $(is_unix)
+{
+ local osname = [ SHELL uname ] ;
+
+ switch $(osname)
+ {
+ case "Sun*" : OTHERFLAGS = "-lpthread -lrt" ;
+ case "*BSD*" : OTHERFLAGS = "-lpthread" ;
+ }
+}
+
+#
+# Configuration first:
+#
+lib gsl ;
+lib gslcblas ;
+lib Rmath ;
+obj has_cxx17_cmath : has_cxx17_cmath.cpp ;
+explicit has_cxx17_cmath ;
+obj has_c99_cmath : has_c99_cmath.cpp ;
+explicit has_c99_cmath ;
+exe has_gsl : has_gsl.cpp gsl gslcblas ;
+explicit has_gsl ;
+exe has_rmath : has_rmath.cpp Rmath ;
+explicit has_rmath ;
+
+CEPHES_SOURCE = acosh.c airy.c asin.c asinh.c atan.c atanh.c bdtr.c beta.c
+btdtr.c cbrt.c chbevl.c chdtr.c clog.c cmplx.c const.c
+cosh.c dawsn.c drand.c ei.c ellie.c ellik.c ellpe.c ellpj.c ellpk.c
+exp.c exp10.c exp2.c expn.c expx2.c fabs.c fac.c fdtr.c
+fresnl.c gamma.c gdtr.c hyp2f1.c hyperg.c i0.c i1.c igami.c incbet.c
+incbi.c igam.c isnan.c iv.c j0.c j1.c jn.c jv.c k0.c k1.c kn.c kolmogorov.c
+log.c log2.c log10.c lrand.c nbdtr.c ndtr.c ndtri.c pdtr.c planck.c
+polevl.c polmisc.c polylog.c polyn.c pow.c powi.c psi.c rgamma.c round.c
+shichi.c sici.c sin.c sindg.c sinh.c spence.c stdtr.c struve.c
+tan.c tandg.c tanh.c unity.c yn.c zeta.c zetac.c
+sqrt.c floor.c setprec.c mtherr.c ;
+
+path-constant here : . ;
+make $(here)/third_party/cephes_double/acosh.c : : @check_exists ;
+actions check_exists
+{
+ stat $(<)
+}
+explicit $(here)/third_party/cephes_double/acosh.c ;
+
+lib cephes_double : $(here)/third_party/cephes_double/$(CEPHES_SOURCE)
+ :
+ release
+ <link>static
+ [ check-target-builds $(here)/third_party/cephes_double/acosh.c : : <build>no ]
+ ;
+
+explicit cephes_double ;
+
+rule all-tests {
+ local result ;
+ for local source in [ glob test*.cpp ]
+ {
+ result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/filesystem /boost/test//boost_unit_test_framework
+ : : :
+ [ check-target-builds has_gsl : <define>ALWAYS_TEST_DOUBLE : ]
+ <target-os>linux:<linkflags>-lpthread
+ <target-os>linux:<linkflags>-lrt
+ <toolset>gcc:<linkflags>$(OTHERFLAGS) ]
+ ;
+ result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/filesystem /boost/test//boost_unit_test_framework
+ : : : [ check-target-builds has_cxx17_cmath : <define>TEST_CXX17_CMATH : <build>no ]
+ <target-os>linux:<linkflags>-lpthread
+ <target-os>linux:<linkflags>-lrt
+ <toolset>gcc:<linkflags>$(OTHERFLAGS)
+ : $(source:B)_cxx17_cmath ]
+ ;
+ result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/filesystem /boost/test//boost_unit_test_framework
+ : : : [ check-target-builds has_c99_cmath : <define>TEST_C99 : <build>no ]
+ <target-os>linux:<linkflags>-lpthread
+ <target-os>linux:<linkflags>-lrt
+ <toolset>gcc:<linkflags>$(OTHERFLAGS)
+ : $(source:B)_c99 ]
+ ;
+ result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/filesystem /boost/test//boost_unit_test_framework gsl gslcblas
+ : : : [ check-target-builds has_gsl : <define>TEST_GSL : <build>no ]
+ <target-os>linux:<linkflags>-lpthread
+ <target-os>linux:<linkflags>-lrt
+ <toolset>gcc:<linkflags>$(OTHERFLAGS)
+ : $(source:B)_gsl ]
+ ;
+ result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/filesystem /boost/test//boost_unit_test_framework Rmath
+ : : : [ check-target-builds has_rmath : <define>TEST_RMATH : <build>no ]
+ <target-os>linux:<linkflags>-lpthread
+ <target-os>linux:<linkflags>-lrt
+ <toolset>gcc:<linkflags>$(OTHERFLAGS)
+ : $(source:B)_rmath ]
+ ;
+ result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/filesystem /boost/test//boost_unit_test_framework cephes_double
+ : : : [ check-target-builds $(here)/third_party/cephes_double/acosh.c : <define>TEST_CEPHES <source>cephes_double : <build>no ]
+ <target-os>linux:<linkflags>-lpthread
+ <target-os>linux:<linkflags>-lrt
+ <toolset>gcc:<linkflags>$(OTHERFLAGS)
+ : $(source:B)_cephes ]
+ ;
+ }
+ return $(result) ;
+}
+
+test-suite report_gen : [ all-tests ] ;
+
+path-constant images_location : html ;
+path-constant here : . ;
+
+xml report : doc/report.qbk : <dependency>report_gen ;
+boostbook standalone
+ :
+ report
+ :
+ # Path for links to Boost:
+ <xsl:param>boost.root=../../../../..
+
+ # Some general style settings:
+ <xsl:param>table.footnote.number.format=1
+ <xsl:param>footnote.number.format=1
+ <xsl:param>html.stylesheet=http://www.boost.org/doc/libs/1_58_0/doc/src/boostbook.css
+
+ # HTML options first:
+ # Use graphics not text for navigation:
+ <xsl:param>navig.graphics=1
+ # How far down we chunk nested sections, basically all of them:
+ <xsl:param>chunk.section.depth=0
+ # Don't put the first section on the same page as the TOC:
+ <xsl:param>chunk.first.sections=0
+ # How far down sections get TOC's
+ <xsl:param>toc.section.depth=2
+ # Max depth in each TOC:
+ <xsl:param>toc.max.depth=4
+ # How far down we go with TOC's
+ <xsl:param>generate.section.toc.level=10
+ ;
+
diff --git a/src/boost/libs/math/reporting/accuracy/bindings.hpp b/src/boost/libs/math/reporting/accuracy/bindings.hpp
new file mode 100644
index 000000000..f2d49a034
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/bindings.hpp
@@ -0,0 +1,765 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_MATH_BINDINGS
+#define BOOST_MATH_BINDINGS
+
+#define ERROR_REPORTING_MODE
+#include <stdexcept>
+
+#if TEST_CXX17_CMATH
+
+#include <cmath>
+
+#define TEST_LIBRARY_NAME "<cmath>"
+
+#define LOG1P_FUNCTION_TO_TEST std::log1p
+#define EXPM1_FUNCTION_TO_TEST std::expm1
+
+#define CBRT_FUNCTION_TO_TEST std::cbrt
+#define ERF_FUNCTION_TO_TEST std::erf
+#define ERFC_FUNCTION_TO_TEST std::erfc
+
+#define LGAMMA_FUNCTION_TO_TEST std::lgamma
+#define TGAMMA_FUNCTION_TO_TEST std::tgamma
+
+#define BESSEL_I_FUNCTION_TO_TEST std::cyl_bessel_i
+#define BESSEL_IN_FUNCTION_TO_TEST std::cyl_bessel_i
+#define BESSEL_J_FUNCTION_TO_TEST std::cyl_bessel_j
+#define BESSEL_JN_FUNCTION_TO_TEST std::cyl_bessel_j
+#define BESSEL_JS_FUNCTION_TO_TEST std::sph_bessel
+#define BESSEL_K_FUNCTION_TO_TEST std::cyl_bessel_k
+#define BESSEL_KN_FUNCTION_TO_TEST std::cyl_bessel_k
+#define BESSEL_Y_FUNCTION_TO_TEST std::cyl_neumann
+#define BESSEL_YN_FUNCTION_TO_TEST std::cyl_neumann
+#define BESSEL_YS_FUNCTION_TO_TEST std::sph_neumann
+
+#define BETA_FUNCTION_TO_TEST std::beta
+
+#define ELLINT_1_FUNCTION_TO_TEST std::ellint_1
+#define ELLINT_1C_FUNCTION_TO_TEST std::comp_ellint_1
+#define ELLINT_2_FUNCTION_TO_TEST std::ellint_2
+#define ELLINT_2C_FUNCTION_TO_TEST std::comp_ellint_2
+#define ELLINT_3_FUNCTION_TO_TEST std::ellint_3
+#define ELLINT_3C_FUNCTION_TO_TEST std::comp_ellint_3
+
+#define EI_FUNCTION_TO_TEST std::expint
+
+#define LAGUERRE_FUNCTION_TO_TEST std::laguerre
+#define ASSOC_LAGUERRE_FUNCTION_TO_TEST std::assoc_laguerre
+
+inline long double legendre_p_binder(int i, long double d)
+{
+ if(i < 0)
+ throw std::domain_error("order parameters less than 0 not supported in TR1");
+ return std::legendre(i, d);
+}
+inline long double assoc_legendre_p_binder(int i, int j, long double d)
+{
+ if((i < 0) || (j < 0))
+ throw std::domain_error("order parameters less than 0 not supported in TR1");
+ return std::assoc_legendre(i, j, d);
+}
+
+#define LEGENDRE_P_FUNCTION_TO_TEST legendre_p_binder
+#define LEGENDRE_PA_FUNCTION_TO_TEST assoc_legendre_p_binder
+#define ZETA_FUNCTION_TO_TEST std::riemann_zeta
+
+#define TYPE_TO_TEST long double
+
+#elif defined(TEST_C99)
+
+#include <math.h>
+
+#define TEST_LIBRARY_NAME "<math.h>"
+
+#ifdef _MSC_VER
+
+#define LOG1P_FUNCTION_TO_TEST ::log1p
+#define EXPM1_FUNCTION_TO_TEST ::expm1
+
+#define CBRT_FUNCTION_TO_TEST ::cbrt
+#define ERF_FUNCTION_TO_TEST ::erf
+#define ERFC_FUNCTION_TO_TEST ::erfc
+
+#define LGAMMA_FUNCTION_TO_TEST ::lgamma
+#define TGAMMA_FUNCTION_TO_TEST ::tgamma
+#define BESSEL_JN_FUNCTION_TO_TEST ::jn
+#define BESSEL_YN_FUNCTION_TO_TEST ::yn
+
+#define TYPE_TO_TEST double
+
+#else
+
+#define LOG1P_FUNCTION_TO_TEST ::log1pl
+#define EXPM1_FUNCTION_TO_TEST ::expm1l
+
+#define CBRT_FUNCTION_TO_TEST ::cbrtl
+#define ERF_FUNCTION_TO_TEST ::erfl
+#define ERFC_FUNCTION_TO_TEST ::erfcl
+
+#define LGAMMA_FUNCTION_TO_TEST ::lgammal
+#define TGAMMA_FUNCTION_TO_TEST ::tgammal
+//#define BESSEL_JN_FUNCTION_TO_TEST ::jnl
+//#define BESSEL_JN_FUNCTION_TO_TEST ::ynl
+
+#define TYPE_TO_TEST long double
+#endif
+
+#elif defined(TEST_GSL)
+
+#include <stdexcept>
+
+#include <gsl/gsl_sf.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_version.h>
+
+#define TEST_LIBRARY_NAME "GSL " GSL_VERSION
+
+void gsl_handler(const char * reason, const char * file, int line, int gsl_errno)
+{
+ if(gsl_errno == GSL_ERANGE) return; // handle zero or infinity in our test code.
+ throw std::domain_error(reason);
+}
+
+struct gsl_error_handler_setter
+{
+ gsl_error_handler_t * old_handler;
+ gsl_error_handler_setter()
+ {
+ old_handler = gsl_set_error_handler(gsl_handler);
+ }
+ ~gsl_error_handler_setter()
+ {
+ gsl_set_error_handler(old_handler);
+ }
+};
+
+static const gsl_error_handler_setter handler;
+
+inline double gsl_bessel_ys(unsigned i, double d)
+{
+ return gsl_sf_bessel_yl(i, d);
+}
+
+inline double gsl_bessel_js(unsigned i, double d)
+{
+ return gsl_sf_bessel_jl(i, d);
+}
+
+//#define CBRT_FUNCTION_TO_TEST boost::cbrt
+#define ERF_FUNCTION_TO_TEST gsl_sf_erf
+#define ERFC_FUNCTION_TO_TEST gsl_sf_erfc
+//#define ERF_INV_FUNCTION_TO_TEST boost::math::erf_inv
+//#define ERFC_INV_FUNCTION_TO_TEST boost::math::erfc_inv
+
+#define LGAMMA_FUNCTION_TO_TEST gsl_sf_lngamma
+#define TGAMMA_FUNCTION_TO_TEST gsl_sf_gamma
+//#define TGAMMA1PM1_FUNCTION_TO_TEST boost::math::tgamma1pm1
+
+#define BESSEL_I_FUNCTION_TO_TEST gsl_sf_bessel_Inu
+#define BESSEL_IN_FUNCTION_TO_TEST gsl_sf_bessel_In
+//#define BESSEL_IP_FUNCTION_TO_TEST boost::math::cyl_bessel_i_prime
+//#define BESSEL_IPN_FUNCTION_TO_TEST boost::math::cyl_bessel_i_prime
+#define BESSEL_J_FUNCTION_TO_TEST gsl_sf_bessel_Jnu
+#define BESSEL_JN_FUNCTION_TO_TEST gsl_sf_bessel_Jn
+#define BESSEL_JS_FUNCTION_TO_TEST gsl_bessel_js
+//#define BESSEL_JP_FUNCTION_TO_TEST boost::math::cyl_bessel_j_prime
+//#define BESSEL_JPN_FUNCTION_TO_TEST boost::math::cyl_bessel_j_prime
+//#define BESSEL_JPS_FUNCTION_TO_TEST boost::math::sph_bessel_prime
+#define BESSEL_K_FUNCTION_TO_TEST gsl_sf_bessel_Knu
+#define BESSEL_KN_FUNCTION_TO_TEST gsl_sf_bessel_Kn
+//#define BESSEL_KP_FUNCTION_TO_TEST boost::math::cyl_bessel_k_prime
+//#define BESSEL_KPN_FUNCTION_TO_TEST boost::math::cyl_bessel_k_prime
+#define BESSEL_Y_FUNCTION_TO_TEST gsl_sf_bessel_Ynu
+#define BESSEL_YN_FUNCTION_TO_TEST gsl_sf_bessel_Yn
+#define BESSEL_YS_FUNCTION_TO_TEST gsl_bessel_ys
+//#define BESSEL_YP_FUNCTION_TO_TEST boost::math::cyl_neumann_prime
+//#define BESSEL_YNP_FUNCTION_TO_TEST boost::math::cyl_neumann_prime
+//#define BESSEL_YSP_FUNCTION_TO_TEST boost::math::sph_neumann_prime
+
+#define BETA_FUNCTION_TO_TEST gsl_sf_beta
+//#define BINOMIAL_FUNCTION_TO_TEST boost::math::binomial_coefficient<T>
+
+inline double RC(double a, double b)
+{
+ return gsl_sf_ellint_RC(a, b, GSL_PREC_DOUBLE);
+}
+inline double RD(double a, double b, double c)
+{
+ return gsl_sf_ellint_RD(a, b, c, GSL_PREC_DOUBLE);
+}
+inline double RF(double a, double b, double c)
+{
+ return gsl_sf_ellint_RF(a, b, c, GSL_PREC_DOUBLE);
+}
+inline double RJ(double a, double b, double c, double d)
+{
+ return gsl_sf_ellint_RJ(a, b, c, d, GSL_PREC_DOUBLE);
+}
+
+
+#define ELLINT_RC_FUNCTION_TO_TEST RC
+#define ELLINT_RD_FUNCTION_TO_TEST RD
+#define ELLINT_RF_FUNCTION_TO_TEST RF
+//#define ELLINT_RG_FUNCTION_TO_TEST boost::math::ellint_rg
+#define ELLINT_RJ_FUNCTION_TO_TEST RJ
+
+#define DIGAMMA_FUNCTION_TO_TEST gsl_sf_psi
+
+inline double ellintK(double a) { return gsl_sf_ellint_Kcomp(a, GSL_PREC_DOUBLE); }
+inline double ellintE(double a) { return gsl_sf_ellint_Ecomp(a, GSL_PREC_DOUBLE); }
+inline double ellintP(double a, double b) { return gsl_sf_ellint_Pcomp(a, -b, GSL_PREC_DOUBLE); }
+
+inline double ellintF(double a, double b) { return gsl_sf_ellint_F(b, a, GSL_PREC_DOUBLE); }
+inline double ellintE2(double a, double b) { return gsl_sf_ellint_E(b, a, GSL_PREC_DOUBLE); }
+inline double ellintP3(double a, double b, double c) { return gsl_sf_ellint_P(c, a, -b, GSL_PREC_DOUBLE); }
+inline double ellintD2(double a, double b) { return gsl_sf_ellint_D(b, a, GSL_PREC_DOUBLE); }
+
+#define ELLINT_1_FUNCTION_TO_TEST ellintF
+#define ELLINT_1C_FUNCTION_TO_TEST ellintK
+#define ELLINT_2_FUNCTION_TO_TEST ellintE2
+#define ELLINT_2C_FUNCTION_TO_TEST ellintE
+#define ELLINT_3_FUNCTION_TO_TEST ellintP3
+#define ELLINT_3C_FUNCTION_TO_TEST ellintP
+#define ELLINT_D2_FUNCTION_TO_TEST ellintD2
+//#define ELLINT_D1_FUNCTION_TO_TEST boost::math::ellint_d
+
+#define EI_FUNCTION_TO_TEST gsl_sf_expint_Ei
+#define EN_FUNCTION_TO_TEST gsl_sf_expint_En
+
+//#define HERMITE_FUNCTION_TO_TEST boost::math::hermite
+//#define HEUMAN_LAMBDA_FUNCTION_TO_TEST boost::math::heuman_lambda
+
+//#define BETA_INC_FUNCTION_TO_TEST boost::math::beta
+//#define BETAC_INC_FUNCTION_TO_TEST boost::math::betac
+#define IBETA_FUNCTION_TO_TEST gsl_sf_beta_inc
+//#define IBETAC_FUNCTION_TO_TEST boost::math::ibetac
+//#define IBETA_INV_FUNCTION_TO_TEST boost::math::ibeta_inv
+//#define IBETAC_INV_FUNCTION_TO_TEST boost::math::ibetac_inv
+//#define IBETA_INVA_FUNCTION_TO_TEST boost::math::ibeta_inva
+//#define IBETAC_INVA_FUNCTION_TO_TEST boost::math::ibetac_inva
+//#define IBETA_INVB_FUNCTION_TO_TEST boost::math::ibeta_invb
+//#define IBETAC_INVB_FUNCTION_TO_TEST boost::math::ibetac_invb
+
+#define IGAMMA_FUNCTION_TO_TEST gsl_sf_gamma_inc
+//#define IGAMMAL_FUNCTION_TO_TEST boost::math::tgamma_lower
+#define GAMMAP_FUNCTION_TO_TEST gsl_sf_gamma_inc_P
+#define GAMMAQ_FUNCTION_TO_TEST gsl_sf_gamma_inc_Q
+//#define GAMMAP_INV_FUNCTION_TO_TEST boost::math::gamma_p_inv
+//#define GAMMAQ_INV_FUNCTION_TO_TEST boost::math::gamma_q_inv
+//#define GAMMAP_INVA_FUNCTION_TO_TEST boost::math::gamma_p_inva
+//#define GAMMAQ_INVA_FUNCTION_TO_TEST boost::math::gamma_q_inva
+
+inline double sn(double k, double u)
+{
+ double s, c, d;
+ gsl_sf_elljac_e(u, k * k, &s, &c, &d);
+ return s;
+}
+inline double cn(double k, double u)
+{
+ double s, c, d;
+ gsl_sf_elljac_e(u, k * k, &s, &c, &d);
+ return c;
+}
+inline double dn(double k, double u)
+{
+ double s, c, d;
+ gsl_sf_elljac_e(u, k * k, &s, &c, &d);
+ return d;
+}
+
+#define SN_FUNCTION_TO_TEST sn
+#define CN_FUNCTION_TO_TEST cn
+#define DN_FUNCTION_TO_TEST dn
+//#define JACOBI_ZETA_FUNCTION_TO_TEST boost::math::jacobi_zeta
+
+inline double laguerre(unsigned n, unsigned m, double x){ return gsl_sf_laguerre_n(n, m, x); }
+inline double laguerre_0(unsigned n, double x){ return gsl_sf_laguerre_n(n, 0, x); }
+
+#define LAGUERRE_FUNCTION_TO_TEST laguerre_0
+#define ASSOC_LAGUERRE_FUNCTION_TO_TEST laguerre
+
+inline double legendre_q(unsigned n, double x) { return gsl_sf_legendre_Ql(n, x); }
+
+#define LEGENDRE_P_FUNCTION_TO_TEST gsl_sf_legendre_Pl
+#define LEGENDRE_Q_FUNCTION_TO_TEST legendre_q
+#define LEGENDRE_PA_FUNCTION_TO_TEST gsl_sf_legendre_Plm
+
+#define POLYGAMMA_FUNCTION_TO_TEST gsl_sf_psi_n
+//#define TGAMMA_RATIO_FUNCTION_TO_TEST boost::math::tgamma_ratio
+//#define TGAMMA_DELTA_RATIO_FUNCTION_TO_TEST boost::math::tgamma_delta_ratio
+//#define SIN_PI_RATIO_FUNCTION_TO_TEST boost::math::sin_pi
+//#define COS_PI_RATIO_FUNCTION_TO_TEST boost::math::cos_pi
+#define TRIGAMMA_RATIO_FUNCTION_TO_TEST gsl_sf_psi_1
+#define ZETA_FUNCTION_TO_TEST gsl_sf_zeta
+
+#define TYPE_TO_TEST double
+
+#elif defined(TEST_RMATH)
+
+#define MATHLIB_STANDALONE
+#include <Rmath.h>
+
+#undef trunc
+
+#define TEST_LIBRARY_NAME "Rmath " R_VERSION_STRING
+
+#define LOG1P_FUNCTION_TO_TEST log1p
+#define EXPM1_FUNCTION_TO_TEST expm1
+
+//#define CBRT_FUNCTION_TO_TEST boost::math::cbrt
+//#define ERF_FUNCTION_TO_TEST boost::math::erf
+//#define ERFC_FUNCTION_TO_TEST boost::math::erfc
+//#define ERF_INV_FUNCTION_TO_TEST boost::math::erf_inv
+//#define ERFC_INV_FUNCTION_TO_TEST boost::math::erfc_inv
+
+#define LGAMMA_FUNCTION_TO_TEST lgammafn
+#define TGAMMA_FUNCTION_TO_TEST gammafn
+//#define TGAMMA1PM1_FUNCTION_TO_TEST boost::math::tgamma1pm1
+
+inline double I(double n, double x)
+{
+ if (x < 0)
+ throw std::domain_error("Unsupported domain");
+ return bessel_i(x, n, 1);
+}
+inline double K(double n, double x) { return bessel_k(x, n, 1); }
+inline double J(double n, double x)
+{
+ if (x < 0)
+ throw std::domain_error("Unsupported domain");
+ return bessel_j(x, n);
+}
+inline double Y(double n, double x) { return bessel_y(x, n); }
+
+#define BESSEL_I_FUNCTION_TO_TEST I
+#define BESSEL_IN_FUNCTION_TO_TEST I
+//#define BESSEL_IP_FUNCTION_TO_TEST boost::math::cyl_bessel_i_prime
+//#define BESSEL_IPN_FUNCTION_TO_TEST boost::math::cyl_bessel_i_prime
+#define BESSEL_J_FUNCTION_TO_TEST J
+#define BESSEL_JN_FUNCTION_TO_TEST J
+//#define BESSEL_JS_FUNCTION_TO_TEST boost::math::sph_bessel
+//#define BESSEL_JP_FUNCTION_TO_TEST boost::math::cyl_bessel_j_prime
+//#define BESSEL_JPN_FUNCTION_TO_TEST boost::math::cyl_bessel_j_prime
+//#define BESSEL_JPS_FUNCTION_TO_TEST boost::math::sph_bessel_prime
+#define BESSEL_K_FUNCTION_TO_TEST K
+#define BESSEL_KN_FUNCTION_TO_TEST K
+//#define BESSEL_KP_FUNCTION_TO_TEST boost::math::cyl_bessel_k_prime
+//#define BESSEL_KPN_FUNCTION_TO_TEST boost::math::cyl_bessel_k_prime
+#define BESSEL_Y_FUNCTION_TO_TEST Y
+#define BESSEL_YN_FUNCTION_TO_TEST Y
+//#define BESSEL_YS_FUNCTION_TO_TEST boost::math::sph_neumann
+//#define BESSEL_YP_FUNCTION_TO_TEST boost::math::cyl_neumann_prime
+//#define BESSEL_YNP_FUNCTION_TO_TEST boost::math::cyl_neumann_prime
+//#define BESSEL_YSP_FUNCTION_TO_TEST boost::math::sph_neumann_prime
+
+#define BETA_FUNCTION_TO_TEST beta
+//#define BINOMIAL_FUNCTION_TO_TEST boost::math::binomial_coefficient<T>
+
+//#define ELLINT_RC_FUNCTION_TO_TEST boost::math::ellint_rc
+//#define ELLINT_RD_FUNCTION_TO_TEST boost::math::ellint_rd
+//#define ELLINT_RF_FUNCTION_TO_TEST boost::math::ellint_rf
+//#define ELLINT_RG_FUNCTION_TO_TEST boost::math::ellint_rg
+//#define ELLINT_RJ_FUNCTION_TO_TEST boost::math::ellint_rj
+
+#define DIGAMMA_FUNCTION_TO_TEST digamma
+
+//#define ELLINT_1_FUNCTION_TO_TEST boost::math::ellint_1
+//#define ELLINT_1C_FUNCTION_TO_TEST boost::math::ellint_1
+//#define ELLINT_2_FUNCTION_TO_TEST boost::math::ellint_2
+//#define ELLINT_2C_FUNCTION_TO_TEST boost::math::ellint_2
+//#define ELLINT_3_FUNCTION_TO_TEST boost::math::ellint_3
+//#define ELLINT_3C_FUNCTION_TO_TEST boost::math::ellint_3
+//#define ELLINT_D2_FUNCTION_TO_TEST boost::math::ellint_d
+//#define ELLINT_D1_FUNCTION_TO_TEST boost::math::ellint_d
+
+//#define EI_FUNCTION_TO_TEST boost::math::expint
+//#define EN_FUNCTION_TO_TEST boost::math::expint
+
+//#define HERMITE_FUNCTION_TO_TEST boost::math::hermite
+//#define HEUMAN_LAMBDA_FUNCTION_TO_TEST boost::math::heuman_lambda
+
+inline double ibeta(double a, double b, double x) { return pbeta(x, a, b, 1, 0); }
+inline double ibetac(double a, double b, double x) { return pbeta(x, a, b, 0, 0); }
+inline double ibeta_inv(double a, double b, double x) { return qbeta(x, a, b, 1, 0); }
+inline double ibetac_inv(double a, double b, double x) { return qbeta(x, a, b, 0, 0); }
+
+//#define BETA_INC_FUNCTION_TO_TEST boost::math::beta
+//#define BETAC_INC_FUNCTION_TO_TEST boost::math::betac
+#define IBETA_FUNCTION_TO_TEST ibeta
+#define IBETAC_FUNCTION_TO_TEST ibetac
+#define IBETA_INV_FUNCTION_TO_TEST ibeta_inv
+#define IBETAC_INV_FUNCTION_TO_TEST ibetac_inv
+//#define IBETA_INVA_FUNCTION_TO_TEST boost::math::ibeta_inva
+//#define IBETAC_INVA_FUNCTION_TO_TEST boost::math::ibetac_inva
+//#define IBETA_INVB_FUNCTION_TO_TEST boost::math::ibeta_invb
+//#define IBETAC_INVB_FUNCTION_TO_TEST boost::math::ibetac_invb
+
+inline double gamma_p(double a, double x) { return pgamma(x, a, 1.0, 1, 0); }
+inline double gamma_q(double a, double x) { return pgamma(x, a, 1.0, 0, 0); }
+inline double gamma_p_inv(double a, double x) { return qgamma(x, a, 1.0, 1, 0); }
+inline double gamma_q_inv(double a, double x) { return qgamma(x, a, 1.0, 0, 0); }
+
+//#define IGAMMA_FUNCTION_TO_TEST boost::math::tgamma
+//#define IGAMMAL_FUNCTION_TO_TEST boost::math::tgamma_lower
+#define GAMMAP_FUNCTION_TO_TEST gamma_p
+#define GAMMAQ_FUNCTION_TO_TEST gamma_q
+#define GAMMAP_INV_FUNCTION_TO_TEST gamma_p_inv
+#define GAMMAQ_INV_FUNCTION_TO_TEST gamma_q_inv
+//#define GAMMAP_INVA_FUNCTION_TO_TEST boost::math::gamma_p_inva
+//#define GAMMAQ_INVA_FUNCTION_TO_TEST boost::math::gamma_q_inva
+
+//#define SN_FUNCTION_TO_TEST boost::math::jacobi_sn
+//#define CN_FUNCTION_TO_TEST boost::math::jacobi_cn
+//#define DN_FUNCTION_TO_TEST boost::math::jacobi_dn
+//#define JACOBI_ZETA_FUNCTION_TO_TEST boost::math::jacobi_zeta
+
+//#define LAGUERRE_FUNCTION_TO_TEST boost::math::laguerre
+//#define ASSOC_LAGUERRE_FUNCTION_TO_TEST boost::math::laguerre
+
+//#define LEGENDRE_P_FUNCTION_TO_TEST boost::math::legendre_p
+//#define LEGENDRE_Q_FUNCTION_TO_TEST boost::math::legendre_q
+//#define LEGENDRE_PA_FUNCTION_TO_TEST boost::math::legendre_p
+
+inline double polygamma(int n, double x)
+{
+ if (x < 0)
+ throw std::domain_error("Outside supported domain");
+ return psigamma(x, n);
+}
+
+#define POLYGAMMA_FUNCTION_TO_TEST polygamma
+//#define TGAMMA_RATIO_FUNCTION_TO_TEST boost::math::tgamma_ratio
+//#define TGAMMA_DELTA_RATIO_FUNCTION_TO_TEST boost::math::tgamma_delta_ratio
+//#define SIN_PI_RATIO_FUNCTION_TO_TEST sinpi
+//#define COS_PI_RATIO_FUNCTION_TO_TEST cospi
+#define TRIGAMMA_RATIO_FUNCTION_TO_TEST trigamma
+//#define ZETA_FUNCTION_TO_TEST boost::math::zeta
+
+//#define SQRT1PM1_FUNCTION_TO_TEST boost::math::sqrt1pm1
+//#define POWM1_FUNCTION_TO_TEST boost::math::powm1
+//#define OWENS_T_FUNCTION_TO_TEST boost::math::owens_t
+//#define SPHERICAL_HARMONIC_R_FUNCTION_TO_TEST boost::math::spherical_harmonic_r
+//#define SPHERICAL_HARMONIC_I_FUNCTION_TO_TEST boost::math::spherical_harmonic_i
+
+template <class T> T do_nc_beta_cdf(T a, T b, T nc, T x){ return pnbeta(x, a, b, nc, 1, 0); }
+template <class T> T do_nc_beta_ccdf(T a, T b, T nc, T x){ return pnbeta(x, a, b, nc, 0, 0); }
+template <class T> T do_nc_chi_squared_cdf(T df, T nc, T x){ return pnchisq(x, df, nc, 1, 0); }
+template <class T> T do_nc_chi_squared_ccdf(T df, T nc, T x){ return pnchisq(x, df, nc, 0, 0); }
+template <class T> T do_nc_t_cdf(T df, T nc, T x){ return pnt(x, df, nc, 1, 0); }
+template <class T> T do_nc_t_ccdf(T df, T nc, T x){ return pnt(x, df, nc, 0, 0); }
+
+#define NC_BETA_CDF_FUNCTION_TO_TEST do_nc_beta_cdf
+#define NC_BETA_CCDF_FUNCTION_TO_TEST do_nc_beta_ccdf
+#define NC_CHI_SQUARED_CDF_FUNCTION_TO_TEST do_nc_chi_squared_cdf
+#define NC_CHI_SQUARED_CCDF_FUNCTION_TO_TEST do_nc_chi_squared_ccdf
+#define NC_T_CDF_FUNCTION_TO_TEST do_nc_t_cdf
+#define NC_T_CCDF_FUNCTION_TO_TEST do_nc_t_ccdf
+
+#define TYPE_TO_TEST double
+
+#elif defined(TEST_CEPHES)
+
+#define TEST_LIBRARY_NAME "Cephes"
+#define TYPE_TO_TEST double
+
+extern "C" {
+
+ double log1p(double) throw();
+ double expm1(double) throw();
+ double cbrt(double) throw();
+ double erf(double) throw();
+ double erfc(double) throw();
+ double gamma(double) throw();
+ double lgam(double) throw();
+
+ double iv(double, double) throw();
+ double jv(double, double) throw();
+ double jn(int, double) throw();
+ double kn(int, double) throw();
+ double yn(int, double) throw();
+
+ double beta(double, double)throw();
+ double psi(double);
+
+ double ellik(double, double);
+ double ellpk(double);
+ double ellie(double, double);
+ double ellpe(double);
+
+ double ei(double);
+ // Can't get any sensible values from Cephes expn???
+ //double expn(double, double);
+
+ double incbet(double, double, double);
+ double incbi(double, double, double);
+
+ double igam(double, double);
+ double igamc(double, double);
+ double igami(double, double);
+
+ double ellpj(double u, double m, double *sn, double *cn, double *dn, double *phi);
+
+ double zetac(double);
+
+}
+
+inline double ellint_1(double k, double phi) { return ellik(phi, k * k); }
+inline double ellint_2(double k, double phi) { return ellie(phi, k * k); }
+inline double ellint_1(double k) { return ellpk(k * k); }
+inline double ellint_2(double k) { return ellpe(k * k); }
+
+inline double sn(double k, double u)
+{
+ double sn, cn, dn, phi;
+ ellpj(u, k * k, &sn, &cn, &dn, &phi);
+ return sn;
+}
+inline double cn(double k, double u)
+{
+ double sn, cn, dn, phi;
+ ellpj(u, k * k, &sn, &cn, &dn, &phi);
+ return cn;
+}
+
+inline double dn(double k, double u)
+{
+ double sn, cn, dn, phi;
+ ellpj(u, k * k, &sn, &cn, &dn, &phi);
+ return dn;
+}
+
+#define LOG1P_FUNCTION_TO_TEST log1p
+#define EXPM1_FUNCTION_TO_TEST expm1
+
+#define CBRT_FUNCTION_TO_TEST cbrt
+#define ERF_FUNCTION_TO_TEST erf
+#define ERFC_FUNCTION_TO_TEST erfc
+//#define ERF_INV_FUNCTION_TO_TEST boost::math::erf_inv
+//#define ERFC_INV_FUNCTION_TO_TEST boost::math::erfc_inv
+
+#define LGAMMA_FUNCTION_TO_TEST lgam
+#define TGAMMA_FUNCTION_TO_TEST gamma
+//#define TGAMMA1PM1_FUNCTION_TO_TEST boost::math::tgamma1pm1
+
+#define BESSEL_I_FUNCTION_TO_TEST iv
+#define BESSEL_IN_FUNCTION_TO_TEST iv
+//#define BESSEL_IP_FUNCTION_TO_TEST boost::math::cyl_bessel_i_prime
+//#define BESSEL_IPN_FUNCTION_TO_TEST boost::math::cyl_bessel_i_prime
+#define BESSEL_J_FUNCTION_TO_TEST jv
+#define BESSEL_JN_FUNCTION_TO_TEST jn
+//#define BESSEL_JS_FUNCTION_TO_TEST boost::math::sph_bessel
+//#define BESSEL_JP_FUNCTION_TO_TEST boost::math::cyl_bessel_j_prime
+//#define BESSEL_JPN_FUNCTION_TO_TEST boost::math::cyl_bessel_j_prime
+//#define BESSEL_JPS_FUNCTION_TO_TEST boost::math::sph_bessel_prime
+//#define BESSEL_K_FUNCTION_TO_TEST boost::math::cyl_bessel_k
+#define BESSEL_KN_FUNCTION_TO_TEST kn
+//#define BESSEL_KP_FUNCTION_TO_TEST boost::math::cyl_bessel_k_prime
+//#define BESSEL_KPN_FUNCTION_TO_TEST boost::math::cyl_bessel_k_prime
+//#define BESSEL_Y_FUNCTION_TO_TEST boost::math::cyl_neumann
+#define BESSEL_YN_FUNCTION_TO_TEST yn
+//#define BESSEL_YS_FUNCTION_TO_TEST boost::math::sph_neumann
+//#define BESSEL_YP_FUNCTION_TO_TEST boost::math::cyl_neumann_prime
+//#define BESSEL_YNP_FUNCTION_TO_TEST boost::math::cyl_neumann_prime
+//#define BESSEL_YSP_FUNCTION_TO_TEST boost::math::sph_neumann_prime
+
+#define BETA_FUNCTION_TO_TEST beta
+//#define BINOMIAL_FUNCTION_TO_TEST boost::math::binomial_coefficient<T>
+
+//#define ELLINT_RC_FUNCTION_TO_TEST boost::math::ellint_rc
+//#define ELLINT_RD_FUNCTION_TO_TEST boost::math::ellint_rd
+//#define ELLINT_RF_FUNCTION_TO_TEST boost::math::ellint_rf
+//#define ELLINT_RG_FUNCTION_TO_TEST boost::math::ellint_rg
+//#define ELLINT_RJ_FUNCTION_TO_TEST boost::math::ellint_rj
+
+#define DIGAMMA_FUNCTION_TO_TEST psi
+
+#define ELLINT_1_FUNCTION_TO_TEST ellint_1
+// Can't seem to get sensible answers from Cephes complete elliptic integrals???
+//#define ELLINT_1C_FUNCTION_TO_TEST ellint_1
+#define ELLINT_2_FUNCTION_TO_TEST ellint_2
+//#define ELLINT_2C_FUNCTION_TO_TEST ellint_2
+//#define ELLINT_3_FUNCTION_TO_TEST boost::math::ellint_3
+//#define ELLINT_3C_FUNCTION_TO_TEST boost::math::ellint_3
+//#define ELLINT_D2_FUNCTION_TO_TEST boost::math::ellint_d
+//#define ELLINT_D1_FUNCTION_TO_TEST boost::math::ellint_d
+
+#define EI_FUNCTION_TO_TEST ei
+//#define EN_FUNCTION_TO_TEST expn
+
+//#define HERMITE_FUNCTION_TO_TEST boost::math::hermite
+//#define HEUMAN_LAMBDA_FUNCTION_TO_TEST boost::math::heuman_lambda
+
+//#define BETA_INC_FUNCTION_TO_TEST incbet
+//#define BETAC_INC_FUNCTION_TO_TEST boost::math::betac
+#define IBETA_FUNCTION_TO_TEST incbet
+//#define IBETAC_FUNCTION_TO_TEST boost::math::ibetac
+#define IBETA_INV_FUNCTION_TO_TEST incbi
+//#define IBETAC_INV_FUNCTION_TO_TEST boost::math::ibetac_inv
+//#define IBETA_INVA_FUNCTION_TO_TEST boost::math::ibeta_inva
+//#define IBETAC_INVA_FUNCTION_TO_TEST boost::math::ibetac_inva
+//#define IBETA_INVB_FUNCTION_TO_TEST boost::math::ibeta_invb
+//#define IBETAC_INVB_FUNCTION_TO_TEST boost::math::ibetac_invb
+
+//#define IGAMMA_FUNCTION_TO_TEST boost::math::tgamma
+//#define IGAMMAL_FUNCTION_TO_TEST boost::math::tgamma_lower
+#define GAMMAP_FUNCTION_TO_TEST igam
+#define GAMMAQ_FUNCTION_TO_TEST igamc
+//#define GAMMAP_INV_FUNCTION_TO_TEST boost::math::gamma_p_inv
+#define GAMMAQ_INV_FUNCTION_TO_TEST igami
+//#define GAMMAP_INVA_FUNCTION_TO_TEST boost::math::gamma_p_inva
+//#define GAMMAQ_INVA_FUNCTION_TO_TEST boost::math::gamma_q_inva
+
+#define SN_FUNCTION_TO_TEST sn
+#define CN_FUNCTION_TO_TEST cn
+#define DN_FUNCTION_TO_TEST dn
+
+#define ZETA_FUNCTION_TO_TEST zetac
+
+#else
+
+#include <boost/math/distributions/non_central_beta.hpp>
+#include <boost/math/distributions/non_central_chi_squared.hpp>
+#include <boost/math/distributions/non_central_t.hpp>
+
+#define TEST_LIBRARY_NAME "boost"
+
+#define LOG1P_FUNCTION_TO_TEST boost::math::log1p
+#define EXPM1_FUNCTION_TO_TEST boost::math::expm1
+
+#define CBRT_FUNCTION_TO_TEST boost::math::cbrt
+#define ERF_FUNCTION_TO_TEST boost::math::erf
+#define ERFC_FUNCTION_TO_TEST boost::math::erfc
+#define ERF_INV_FUNCTION_TO_TEST boost::math::erf_inv
+#define ERFC_INV_FUNCTION_TO_TEST boost::math::erfc_inv
+
+#define LGAMMA_FUNCTION_TO_TEST boost::math::lgamma
+#define TGAMMA_FUNCTION_TO_TEST boost::math::tgamma
+#define TGAMMA1PM1_FUNCTION_TO_TEST boost::math::tgamma1pm1
+
+#define BESSEL_I_FUNCTION_TO_TEST boost::math::cyl_bessel_i
+#define BESSEL_IN_FUNCTION_TO_TEST boost::math::cyl_bessel_i
+#define BESSEL_IP_FUNCTION_TO_TEST boost::math::cyl_bessel_i_prime
+#define BESSEL_IPN_FUNCTION_TO_TEST boost::math::cyl_bessel_i_prime
+#define BESSEL_J_FUNCTION_TO_TEST boost::math::cyl_bessel_j
+#define BESSEL_JN_FUNCTION_TO_TEST boost::math::cyl_bessel_j
+#define BESSEL_JS_FUNCTION_TO_TEST boost::math::sph_bessel
+#define BESSEL_JP_FUNCTION_TO_TEST boost::math::cyl_bessel_j_prime
+#define BESSEL_JPN_FUNCTION_TO_TEST boost::math::cyl_bessel_j_prime
+#define BESSEL_JPS_FUNCTION_TO_TEST boost::math::sph_bessel_prime
+#define BESSEL_K_FUNCTION_TO_TEST boost::math::cyl_bessel_k
+#define BESSEL_KN_FUNCTION_TO_TEST boost::math::cyl_bessel_k
+#define BESSEL_KP_FUNCTION_TO_TEST boost::math::cyl_bessel_k_prime
+#define BESSEL_KPN_FUNCTION_TO_TEST boost::math::cyl_bessel_k_prime
+#define BESSEL_Y_FUNCTION_TO_TEST boost::math::cyl_neumann
+#define BESSEL_YN_FUNCTION_TO_TEST boost::math::cyl_neumann
+#define BESSEL_YS_FUNCTION_TO_TEST boost::math::sph_neumann
+#define BESSEL_YP_FUNCTION_TO_TEST boost::math::cyl_neumann_prime
+#define BESSEL_YNP_FUNCTION_TO_TEST boost::math::cyl_neumann_prime
+#define BESSEL_YSP_FUNCTION_TO_TEST boost::math::sph_neumann_prime
+
+#define BETA_FUNCTION_TO_TEST boost::math::beta
+#define BINOMIAL_FUNCTION_TO_TEST boost::math::binomial_coefficient<T>
+
+#define ELLINT_RC_FUNCTION_TO_TEST boost::math::ellint_rc
+#define ELLINT_RD_FUNCTION_TO_TEST boost::math::ellint_rd
+#define ELLINT_RF_FUNCTION_TO_TEST boost::math::ellint_rf
+#define ELLINT_RG_FUNCTION_TO_TEST boost::math::ellint_rg
+#define ELLINT_RJ_FUNCTION_TO_TEST boost::math::ellint_rj
+
+#define DIGAMMA_FUNCTION_TO_TEST boost::math::digamma
+
+#define ELLINT_1_FUNCTION_TO_TEST boost::math::ellint_1
+#define ELLINT_1C_FUNCTION_TO_TEST boost::math::ellint_1
+#define ELLINT_2_FUNCTION_TO_TEST boost::math::ellint_2
+#define ELLINT_2C_FUNCTION_TO_TEST boost::math::ellint_2
+#define ELLINT_3_FUNCTION_TO_TEST boost::math::ellint_3
+#define ELLINT_3C_FUNCTION_TO_TEST boost::math::ellint_3
+#define ELLINT_D2_FUNCTION_TO_TEST boost::math::ellint_d
+#define ELLINT_D1_FUNCTION_TO_TEST boost::math::ellint_d
+
+#define EI_FUNCTION_TO_TEST boost::math::expint
+#define EN_FUNCTION_TO_TEST boost::math::expint
+
+#define HERMITE_FUNCTION_TO_TEST boost::math::hermite
+#define HEUMAN_LAMBDA_FUNCTION_TO_TEST boost::math::heuman_lambda
+
+#define BETA_INC_FUNCTION_TO_TEST boost::math::beta
+#define BETAC_INC_FUNCTION_TO_TEST boost::math::betac
+#define IBETA_FUNCTION_TO_TEST boost::math::ibeta
+#define IBETAC_FUNCTION_TO_TEST boost::math::ibetac
+#define IBETA_INV_FUNCTION_TO_TEST boost::math::ibeta_inv
+#define IBETAC_INV_FUNCTION_TO_TEST boost::math::ibetac_inv
+#define IBETA_INVA_FUNCTION_TO_TEST boost::math::ibeta_inva
+#define IBETAC_INVA_FUNCTION_TO_TEST boost::math::ibetac_inva
+#define IBETA_INVB_FUNCTION_TO_TEST boost::math::ibeta_invb
+#define IBETAC_INVB_FUNCTION_TO_TEST boost::math::ibetac_invb
+
+#define IGAMMA_FUNCTION_TO_TEST boost::math::tgamma
+#define IGAMMAL_FUNCTION_TO_TEST boost::math::tgamma_lower
+#define GAMMAP_FUNCTION_TO_TEST boost::math::gamma_p
+#define GAMMAQ_FUNCTION_TO_TEST boost::math::gamma_q
+#define GAMMAP_INV_FUNCTION_TO_TEST boost::math::gamma_p_inv
+#define GAMMAQ_INV_FUNCTION_TO_TEST boost::math::gamma_q_inv
+#define GAMMAP_INVA_FUNCTION_TO_TEST boost::math::gamma_p_inva
+#define GAMMAQ_INVA_FUNCTION_TO_TEST boost::math::gamma_q_inva
+
+#define SN_FUNCTION_TO_TEST boost::math::jacobi_sn
+#define CN_FUNCTION_TO_TEST boost::math::jacobi_cn
+#define DN_FUNCTION_TO_TEST boost::math::jacobi_dn
+#define JACOBI_ZETA_FUNCTION_TO_TEST boost::math::jacobi_zeta
+
+#define LAGUERRE_FUNCTION_TO_TEST boost::math::laguerre
+#define ASSOC_LAGUERRE_FUNCTION_TO_TEST boost::math::laguerre
+
+#define LEGENDRE_P_FUNCTION_TO_TEST boost::math::legendre_p
+#define LEGENDRE_Q_FUNCTION_TO_TEST boost::math::legendre_q
+#define LEGENDRE_PA_FUNCTION_TO_TEST boost::math::legendre_p
+
+#define POLYGAMMA_FUNCTION_TO_TEST boost::math::polygamma
+#define TGAMMA_RATIO_FUNCTION_TO_TEST boost::math::tgamma_ratio
+#define TGAMMA_DELTA_RATIO_FUNCTION_TO_TEST boost::math::tgamma_delta_ratio
+#define SIN_PI_RATIO_FUNCTION_TO_TEST boost::math::sin_pi
+#define COS_PI_RATIO_FUNCTION_TO_TEST boost::math::cos_pi
+#define TRIGAMMA_RATIO_FUNCTION_TO_TEST boost::math::trigamma
+#define ZETA_FUNCTION_TO_TEST boost::math::zeta
+
+#define SQRT1PM1_FUNCTION_TO_TEST boost::math::sqrt1pm1
+#define POWM1_FUNCTION_TO_TEST boost::math::powm1
+#define OWENS_T_FUNCTION_TO_TEST boost::math::owens_t
+#define SPHERICAL_HARMONIC_R_FUNCTION_TO_TEST boost::math::spherical_harmonic_r
+#define SPHERICAL_HARMONIC_I_FUNCTION_TO_TEST boost::math::spherical_harmonic_i
+
+template <class T> T do_nc_beta_cdf(T a, T b, T nc, T x){ return cdf(boost::math::non_central_beta_distribution<T>(a, b, nc), x); }
+template <class T> T do_nc_beta_ccdf(T a, T b, T nc, T x){ return cdf(complement(boost::math::non_central_beta_distribution<T>(a, b, nc), x)); }
+template <class T> T do_nc_chi_squared_cdf(T df, T nc, T x){ return cdf(boost::math::non_central_chi_squared_distribution<T>(df, nc), x); }
+template <class T> T do_nc_chi_squared_ccdf(T df, T nc, T x){ return cdf(complement(boost::math::non_central_chi_squared_distribution<T>(df, nc), x)); }
+template <class T> T do_nc_t_cdf(T df, T nc, T x){ return cdf(boost::math::non_central_t_distribution<T>(df, nc), x); }
+template <class T> T do_nc_t_ccdf(T df, T nc, T x){ return cdf(complement(boost::math::non_central_t_distribution<T>(df, nc), x)); }
+
+#define NC_BETA_CDF_FUNCTION_TO_TEST do_nc_beta_cdf
+#define NC_BETA_CCDF_FUNCTION_TO_TEST do_nc_beta_ccdf
+#define NC_CHI_SQUARED_CDF_FUNCTION_TO_TEST do_nc_chi_squared_cdf
+#define NC_CHI_SQUARED_CCDF_FUNCTION_TO_TEST do_nc_chi_squared_ccdf
+#define NC_T_CDF_FUNCTION_TO_TEST do_nc_t_cdf
+#define NC_T_CCDF_FUNCTION_TO_TEST do_nc_t_ccdf
+
+
+#endif
+
+#if defined(TYPE_TO_TEST) && !defined(NAME_OF_TYPE_TO_TEST)
+#define NAME_OF_TYPE_TO_TEST BOOST_STRINGIZE(TYPE_TO_TEST)
+#endif
+
+//
+// This include has to come at the end after all the setup is done:
+//
+#include "handle_test_result.hpp"
+
+
+#endif
+
diff --git a/src/boost/libs/math/reporting/accuracy/handle_test_result.hpp b/src/boost/libs/math/reporting/accuracy/handle_test_result.hpp
new file mode 100644
index 000000000..3410bb150
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/handle_test_result.hpp
@@ -0,0 +1,515 @@
+// (C) Copyright John Maddock 2006-7.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_MATH_HANDLE_TEST_RESULT
+#define BOOST_MATH_HANDLE_TEST_RESULT
+
+#include <boost/math/tools/stats.hpp>
+#include <boost/math/tools/precision.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/regex.hpp>
+#include <boost/test/test_tools.hpp>
+#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
+#include <boost/interprocess/sync/named_mutex.hpp>
+#include <boost/interprocess/sync/scoped_lock.hpp>
+#include <boost/math/special_functions/fpclassify.hpp>
+#include <iostream>
+#include <iomanip>
+#include <vector>
+#include <set>
+
+#include <boost/math/tools/test.hpp>
+
+inline std::string sanitize_string(const std::string& s)
+{
+ static const boost::regex e("[^a-zA-Z0-9]+");
+ return boost::regex_replace(s, e, "_");
+}
+
+static std::string content;
+boost::filesystem::path path_to_content;
+
+struct content_loader
+{
+ boost::interprocess::named_mutex mu;
+ boost::interprocess::scoped_lock<boost::interprocess::named_mutex> lock;
+ content_loader() : mu(boost::interprocess::open_or_create, "handle_test_result"), lock(mu)
+ {
+ boost::filesystem::path p(__FILE__);
+ p = p.parent_path();
+ p /= "doc";
+ p /= "accuracy_tables.qbk";
+ path_to_content = p;
+ if(boost::filesystem::exists(p))
+ {
+ boost::filesystem::ifstream is(p);
+ if(is.good())
+ {
+ do
+ {
+ char c = static_cast<char>(is.get());
+ if(c != EOF)
+ content.append(1, c);
+ } while(is.good());
+ }
+ }
+ }
+ ~content_loader()
+ {
+ boost::filesystem::ofstream os(path_to_content);
+ os << content;
+ }
+ void instantiate()const
+ {
+ }
+};
+
+static const content_loader loader;
+
+void load_table(std::vector<std::vector<std::string> >& table, std::string::const_iterator begin, std::string::const_iterator end)
+{
+ static const boost::regex item_e(
+ "\\["
+ "([^\\[\\]]*(?0)?)*"
+ "\\]"
+ );
+
+ boost::regex_token_iterator<std::string::const_iterator> i(begin, end, item_e), j;
+
+ while(i != j)
+ {
+ // Add a row:
+ table.push_back(std::vector<std::string>());
+ boost::regex_token_iterator<std::string::const_iterator> k(i->first + 1, i->second - 1, item_e);
+ while(k != j)
+ {
+ // Add a cell:
+ table.back().push_back(std::string(k->first + 1, k->second - 1));
+ ++k;
+ }
+ ++i;
+ }
+}
+
+std::string save_table(std::vector<std::vector<std::string> >& table)
+{
+ std::string result;
+
+ for(std::vector<std::vector<std::string> >::const_iterator i = table.begin(), j = table.end(); i != j; ++i)
+ {
+ result += "[";
+ for(std::vector<std::string>::const_iterator k = i->begin(), l = i->end(); k != l; ++k)
+ {
+ result += "[";
+ result += *k;
+ result += "]";
+ }
+ result += "]\n";
+ }
+ return result;
+}
+
+void add_to_all_sections(const std::string& id, std::string list_name = "all_sections")
+{
+ std::string::size_type pos = content.find("[template " + list_name + "[]"), end_pos;
+ if(pos == std::string::npos)
+ {
+ //
+ // Just append to the end:
+ //
+ content.append("\n[template ").append(list_name).append("[]\n[").append(id).append("]\n]\n");
+ }
+ else
+ {
+ //
+ // Read in the all list of sections, add our new one (in alphabetical order),
+ // and then rewrite the whole thing:
+ //
+ static const boost::regex item_e(
+ "\\["
+ "([^\\[\\]]*(?0)?)*"
+ "\\]|\\]"
+ );
+ boost::regex_token_iterator<std::string::const_iterator> i(content.begin() + pos + 12 + list_name.size(), content.end(), item_e), j;
+ std::set<std::string> sections;
+ while(i != j)
+ {
+ if(i->length() == 1)
+ {
+ end_pos = i->first - content.begin();
+ break;
+ }
+ sections.insert(std::string(i->first + 1, i->second - 1));
+ ++i;
+ }
+ sections.insert(id);
+ std::string new_list = "\n";
+ for(std::set<std::string>::const_iterator sec = sections.begin(); sec != sections.end(); ++sec)
+ {
+ new_list += "[" + *sec + "]\n";
+ }
+ content.replace(pos + 12 + list_name.size(), end_pos - pos - 12 - list_name.size(), new_list);
+ }
+}
+
+void add_cell(const std::string& cell_name, const std::string& table_name, const std::string& row_name, const std::string& type_name)
+{
+ //
+ // Load the table, add our data, and re-write:
+ //
+ std::string table_id = "table_" + sanitize_string(table_name);
+ std::string column_heading = BOOST_COMPILER;
+ column_heading += "[br]";
+ column_heading += BOOST_PLATFORM;
+ column_heading += "[br]";
+ column_heading += type_name;
+ boost::regex table_e("\\[table:" + table_id
+ + "\\s[^\\[]+"
+ "((\\["
+ "([^\\[\\]]*(?2)?)*"
+ "\\]\\s*)*\\s*)"
+ "\\]"
+ );
+
+ boost::smatch table_location;
+ if(regex_search(content, table_location, table_e))
+ {
+ std::vector<std::vector<std::string> > table_data;
+ load_table(table_data, table_location[1].first, table_location[1].second);
+ //
+ // Figure out which column we're on:
+ //
+ unsigned column_id = 1001u;
+ for(unsigned i = 0; i < table_data[0].size(); ++i)
+ {
+ if(table_data[0][i] == column_heading)
+ {
+ column_id = i;
+ break;
+ }
+ }
+ if(column_id > 1000)
+ {
+ //
+ // Need a new column, must be adding a new compiler to the table!
+ //
+ table_data[0].push_back(column_heading);
+ for(unsigned i = 1; i < table_data.size(); ++i)
+ table_data[i].push_back(std::string());
+ column_id = table_data[0].size() - 1;
+ }
+ //
+ // Figure out the row:
+ //
+ unsigned row_id = 1001;
+ for(unsigned i = 1; i < table_data.size(); ++i)
+ {
+ if(table_data[i][0] == row_name)
+ {
+ row_id = i;
+ break;
+ }
+ }
+ if(row_id > 1000)
+ {
+ //
+ // Need a new row, add it now:
+ //
+ table_data.push_back(std::vector<std::string>());
+ table_data.back().push_back(row_name);
+ for(unsigned i = 1; i < table_data[0].size(); ++i)
+ table_data.back().push_back(std::string());
+ row_id = table_data.size() - 1;
+ }
+ //
+ // Update the entry:
+ //
+ std::string& s = table_data[row_id][column_id];
+ if(s.empty())
+ {
+ std::cout << "Adding " << cell_name << " to empty cell.";
+ s = "[" + cell_name + "]";
+ }
+ else
+ {
+ if(cell_name.find("_boost_") != std::string::npos)
+ {
+ std::cout << "Adding " << cell_name << " to start of cell.";
+ s.insert(0, "[" + cell_name + "][br][br]");
+ }
+ else
+ {
+ std::cout << "Adding " << cell_name << " to end of cell.";
+ if((s.find("_boost_") != std::string::npos) && (s.find("[br]") == std::string::npos))
+ s += "[br]"; // extra break if we're adding directly after the boost results.
+ s += "[br][" + cell_name + "]";
+ }
+ }
+ //
+ // Convert back to a string and insert into content:
+ std::string c = save_table(table_data);
+ content.replace(table_location.position(1), table_location.length(1), c);
+ }
+ else
+ {
+ //
+ // Create a new table and try again:
+ //
+ std::string new_table = "\n[template " + table_id;
+ new_table += "[]\n[table:" + table_id;
+ new_table += " Error rates for ";
+ new_table += table_name;
+ new_table += "\n[[][";
+ new_table += column_heading;
+ new_table += "]]\n";
+ new_table += "[[";
+ new_table += row_name;
+ new_table += "][[";
+ new_table += cell_name;
+ new_table += "]]]\n]\n]\n";
+
+ std::string::size_type pos = content.find("[/tables:]");
+ if(pos != std::string::npos)
+ content.insert(pos + 10, new_table);
+ else
+ content += "\n\n[/tables:]\n" + new_table;
+ //
+ // Add a section for this table as well:
+ //
+ std::string section_id = "section_" + sanitize_string(table_name);
+ if(content.find(section_id + "[]") == std::string::npos)
+ {
+ std::string new_section = "\n[template " + section_id + "[]\n[section:" + section_id + " " + table_name + "]\n[" + table_id + "]\n[endsect]\n]\n";
+ pos = content.find("[/sections:]");
+ if(pos != std::string::npos)
+ content.insert(pos + 12, new_section);
+ else
+ content += "\n\n[/sections:]\n" + new_section;
+ add_to_all_sections(section_id);
+ }
+ //
+ // Add to list of all tables (not in sections):
+ //
+ add_to_all_sections(table_id, "all_tables");
+ }
+}
+
+void set_result(const std::string& cell_name, const std::string& cell_content, const std::string& table_name, const std::string& row_name, const std::string& type_name)
+{
+ loader.instantiate();
+ const boost::regex e("\\[template\\s+" + cell_name +
+ "\\[\\]([^\\n]*)\\]$");
+
+ boost::smatch what;
+ if(regex_search(content, what, e))
+ {
+ content.replace(what.position(1), what.length(1), cell_content);
+ }
+ else
+ {
+ // Need to add new content:
+ std::string::size_type pos = content.find("[/Cell Content:]");
+ std::string t = "\n[template " + cell_name + "[] " + cell_content + "]";
+ if(pos != std::string::npos)
+ content.insert(pos + 16, t);
+ else
+ {
+ content.insert(0, t);
+ content.insert(0, "[/Cell Content:]");
+ }
+ }
+ //
+ // Check to verify that our content is actually used somewhere,
+ // if not we need to create a place for it:
+ //
+ if(content.find("[" + cell_name + "]") == std::string::npos)
+ add_cell(cell_name, table_name, row_name, type_name);
+}
+
+void set_error_content(const std::string& id, const std::string& error_s)
+{
+ boost::regex content_e("\\[template\\s+" + id +
+ "\\[\\]\\s+"
+ "("
+ "[^\\]\\[]*"
+ "(?:"
+ "\\["
+ "([^\\[\\]]*(?2)?)*"
+ "\\]"
+ "[^\\]\\[]*"
+ ")*"
+
+ ")"
+ "\\]");
+ boost::smatch what;
+ if(regex_search(content, what, content_e))
+ {
+ // replace existing content:
+ content.replace(what.position(1), what.length(1), error_s);
+ }
+ else
+ {
+ // add new content:
+ std::string::size_type pos = content.find("[/error_content:]");
+ if(pos != std::string::npos)
+ {
+ content.insert(pos + 17, "\n[template " + id + "[]\n" + error_s + "\n]\n");
+ }
+ else
+ content.append("\n[/error_content:]\n[template " + id + "[]\n" + error_s + "\n]\n");
+ }
+ //
+ // Add to all_errors if not already there:
+ //
+ if(content.find("[" + id + "]") == std::string::npos)
+ {
+ // Find all_errors template:
+ std::string::size_type pos = content.find("[template all_errors[]\n");
+ if(pos != std::string::npos)
+ {
+ content.insert(pos + 23, "[" + id + "]\n");
+ }
+ else
+ {
+ content.append("\n[template all_errors[]\n[").append(id).append("]\n]\n");
+ }
+ }
+}
+
+void remove_error_content(const std::string& error_id)
+{
+ // remove use template first:
+ std::string::size_type pos = content.find("[" + error_id + "]");
+ if(pos != std::string::npos)
+ {
+ content.erase(pos, 2 + error_id.size());
+ }
+ // then the template define itself:
+ boost::regex content_e("\\[template\\s+" + error_id +
+ "\\[\\]\\s+"
+ "("
+ "[^\\]\\[]*"
+ "(?:"
+ "\\["
+ "([^\\[\\]]*(?2)?)*"
+ "\\]"
+ "[^\\]\\[]*"
+ ")*"
+ ")"
+ "\\]");
+ boost::smatch what;
+ if(regex_search(content, what, content_e))
+ {
+ content.erase(what.position(), what.length());
+ }
+}
+
+template <class T, class Seq>
+void handle_test_result(const boost::math::tools::test_result<T>& result,
+ const Seq& worst, int row,
+ const char* type_name,
+ const char* test_name,
+ const char* group_name)
+{
+ T eps = boost::math::tools::epsilon<T>();
+ T max_error_found = (result.max)() / eps;
+ T mean_error_found = result.rms() / eps;
+
+ std::string cell_name = sanitize_string(BOOST_COMPILER) + "_" + sanitize_string(BOOST_PLATFORM) + "_" + sanitize_string(type_name)
+ + "_" + sanitize_string(test_name) + "_" + sanitize_string(TEST_LIBRARY_NAME) + "_" + sanitize_string(group_name);
+
+ std::stringstream ss;
+ ss << std::setprecision(3);
+ if(std::string(TEST_LIBRARY_NAME) != "boost")
+ ss << "(['" << TEST_LIBRARY_NAME << ":] ";
+ else
+ ss << "[role blue ";
+
+ if((result.max)() > std::sqrt(eps))
+ ss << "[role red ";
+
+
+ ss << "Max = ";
+ if((boost::math::isfinite)(max_error_found))
+ ss << max_error_found;
+ else
+ ss << "+INF";
+ ss << "[epsilon] (Mean = ";
+ if((boost::math::isfinite)(mean_error_found))
+ ss << mean_error_found;
+ else
+ ss << "+INF";
+ ss << "[epsilon])";
+
+ //
+ // Now check for error output from gross errors or unexpected exceptions:
+ //
+ std::stringbuf* pbuf = dynamic_cast<std::stringbuf*>(std::cerr.rdbuf());
+ bool have_errors = false;
+ std::string error_id = "errors_" + cell_name;
+ if(pbuf)
+ {
+ std::string err_s = pbuf->str();
+ if(err_s.size())
+ {
+ if(err_s.size() > 4096)
+ {
+ std::string::size_type pos = err_s.find("\n", 4096);
+ if(pos != std::string::npos)
+ {
+ err_s.erase(pos);
+ err_s += "\n*** FURTHER CONTENT HAS BEEN TRUNCATED FOR BREVITY ***\n";
+ }
+ }
+ std::string::size_type pos = err_s.find("\n");
+ while(pos != std::string::npos)
+ {
+ err_s.replace(pos, 1, "[br]");
+ pos = err_s.find("\n");
+ }
+ err_s = "[h4 Error Output For " + std::string(test_name) + std::string(" with compiler ") + std::string(BOOST_COMPILER)
+ + std::string(" and library ") + std::string(TEST_LIBRARY_NAME) + " and test data "
+ + std::string(group_name) + "]\n\n[#" + error_id + "]\n" + err_s + std::string("\n\n\n");
+ ss << " [link " << error_id << " And other failures.]";
+ pbuf->str("");
+ set_error_content(error_id, err_s);
+ have_errors = true;
+ }
+ }
+ if(!have_errors)
+ remove_error_content(error_id);
+
+
+ if(std::string(TEST_LIBRARY_NAME) != "boost")
+ ss << ")";
+ else
+ ss << "]";
+
+ if((result.max)() > std::sqrt(eps))
+ ss << "]";
+
+ std::string cell_content = ss.str();
+
+ set_result(cell_name, cell_content, test_name, group_name, type_name);
+}
+
+struct error_stream_replacer
+{
+ std::streambuf* old_buf;
+ std::stringstream ss;
+ error_stream_replacer()
+ {
+ old_buf = std::cerr.rdbuf();
+ std::cerr.rdbuf(ss.rdbuf());
+ }
+ ~error_stream_replacer()
+ {
+ std::cerr.rdbuf(old_buf);
+ }
+};
+
+#endif // BOOST_MATH_HANDLE_TEST_RESULT
+
diff --git a/src/boost/libs/math/reporting/accuracy/has_c99_cmath.cpp b/src/boost/libs/math/reporting/accuracy/has_c99_cmath.cpp
new file mode 100644
index 000000000..876585920
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/has_c99_cmath.cpp
@@ -0,0 +1,17 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <math.h>
+
+int main()
+{
+ long double d = 1;
+
+ d = ::erf(d);
+ d = ::erfc(d);
+ d = ::tgamma(d);
+ d = ::lgamma(d);
+ return d != 0 ? 0 : 1;
+}
diff --git a/src/boost/libs/math/reporting/accuracy/has_cxx17_cmath.cpp b/src/boost/libs/math/reporting/accuracy/has_cxx17_cmath.cpp
new file mode 100644
index 000000000..a73540b53
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/has_cxx17_cmath.cpp
@@ -0,0 +1,18 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <cmath>
+
+int main()
+{
+ long double d = 1;
+
+ d = std::erf(d);
+ d = std::erfc(d);
+ d = std::tgamma(d);
+ d = std::lgamma(d);
+ d = std::comp_ellint_1(d);
+ return d != 0 ? 0 : 1;
+}
diff --git a/src/boost/libs/math/reporting/accuracy/has_gsl.cpp b/src/boost/libs/math/reporting/accuracy/has_gsl.cpp
new file mode 100644
index 000000000..f66794393
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/has_gsl.cpp
@@ -0,0 +1,12 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <gsl/gsl_sf.h>
+
+int main()
+{
+ double d = gsl_sf_bessel_Jn(2, 1.0);
+ return d != 0 ? 0 : 1;
+}
diff --git a/src/boost/libs/math/reporting/accuracy/has_libstdcxx_tr1.cpp b/src/boost/libs/math/reporting/accuracy/has_libstdcxx_tr1.cpp
new file mode 100644
index 000000000..e2cb94488
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/has_libstdcxx_tr1.cpp
@@ -0,0 +1,17 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <tr1/cmath>
+
+int main()
+{
+ long double d = 1;
+
+ d = std::tr1::erf(d);
+ d = std::tr1::erfc(d);
+ d = std::tr1::tgamma(d);
+ d = std::tr1::lgamma(d);
+ return d != 0 ? 0 : 1;
+}
diff --git a/src/boost/libs/math/reporting/accuracy/has_rmath.cpp b/src/boost/libs/math/reporting/accuracy/has_rmath.cpp
new file mode 100644
index 000000000..df6cb315a
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/has_rmath.cpp
@@ -0,0 +1,13 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#define MATHLIB_STANDALONE
+#include <Rmath.h>
+
+int main()
+{
+ double d = psigamma(2.0, 4);
+ return d != 0 ? 0 : 1;
+}
diff --git a/src/boost/libs/math/reporting/accuracy/html/index.html b/src/boost/libs/math/reporting/accuracy/html/index.html
new file mode 100644
index 000000000..f859e717a
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/html/index.html
@@ -0,0 +1,27805 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Special Function Error Rates Report</title>
+<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_58_0/doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="index.html" title="Special Function Error Rates Report">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"></div>
+<div class="article">
+<div class="titlepage">
+<div>
+<div><h2 class="title">
+<a name="special_function_error_rates_rep"></a>Special Function Error Rates Report</h2></div>
+<div><div class="legalnotice">
+<a name="special_function_error_rates_rep.legal"></a><p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></div>
+</div>
+<hr>
+</div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_beta">beta</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_beta_incomplete_">beta
+ (incomplete)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_betac">betac</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_binomial_coefficient">binomial_coefficient</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_boost_math_powm1">boost::math::powm1</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cbrt">cbrt</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cos_pi">cos_pi</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_bessel_i">cyl_bessel_i</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_bessel_i_integer_orders_">cyl_bessel_i
+ (integer orders)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_bessel_i_prime">cyl_bessel_i_prime</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_bessel_i_prime_integer_orders_">cyl_bessel_i_prime
+ (integer orders)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_bessel_j">cyl_bessel_j</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_bessel_j_integer_orders_">cyl_bessel_j
+ (integer orders)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_bessel_j_prime">cyl_bessel_j_prime</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_bessel_j_prime_integer_orders_">cyl_bessel_j_prime
+ (integer orders)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_bessel_k">cyl_bessel_k</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_bessel_k_integer_orders_">cyl_bessel_k
+ (integer orders)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_bessel_k_prime">cyl_bessel_k_prime</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_bessel_k_prime_integer_orders_">cyl_bessel_k_prime
+ (integer orders)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_neumann">cyl_neumann</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_neumann_integer_orders_">cyl_neumann
+ (integer orders)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_neumann_prime">cyl_neumann_prime</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_cyl_neumann_prime_integer_orders_">cyl_neumann_prime
+ (integer orders)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_digamma">digamma</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_1">ellint_1</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_1_complete_">ellint_1
+ (complete)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_2">ellint_2</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_2_complete_">ellint_2
+ (complete)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_3">ellint_3</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_3_complete_">ellint_3
+ (complete)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_d">ellint_d</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_d_complete_">ellint_d
+ (complete)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_rc">ellint_rc</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_rd">ellint_rd</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_rf">ellint_rf</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_rg">ellint_rg</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ellint_rj">ellint_rj</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_erf">erf</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_erf_inv">erf_inv</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_erfc">erfc</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_erfc_inv">erfc_inv</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_expint_Ei_">expint
+ (Ei)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_expint_En_">expint
+ (En)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_expm1">expm1</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_gamma_p">gamma_p</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_gamma_p_inv">gamma_p_inv</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_gamma_p_inva">gamma_p_inva</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_gamma_q">gamma_q</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_gamma_q_inv">gamma_q_inv</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_gamma_q_inva">gamma_q_inva</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_hermite">hermite</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_heuman_lambda">heuman_lambda</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ibeta">ibeta</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ibeta_inv">ibeta_inv</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ibeta_inva">ibeta_inva</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ibeta_invb">ibeta_invb</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ibetac">ibetac</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ibetac_inv">ibetac_inv</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ibetac_inva">ibetac_inva</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_ibetac_invb">ibetac_invb</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_jacobi_cn">jacobi_cn</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_jacobi_dn">jacobi_dn</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_jacobi_sn">jacobi_sn</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_jacobi_zeta">jacobi_zeta</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_laguerre_n_m_x_">laguerre(n,
+ m, x)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_laguerre_n_x_">laguerre(n,
+ x)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_legendre_p">legendre_p</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_legendre_p_associated_">legendre_p
+ (associated)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_legendre_q">legendre_q</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_lgamma">lgamma</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_log1p">log1p</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_non_central_beta_CDF">non
+ central beta CDF</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_non_central_beta_CDF_complement">non
+ central beta CDF complement</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_non_central_chi_squared_CDF">non
+ central chi squared CDF</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_non_central_chi_squared_CDF_complement">non
+ central chi squared CDF complement</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_non_central_t_CDF">non
+ central t CDF</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_non_central_t_CDF_complement">non
+ central t CDF complement</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_owens_t">owens_t</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_polygamma">polygamma</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_powm1">powm1</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_sin_pi">sin_pi</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_sph_bessel">sph_bessel</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_sph_bessel_prime">sph_bessel_prime</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_sph_neumann">sph_neumann</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_sph_neumann_prime">sph_neumann_prime</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_spherical_harmonic_i">spherical_harmonic_i</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_spherical_harmonic_r">spherical_harmonic_r</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_sqrt1pm1">sqrt1pm1</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_tgamma">tgamma</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_tgamma1pm1">tgamma1pm1</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_tgamma_delta_ratio">tgamma_delta_ratio</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_tgamma_incomplete_">tgamma
+ (incomplete)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_tgamma_lower">tgamma_lower</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_tgamma_ratio">tgamma_ratio</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_trigamma">trigamma</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.section_zeta">zeta</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.error_logs">Error Logs</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_error_rates_rep.all_the_tables">Tables</a></span></dt>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_beta"></a><a class="link" href="index.html#special_function_error_rates_rep.section_beta" title="beta">beta</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_beta.table_beta"></a><p class="title"><b>Table&#160;1.&#160;Error rates for beta</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for beta">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Beta Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> <span class="red">Max = +INF&#949; (Mean = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_beta_GSL_2_1_Beta_Function_Small_Values">And
+ other failures.</a>)</span><br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.14&#949; (Mean = 0.574&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.86&#949; (Mean = 1.22&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 364&#949; (Mean = 76.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.86&#949; (Mean = 1.22&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.23&#949; (Mean = 1.14&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.978&#949; (Mean = 0.0595&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.18e+03&#949; (Mean = 238&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.09e+03&#949; (Mean = 265&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 61.4&#949; (Mean = 19.4&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.07e+03&#949; (Mean = 264&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 107&#949; (Mean = 24.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 96.5&#949; (Mean = 22.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta Function: Divergent Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 12.1&#949; (Mean = 1.99&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 176&#949; (Mean = 28&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.99&#949; (Mean = 2.44&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 128&#949; (Mean = 23.8&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.8&#949; (Mean = 2.71&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.4&#949; (Mean = 2.19&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_beta_incomplete_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_beta_incomplete_" title="beta (incomplete)">beta
+ (incomplete)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_beta_incomplete_.table_beta_incomplete_"></a><p class="title"><b>Table&#160;2.&#160;Error rates for beta (incomplete)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for beta (incomplete)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.1&#949; (Mean = 2.32&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.7&#949; (Mean = 3.19&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.94&#949; (Mean = 2.17&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.568&#949; (Mean = 0.0254&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 69.2&#949; (Mean = 13.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 174&#949; (Mean = 25&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 90&#949; (Mean = 12.7&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Large and Diverse Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.999&#949; (Mean = 0.0325&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.84e+04&#949; (Mean = 2.76e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.86e+04&#949; (Mean = 2.79e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 633&#949; (Mean = 29.7&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Integer Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.0323&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.6&#949; (Mean = 3.6&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 51.8&#949; (Mean = 11&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 26&#949; (Mean = 6.28&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_betac"></a><a class="link" href="index.html#special_function_error_rates_rep.section_betac" title="betac">betac</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_betac.table_betac"></a><p class="title"><b>Table&#160;3.&#160;Error rates for betac</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for betac">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.676&#949; (Mean = 0.0302&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.92&#949; (Mean = 2.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.2&#949; (Mean = 2.94&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.94&#949; (Mean = 2.06&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.949&#949; (Mean = 0.098&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 63.5&#949; (Mean = 13.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 97.6&#949; (Mean = 24.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 90.6&#949; (Mean = 14.8&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Large and Diverse Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.12&#949; (Mean = 0.0458&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.05e+05&#949; (Mean = 5.45e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.04e+05&#949; (Mean = 5.46e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.72e+03&#949; (Mean = 113&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Integer Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.586&#949; (Mean = 0.0314&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.1&#949; (Mean = 3.65&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 103&#949; (Mean = 17.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 26.2&#949; (Mean = 6.36&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_binomial_coefficient"></a><a class="link" href="index.html#special_function_error_rates_rep.section_binomial_coefficient" title="binomial_coefficient">binomial_coefficient</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_binomial_coefficient.table_binomial_coefficient"></a><p class="title"><b>Table&#160;4.&#160;Error rates for binomial_coefficient</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for binomial_coefficient">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Binomials: small arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.369&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.5&#949; (Mean = 0.339&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.5&#949; (Mean = 0.339&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.369&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomials: large arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.939&#949; (Mean = 0.314&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 26.6&#949; (Mean = 6.13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 53.2&#949; (Mean = 10.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 37.2&#949; (Mean = 7.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_boost_math_powm1"></a><a class="link" href="index.html#special_function_error_rates_rep.section_boost_math_powm1" title="boost::math::powm1">boost::math::powm1</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_boost_math_powm1.table_boost_math_powm1"></a><p class="title"><b>Table&#160;5.&#160;Error rates for boost::math::powm1</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for boost::math::powm1">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ powm1
+ </p>
+ </td>
+<td>
+ <p>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 2.04&#949; (Mean = 0.493&#949;))<br>
+ <br> <span class="blue">Max = 2.04&#949; (Mean = 0.493&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.04&#949; (Mean = 0.493&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.06&#949; (Mean = 0.425&#949;))<br>
+ <br> (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.06&#949; (Mean = 0.425&#949;))<br>
+ <br> <span class="blue">Max = 1.06&#949; (Mean = 0.425&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.88&#949; (Mean = 0.49&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.88&#949; (Mean = 0.49&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.84&#949; (Mean = 0.486&#949;))<br>
+ <br> <span class="blue">Max = 1.84&#949; (Mean = 0.486&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cbrt"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cbrt" title="cbrt">cbrt</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cbrt.table_cbrt"></a><p class="title"><b>Table&#160;6.&#160;Error rates for cbrt</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cbrt">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ cbrt Function
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.34&#949; (Mean = 0.471&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.34&#949; (Mean = 0.471&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.34&#949; (Mean = 0.471&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.34&#949; (Mean = 0.471&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.34&#949; (Mean = 0.471&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.7&#949; (Mean = 0.565&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.7&#949; (Mean = 0.565&#949;))
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cos_pi"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cos_pi" title="cos_pi">cos_pi</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cos_pi.table_cos_pi"></a><p class="title"><b>Table&#160;7.&#160;Error rates for cos_pi</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cos_pi">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ sin_pi and cos_pi
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.991&#949; (Mean = 0.302&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.991&#949; (Mean = 0.302&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.284&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ sin_pi and cos_pi near integers and half integers
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.976&#949; (Mean = 0.28&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.976&#949; (Mean = 0.28&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.298&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_bessel_i"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_bessel_i" title="cyl_bessel_i">cyl_bessel_i</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_bessel_i.table_cyl_bessel_i"></a><p class="title"><b>Table&#160;8.&#160;Error rates for cyl_bessel_i</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_i">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel I0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 270&#949; (Mean = 91.6&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_I0_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.52&#949; (Mean = 0.622&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_Rmath_3_2_3_Bessel_I0_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.95&#949; (Mean = 0.738&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 8.49&#949; (Mean = 3.46&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_I0_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.95&#949; (Mean = 0.661&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.762&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 128&#949; (Mean = 41&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_I1_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.53&#949; (Mean = 0.483&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_Rmath_3_2_3_Bessel_I1_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.64&#949; (Mean = 0.202&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 5&#949; (Mean = 2.15&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_I1_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.64&#949; (Mean = 0.202&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.767&#949; (Mean = 0.398&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel In: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.31&#949; (Mean = 0.838&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_In_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.73&#949; (Mean = 0.601&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_Rmath_3_2_3_Bessel_In_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.8&#949; (Mean = 1.33&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 430&#949; (Mean = 163&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_In_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 463&#949; (Mean = 140&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.46&#949; (Mean = 1.32&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Iv: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 5.95&#949; (Mean = 2.08&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_Iv_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 3.53&#949; (Mean = 1.39&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.12&#949; (Mean = 1.85&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 616&#949; (Mean = 221&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_Iv_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.12&#949; (Mean = 1.95&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.97&#949; (Mean = 1.24&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel In: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 261&#949; (Mean = 53.2&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_In_Random_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 7.37&#949; (Mean = 2.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.62&#949; (Mean = 1.06&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 645&#949; (Mean = 132&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 176&#949; (Mean = 39.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.67&#949; (Mean = 1.88&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Iv: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.661&#949; (Mean = 0.0441&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 6.18e+03&#949; (Mean = 1.55e+03&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_Iv_Random_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = 4.28e+08&#949; (Mean = 2.85e+07&#949;))</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.35&#949; (Mean = 1.62&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.05e+03&#949; (Mean = 224&#949;)
+ <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_Iv_Random_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 283&#949; (Mean = 88.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.46&#949; (Mean = 1.71&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Iv: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 37&#949; (Mean = 18&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_Iv_Mathworld_Data_large_values_">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = 3.77e+168&#949; (Mean = 2.39e+168&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_Rmath_3_2_3_Bessel_Iv_Mathworld_Data_large_values_">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.7&#949; (Mean = 6.66&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 118&#949; (Mean = 57.2&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_Iv_Mathworld_Data_large_values_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.7&#949; (Mean = 6.59&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.67&#949; (Mean = 1.64&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_bessel_i_integer_orders_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_bessel_i_integer_orders_" title="cyl_bessel_i (integer orders)">cyl_bessel_i
+ (integer orders)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_bessel_i_integer_orders_.table_cyl_bessel_i_integer_orders_"></a><p class="title"><b>Table&#160;9.&#160;Error rates for cyl_bessel_i (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_i (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel I0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.79&#949; (Mean = 0.482&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.52&#949; (Mean = 0.622&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_integer_orders__Rmath_3_2_3_Bessel_I0_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.95&#949; (Mean = 0.738&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 8.49&#949; (Mean = 3.46&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i_integer_orders___cmath__Bessel_I0_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.95&#949; (Mean = 0.661&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.762&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.82&#949; (Mean = 0.456&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.53&#949; (Mean = 0.483&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_integer_orders__Rmath_3_2_3_Bessel_I1_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.64&#949; (Mean = 0.202&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 5&#949; (Mean = 2.15&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i_integer_orders___cmath__Bessel_I1_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.64&#949; (Mean = 0.202&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.767&#949; (Mean = 0.398&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel In: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 5.15&#949; (Mean = 2.13&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_integer_orders__GSL_2_1_Bessel_In_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.73&#949; (Mean = 0.601&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_integer_orders__Rmath_3_2_3_Bessel_In_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.8&#949; (Mean = 1.33&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 430&#949; (Mean = 163&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i_integer_orders___cmath__Bessel_In_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 463&#949; (Mean = 140&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.46&#949; (Mean = 1.32&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_bessel_i_prime"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_bessel_i_prime" title="cyl_bessel_i_prime">cyl_bessel_i_prime</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_bessel_i_prime.table_cyl_bessel_i_prime"></a><p class="title"><b>Table&#160;10.&#160;Error rates for cyl_bessel_i_prime</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_i_prime">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel I'0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.82&#949; (Mean = 0.259&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.82&#949; (Mean = 0.259&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.82&#949; (Mean = 0.354&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.757&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.757&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.36&#949; (Mean = 0.782&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'n: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.31&#949; (Mean = 1.41&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 701&#949; (Mean = 212&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.61&#949; (Mean = 1.22&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'v: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.62&#949; (Mean = 0.512&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.89e+03&#949; (Mean = 914&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.89e+03&#949; (Mean = 914&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.76e+03&#949; (Mean = 1.19e+03&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'n: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.95&#949; (Mean = 1.06&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 195&#949; (Mean = 37.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.85&#949; (Mean = 1.82&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'v: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.1&#949; (Mean = 2.93&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 336&#949; (Mean = 68.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14&#949; (Mean = 2.5&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'v: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.6&#949; (Mean = 20.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.6&#949; (Mean = 20.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 59.5&#949; (Mean = 26.6&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_bessel_i_prime_integer_orders_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_bessel_i_prime_integer_orders_" title="cyl_bessel_i_prime (integer orders)">cyl_bessel_i_prime
+ (integer orders)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_bessel_i_prime_integer_orders_.table_cyl_bessel_i_prime_integer_orders_"></a><p class="title"><b>Table&#160;11.&#160;Error rates for cyl_bessel_i_prime (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_i_prime (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel I'0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.82&#949; (Mean = 0.259&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.82&#949; (Mean = 0.259&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.82&#949; (Mean = 0.354&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.757&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.757&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.36&#949; (Mean = 0.782&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'n: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.31&#949; (Mean = 1.41&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 701&#949; (Mean = 212&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.61&#949; (Mean = 1.22&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_bessel_j"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_bessel_j" title="cyl_bessel_j">cyl_bessel_j</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_bessel_j.table_cyl_bessel_j"></a><p class="title"><b>Table&#160;12.&#160;Error rates for cyl_bessel_j</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_j">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel J0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.55&#949; (Mean = 2.86&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 5.04&#949; (Mean = 1.78&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_J0_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.629&#949; (Mean = 0.223&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J0_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0.629&#949; (Mean = 0.223&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_Rmath_3_2_3_Bessel_J0_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.55&#949; (Mean = 2.86&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.52&#949; (Mean = 1.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J0: Mathworld Data (Tricky cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.64e+08&#949; (Mean = 6.69e+07&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 4.79e+08&#949; (Mean =
+ 1.96e+08&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8e+04&#949; (Mean = 3.27e+04&#949;)</span><br>
+ <br> (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 6.5e+07&#949; (Mean = 2.66e+07&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.04e+07&#949; (Mean = 4.29e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.64e+08&#949; (Mean = 6.69e+07&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1e+07&#949; (Mean = 4.09e+06&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.59&#949; (Mean = 1.33&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 6.1&#949; (Mean = 2.95&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_J1_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.62&#949; (Mean = 2.35&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J1_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0.946&#949; (Mean = 0.39&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_Rmath_3_2_3_Bessel_J1_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.44&#949; (Mean = 0.637&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.73&#949; (Mean = 0.976&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1: Mathworld Data (tricky cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.18e+05&#949; (Mean = 9.76e+04&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.15e+06&#949; (Mean =
+ 1.58e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 106&#949; (Mean = 47.5&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 8.75e+05&#949; (Mean = 5.32e+05&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 2.93e+06&#949; (Mean = 1.7e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.18e+05&#949; (Mean = 9.76e+04&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.23e+04&#949; (Mean = 1.45e+04&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel JN: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.85&#949; (Mean = 3.35&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 2.13e+19&#949; (Mean
+ = 5.16e+18&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_JN_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.9e+05&#949; (Mean = 2.15e+05&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_JN_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = +INF&#949; (Mean = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_Rmath_3_2_3_Bessel_JN_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 463&#949; (Mean = 112&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.7&#949; (Mean = 5.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.7&#949; (Mean = 4.11&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 3.49e+05&#949; (Mean = 8.09e+04&#949;)
+ <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_J_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10&#949; (Mean = 2.24&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.39e+05&#949; (Mean = 5.37e+04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = +INF&#949; (Mean = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_Rmath_3_2_3_Bessel_J_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.7&#949; (Mean = 4.22&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.9&#949; (Mean = 3.89&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 607&#949; (Mean = 305&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 34.9&#949; (Mean = 17.4&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_J_Mathworld_Data_large_values_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.536&#949; (Mean = 0.268&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 4.91e+03&#949; (Mean = 2.46e+03&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J_Mathworld_Data_large_values_">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 5.9&#949; (Mean = 3.76&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 607&#949; (Mean = 305&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.31&#949; (Mean = 5.52&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel JN: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 50.8&#949; (Mean = 3.69&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.12e+03&#949; (Mean = 88.7&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 75.7&#949; (Mean = 5.36&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 3.93&#949; (Mean = 1.22&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 99.6&#949; (Mean = 22&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 17.5&#949; (Mean = 1.46&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.4&#949; (Mean = 1.68&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 501&#949; (Mean = 52.3&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 15.5&#949; (Mean = 3.33&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J_Random_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 6.74&#949; (Mean = 1.3&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 260&#949; (Mean = 34&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.24&#949; (Mean = 1.17&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J: Random Data (Tricky large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 785&#949; (Mean = 94.2&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 5.01e+17&#949; (Mean
+ = 6.23e+16&#949;))</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.48e+05&#949; (Mean = 5.11e+04&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 71.6&#949; (Mean = 11.7&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 785&#949; (Mean = 97.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 59.2&#949; (Mean = 8.67&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_bessel_j_integer_orders_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_bessel_j_integer_orders_" title="cyl_bessel_j (integer orders)">cyl_bessel_j
+ (integer orders)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_bessel_j_integer_orders_.table_cyl_bessel_j_integer_orders_"></a><p class="title"><b>Table&#160;13.&#160;Error rates for cyl_bessel_j (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_j (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel J0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.55&#949; (Mean = 2.86&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 5.04&#949; (Mean = 1.78&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j_integer_orders___cmath__Bessel_J0_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.12&#949; (Mean = 0.488&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 0.629&#949; (Mean = 0.223&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_integer_orders__Rmath_3_2_3_Bessel_J0_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.55&#949; (Mean = 2.86&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.52&#949; (Mean = 1.2&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.89&#949; (Mean = 0.988&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J0: Mathworld Data (Tricky cases) (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.64e+08&#949; (Mean = 6.69e+07&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 4.79e+08&#949; (Mean =
+ 1.96e+08&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8e+04&#949; (Mean = 3.27e+04&#949;)</span><br>
+ <br> (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1e+07&#949; (Mean = 4.11e+06&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.04e+07&#949; (Mean = 4.29e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.64e+08&#949; (Mean = 6.69e+07&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1e+07&#949; (Mean = 4.09e+06&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> <span class="red">Max
+ = 2.54e+08&#949; (Mean = 1.04e+08&#949;))</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.59&#949; (Mean = 1.33&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 6.1&#949; (Mean = 2.95&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j_integer_orders___cmath__Bessel_J1_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.89&#949; (Mean = 0.721&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 0.946&#949; (Mean = 0.39&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_integer_orders__Rmath_3_2_3_Bessel_J1_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.44&#949; (Mean = 0.637&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.73&#949; (Mean = 0.976&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 11.4&#949; (Mean = 4.15&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1: Mathworld Data (tricky cases) (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.18e+05&#949; (Mean = 9.76e+04&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.15e+06&#949; (Mean =
+ 1.58e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 106&#949; (Mean = 47.5&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.26e+06&#949; (Mean = 6.28e+05&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 2.93e+06&#949; (Mean = 1.7e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.18e+05&#949; (Mean = 9.76e+04&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.23e+04&#949; (Mean = 1.45e+04&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.44e+07&#949; (Mean
+ = 6.5e+06&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel JN: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.85&#949; (Mean = 3.35&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 2.13e+19&#949; (Mean
+ = 5.16e+18&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j_integer_orders___cmath__Bessel_JN_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.9e+05&#949; (Mean = 2.53e+05&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_integer_orders__GSL_2_1_Bessel_JN_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = +INF&#949; (Mean = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_integer_orders__Rmath_3_2_3_Bessel_JN_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 463&#949; (Mean = 112&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.7&#949; (Mean = 5.4&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_Microsoft_Visual_C_version_14_1_Win32_double_cyl_bessel_j_integer_orders___math_h__Bessel_JN_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_bessel_j_prime"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_bessel_j_prime" title="cyl_bessel_j_prime">cyl_bessel_j_prime</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_bessel_j_prime.table_cyl_bessel_j_prime"></a><p class="title"><b>Table&#160;14.&#160;Error rates for cyl_bessel_j_prime</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_j_prime">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel J0': Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.9&#949; (Mean = 6.82&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.9&#949; (Mean = 6.72&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.62&#949; (Mean = 2.55&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J0': Mathworld Data (Tricky cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.44&#949; (Mean = 3.34&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.44&#949; (Mean = 3.31&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.67&#949; (Mean = 1.74&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1': Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.9&#949; (Mean = 3.37&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.9&#949; (Mean = 3.37&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.999&#949; (Mean = 0.627&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1': Mathworld Data (tricky cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 287&#949; (Mean = 129&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.88e+05&#949; (Mean = 2.63e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.88e+05&#949; (Mean = 2.63e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 288&#949; (Mean = 129&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel JN': Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.527&#949; (Mean = 0.128&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.29e+03&#949; (Mean = 312&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.29e+03&#949; (Mean = 355&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14&#949; (Mean = 6.13&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J': Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 21.5&#949; (Mean = 4.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.5&#949; (Mean = 9.31&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.5&#949; (Mean = 9.32&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 23.7&#949; (Mean = 8&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J': Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 989&#949; (Mean = 495&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 989&#949; (Mean = 495&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.9&#949; (Mean = 1.61&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel JN': Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.593&#949; (Mean = 0.0396&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.3&#949; (Mean = 1.85&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 79.4&#949; (Mean = 16.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.34&#949; (Mean = 0.999&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J': Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.885&#949; (Mean = 0.033&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 139&#949; (Mean = 6.47&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 279&#949; (Mean = 27.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 176&#949; (Mean = 9.75&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J': Random Data (Tricky large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 474&#949; (Mean = 62.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 474&#949; (Mean = 64.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 379&#949; (Mean = 45.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_bessel_j_prime_integer_orders_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_bessel_j_prime_integer_orders_" title="cyl_bessel_j_prime (integer orders)">cyl_bessel_j_prime
+ (integer orders)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_bessel_j_prime_integer_orders_.table_cyl_bessel_j_prime_integer_orders_"></a><p class="title"><b>Table&#160;15.&#160;Error rates for cyl_bessel_j_prime (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_j_prime (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel J0': Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.9&#949; (Mean = 6.82&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.9&#949; (Mean = 6.72&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.62&#949; (Mean = 2.55&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J0': Mathworld Data (Tricky cases) (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.44&#949; (Mean = 3.34&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.44&#949; (Mean = 3.31&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.67&#949; (Mean = 1.74&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1': Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.9&#949; (Mean = 3.37&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.9&#949; (Mean = 3.37&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.999&#949; (Mean = 0.627&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1': Mathworld Data (tricky cases) (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 287&#949; (Mean = 129&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.88e+05&#949; (Mean = 2.63e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.88e+05&#949; (Mean = 2.63e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 288&#949; (Mean = 129&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel JN': Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.527&#949; (Mean = 0.128&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.29e+03&#949; (Mean = 312&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.29e+03&#949; (Mean = 355&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14&#949; (Mean = 6.13&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_bessel_k"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_bessel_k" title="cyl_bessel_k">cyl_bessel_k</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_bessel_k.table_cyl_bessel_k"></a><p class="title"><b>Table&#160;16.&#160;Error rates for cyl_bessel_k</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_k">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel K0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.436&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 9.33&#949; (Mean = 3.25&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.04&#949; (Mean = 2.16&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0.833&#949; (Mean = 0.601&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.436&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.552&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 8.94&#949; (Mean = 3.19&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.26&#949; (Mean = 2.21&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0.894&#949; (Mean = 0.516&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.39&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Kn: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.6&#949; (Mean = 1.21&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 12.9&#949; (Mean = 4.91&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k__cmath__Bessel_Kn_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3.36&#949; (Mean = 1.43&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kn_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 8.48&#949; (Mean = 2.98&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.6&#949; (Mean = 1.21&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.63&#949; (Mean = 1.46&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Kv: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.58&#949; (Mean = 2.39&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 13&#949; (Mean = 4.81&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k__cmath__Bessel_Kv_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 5.47&#949; (Mean = 2.04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kv_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 3.15&#949; (Mean = 1.35&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.21&#949; (Mean = 2.53&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.78&#949; (Mean = 2.19&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Kv: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.3&#949; (Mean = 21&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 42.3&#949; (Mean = 19.8&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k__cmath__Bessel_Kv_Mathworld_Data_large_values_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 308&#949; (Mean = 142&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kv_Mathworld_Data_large_values_">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 84.6&#949; (Mean = 37.8&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.3&#949; (Mean = 21&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 59.8&#949; (Mean = 26.9&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Kn: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.55&#949; (Mean = 1.12&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 13.9&#949; (Mean = 2.91&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.764&#949; (Mean = 0.0348&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 8.71&#949; (Mean = 1.76&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kn_Random_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 7.47&#949; (Mean = 1.34&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.55&#949; (Mean = 1.12&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.34&#949; (Mean = 1.7&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Kv: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.88&#949; (Mean = 1.48&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 13.6&#949; (Mean = 2.68&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k__cmath__Bessel_Kv_Random_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.507&#949; (Mean = 0.0313&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 9.71&#949; (Mean = 1.47&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kv_Random_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 7.37&#949; (Mean = 1.49&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.88&#949; (Mean = 1.47&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.33&#949; (Mean = 1.62&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_bessel_k_integer_orders_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_bessel_k_integer_orders_" title="cyl_bessel_k (integer orders)">cyl_bessel_k
+ (integer orders)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_bessel_k_integer_orders_.table_cyl_bessel_k_integer_orders_"></a><p class="title"><b>Table&#160;17.&#160;Error rates for cyl_bessel_k (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_k (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel K0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.436&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 9.33&#949; (Mean = 3.25&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.2&#949; (Mean = 0.733&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0.833&#949; (Mean = 0.601&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.436&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.552&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 8.94&#949; (Mean = 3.19&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.626&#949; (Mean = 0.333&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 0.894&#949; (Mean = 0.516&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.39&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Kn: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.6&#949; (Mean = 1.21&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 12.9&#949; (Mean = 4.91&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k_integer_orders___cmath__Bessel_Kn_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 168&#949; (Mean = 59.5&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 8.48&#949; (Mean = 2.98&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.6&#949; (Mean = 1.21&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.63&#949; (Mean = 1.46&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_bessel_k_prime"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_bessel_k_prime" title="cyl_bessel_k_prime">cyl_bessel_k_prime</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_bessel_k_prime.table_cyl_bessel_k_prime"></a><p class="title"><b>Table&#160;18.&#160;Error rates for cyl_bessel_k_prime</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_k_prime">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel K'0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.39&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.736&#949; (Mean = 0.389&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.736&#949; (Mean = 0.389&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.761&#949; (Mean = 0.444&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'n: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.16&#949; (Mean = 1.08&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.16&#949; (Mean = 1.08&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.17&#949; (Mean = 1.75&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'v: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.94&#949; (Mean = 2.44&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.94&#949; (Mean = 2.34&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.94&#949; (Mean = 1.47&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'v: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 59.2&#949; (Mean = 42.9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 58.7&#949; (Mean = 42.6&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.6&#949; (Mean = 11.8&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'n: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.45&#949; (Mean = 1.19&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.45&#949; (Mean = 1.19&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.67&#949; (Mean = 1.73&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'v: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.95&#949; (Mean = 1.53&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.95&#949; (Mean = 1.52&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.32&#949; (Mean = 1.65&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_bessel_k_prime_integer_orders_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_bessel_k_prime_integer_orders_" title="cyl_bessel_k_prime (integer orders)">cyl_bessel_k_prime
+ (integer orders)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_bessel_k_prime_integer_orders_.table_cyl_bessel_k_prime_integer_orders_"></a><p class="title"><b>Table&#160;19.&#160;Error rates for cyl_bessel_k_prime (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_k_prime (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel K'0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.39&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.736&#949; (Mean = 0.389&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.736&#949; (Mean = 0.389&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.761&#949; (Mean = 0.444&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'n: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.16&#949; (Mean = 1.08&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.16&#949; (Mean = 1.08&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.17&#949; (Mean = 1.75&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_neumann"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_neumann" title="cyl_neumann">cyl_neumann</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_neumann.table_cyl_neumann"></a><p class="title"><b>Table&#160;20.&#160;Error rates for cyl_neumann</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_neumann">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Y0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.53&#949; (Mean = 2.4&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.05e+05&#949; (Mean = 6.87e+04&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 60.9&#949; (Mean = 20.4&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 167&#949; (Mean = 56.5&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.53&#949; (Mean = 2.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.61&#949; (Mean = 2.29&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 2.25&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 9.71e+03&#949; (Mean = 4.08e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 23.4&#949; (Mean = 8.1&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 193&#949; (Mean = 64.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 2.29&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.75&#949; (Mean = 1.72&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Yn: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 55.2&#949; (Mean = 17.8&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 2.2e+20&#949; (Mean
+ = 6.97e+19&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann__cmath__Yn_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.993&#949; (Mean = 0.314&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.41e+05&#949; (Mean = 7.62e+04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_neumann_GSL_2_1_Yn_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.24e+04&#949; (Mean = 4e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 55.2&#949; (Mean = 17.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 35&#949; (Mean = 11.9&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Yv: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.7&#949; (Mean = 4.93&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 3.49e+15&#949; (Mean
+ = 1.05e+15&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann__cmath__Yv_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10&#949; (Mean = 3.02&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.07e+05&#949; (Mean = 3.22e+04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_neumann_GSL_2_1_Yv_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 243&#949; (Mean = 73.9&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.7&#949; (Mean = 5.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.89&#949; (Mean = 3.27&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Yv: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.7&#949; (Mean = 1.33&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 43.2&#949; (Mean = 16.3&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann__cmath__Yv_Mathworld_Data_large_values_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 60.8&#949; (Mean = 23&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_neumann_GSL_2_1_Yv_Mathworld_Data_large_values_">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0.682&#949; (Mean = 0.335&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.7&#949; (Mean = 1.33&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.682&#949; (Mean = 0.423&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y0 and Y1: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.8&#949; (Mean = 3.04&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.59e+03&#949; (Mean = 500&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 34.4&#949; (Mean = 8.9&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 83&#949; (Mean = 14.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.8&#949; (Mean = 3.04&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.17&#949; (Mean = 1.24&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Yn: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 338&#949; (Mean = 27.5&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 4.01e+03&#949; (Mean = 348&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 500&#949; (Mean = 47.8&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 691&#949; (Mean = 67.9&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 338&#949; (Mean = 27.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 117&#949; (Mean = 10.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Yv: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.08e+03&#949; (Mean = 149&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann__cmath__Yv_Random_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.53&#949; (Mean = 0.102&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.41e+06&#949; (Mean = 7.67e+04&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.79e+05&#949; (Mean = 9.64e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.08e+03&#949; (Mean = 149&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.23e+03&#949; (Mean = 69.9&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_neumann_integer_orders_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_neumann_integer_orders_" title="cyl_neumann (integer orders)">cyl_neumann
+ (integer orders)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_neumann_integer_orders_.table_cyl_neumann_integer_orders_"></a><p class="title"><b>Table&#160;21.&#160;Error rates for cyl_neumann (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_neumann (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Y0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.53&#949; (Mean = 2.4&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.05e+05&#949; (Mean = 6.87e+04&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.46&#949; (Mean = 2.38&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 167&#949; (Mean = 56.5&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.53&#949; (Mean = 2.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.61&#949; (Mean = 2.29&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 5.37e+03&#949; (Mean = 1.81e+03&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 2.25&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 9.71e+03&#949; (Mean = 4.08e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.51&#949; (Mean = 0.839&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 193&#949; (Mean = 64.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 2.29&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.75&#949; (Mean = 1.72&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.86e+04&#949; (Mean = 6.2e+03&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Yn: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 55.2&#949; (Mean = 17.8&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 2.2e+20&#949; (Mean
+ = 6.97e+19&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann_integer_orders___cmath__Yn_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.993&#949; (Mean = 0.314&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.41e+05&#949; (Mean = 7.62e+04&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.24e+04&#949; (Mean = 4e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 55.2&#949; (Mean = 17.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 35&#949; (Mean = 11.9&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 2.49e+05&#949; (Mean = 8.14e+04&#949;))
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_neumann_prime"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_neumann_prime" title="cyl_neumann_prime">cyl_neumann_prime</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_neumann_prime.table_cyl_neumann_prime"></a><p class="title"><b>Table&#160;22.&#160;Error rates for cyl_neumann_prime</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_neumann_prime">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Y'0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 3.12&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 3.14&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.75&#949; (Mean = 1.75&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.58&#949; (Mean = 0.193&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 37.1&#949; (Mean = 12.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 34&#949; (Mean = 11.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.08&#949; (Mean = 1.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'n: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.05&#949; (Mean = 0.677&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 56&#949; (Mean = 18.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 56&#949; (Mean = 21.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 563&#949; (Mean = 178&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'v: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 21.5&#949; (Mean = 6.49&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.5&#949; (Mean = 13.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.5&#949; (Mean = 13.6&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 23.7&#949; (Mean = 10.1&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'v: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 1.24&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 1.24&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.627&#949; (Mean = 0.237&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'0 and Y'1: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 23.8&#949; (Mean = 3.69&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 23.8&#949; (Mean = 3.69&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.95&#949; (Mean = 1.36&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'n: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.53&#949; (Mean = 0.0885&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.35e+03&#949; (Mean = 136&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.35e+03&#949; (Mean = 136&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 621&#949; (Mean = 36&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'v: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 56.8&#949; (Mean = 2.59&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.16e+05&#949; (Mean = 5.28e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.16e+05&#949; (Mean = 5.28e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.23e+04&#949; (Mean = 1.13e+03&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_cyl_neumann_prime_integer_orders_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_cyl_neumann_prime_integer_orders_" title="cyl_neumann_prime (integer orders)">cyl_neumann_prime
+ (integer orders)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_cyl_neumann_prime_integer_orders_.table_cyl_neumann_prime_integer_orders_"></a><p class="title"><b>Table&#160;23.&#160;Error rates for cyl_neumann_prime (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_neumann_prime (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Y'0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 3.12&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 3.14&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.75&#949; (Mean = 1.75&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.58&#949; (Mean = 0.193&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 37.1&#949; (Mean = 12.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 34&#949; (Mean = 11.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.08&#949; (Mean = 1.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'n: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.05&#949; (Mean = 0.677&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 56&#949; (Mean = 18.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 56&#949; (Mean = 21.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 563&#949; (Mean = 178&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_digamma"></a><a class="link" href="index.html#special_function_error_rates_rep.section_digamma" title="digamma">digamma</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_digamma.table_digamma"></a><p class="title"><b>Table&#160;24.&#160;Error rates for digamma</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for digamma">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Digamma Function: Large Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.84&#949; (Mean = 0.71&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.18&#949; (Mean = 0.331&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.39&#949; (Mean = 0.413&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.39&#949; (Mean = 0.413&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.98&#949; (Mean = 0.369&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Digamma Function: Near the Positive Root
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.891&#949; (Mean = 0.0995&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 135&#949; (Mean = 11.9&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 2.02e+03&#949; (Mean = 256&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.37&#949; (Mean = 0.477&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.31&#949; (Mean = 0.471&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.997&#949; (Mean = 0.527&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Digamma Function: Near Zero
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.953&#949; (Mean = 0.348&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.17&#949; (Mean = 0.564&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.984&#949; (Mean = 0.361&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.984&#949; (Mean = 0.361&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.953&#949; (Mean = 0.337&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Digamma Function: Negative Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.56e+04&#949; (Mean = 3.91e+03&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 4.6e+04&#949; (Mean = 3.94e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 180&#949; (Mean = 13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 180&#949; (Mean = 13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 214&#949; (Mean = 16.1&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Digamma Function: Values near 0
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.866&#949; (Mean = 0.387&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 3.58e+05&#949; (Mean = 1.6e+05&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.592&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.592&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Digamma Function: Integer arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.992&#949; (Mean = 0.215&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.18&#949; (Mean = 0.607&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 4.33&#949; (Mean = 0.982&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.888&#949; (Mean = 0.403&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.888&#949; (Mean = 0.403&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.992&#949; (Mean = 0.452&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Digamma Function: Half integer arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.09&#949; (Mean = 0.531&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 46.2&#949; (Mean = 7.24&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.906&#949; (Mean = 0.409&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.906&#949; (Mean = 0.409&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.78&#949; (Mean = 0.314&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_1"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_1" title="ellint_1">ellint_1</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_1.table_ellint_1"></a><p class="title"><b>Table&#160;25.&#160;Error rates for ellint_1</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_1">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral F: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.94&#949; (Mean = 0.509&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_1__cmath__Elliptic_Integral_F_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.919&#949; (Mean = 0.544&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.94&#949; (Mean = 0.509&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.919&#949; (Mean = 0.542&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral F: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 0.56&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.56&#949; (Mean = 0.816&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.99&#949; (Mean = 0.797&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 0.561&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.26&#949; (Mean = 0.631&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_1_complete_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_1_complete_" title="ellint_1 (complete)">ellint_1
+ (complete)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_1_complete_.table_ellint_1_complete_"></a><p class="title"><b>Table&#160;26.&#160;Error rates for ellint_1 (complete)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_1 (complete)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral K: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.887&#949; (Mean = 0.296&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.19&#949; (Mean = 0.765&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.623&#949; (Mean = 0.393&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.887&#949; (Mean = 0.296&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.915&#949; (Mean = 0.547&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral K: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.473&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.19&#949; (Mean = 0.694&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.851&#949; (Mean = 0.0851&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.32&#949; (Mean = 0.688&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.473&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.958&#949; (Mean = 0.408&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_2"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_2" title="ellint_2">ellint_2</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_2.table_ellint_2"></a><p class="title"><b>Table&#160;27.&#160;Error rates for ellint_2</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_2">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.63&#949; (Mean = 0.325&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.656&#949; (Mean = 0.317&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_2__cmath__Elliptic_Integral_E_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.656&#949; (Mean = 0.317&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.31&#949; (Mean = 0.727&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.4&#949; (Mean = 1.16&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.05&#949; (Mean = 0.632&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 3.08e+04&#949; (Mean = 3.84e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.05&#949; (Mean = 0.632&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.23&#949; (Mean = 0.639&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Small Angles
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.5&#949; (Mean = 0.118&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.283&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 2&#949; (Mean = 0.333&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.283&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.421&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_2_complete_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_2_complete_" title="ellint_2 (complete)">ellint_2
+ (complete)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_2_complete_.table_ellint_2_complete_"></a><p class="title"><b>Table&#160;28.&#160;Error rates for ellint_2 (complete)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_2 (complete)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3.09&#949; (Mean = 1.04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ellint_2_complete__GSL_2_1_Elliptic_Integral_E_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.836&#949; (Mean = 0.469&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 170&#949; (Mean = 55.1&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.836&#949; (Mean = 0.469&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.3&#949; (Mean = 0.615&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.34&#949; (Mean = 1.18&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.629&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.49e+04&#949; (Mean = 3.39e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.629&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.71&#949; (Mean = 0.553&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_3"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_3" title="ellint_3">ellint_3</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_3.table_ellint_3"></a><p class="title"><b>Table&#160;29.&#160;Error rates for ellint_3</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_3">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral PI: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 475&#949; (Mean = 86.3&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3__cmath__Elliptic_Integral_PI_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.48e+05&#949; (Mean = 2.54e+04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ellint_3_GSL_2_1_Elliptic_Integral_PI_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 475&#949; (Mean = 86.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 565&#949; (Mean = 102&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral PI: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.54&#949; (Mean = 0.895&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 3.37e+20&#949; (Mean
+ = 3.47e+19&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3__cmath__Elliptic_Integral_PI_Random_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 633&#949; (Mean = 50.1&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.49&#949; (Mean = 0.885&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.33&#949; (Mean = 0.971&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral PI: Large Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.7&#949; (Mean = 0.893&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 2.52e+18&#949; (Mean
+ = 4.83e+17&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3__cmath__Elliptic_Integral_PI_Large_Random_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.557&#949; (Mean = 0.0389&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 40.1&#949; (Mean = 7.77&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.7&#949; (Mean = 0.892&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.86&#949; (Mean = 0.944&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_3_complete_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_3_complete_" title="ellint_3 (complete)">ellint_3
+ (complete)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_3_complete_.table_ellint_3_complete_"></a><p class="title"><b>Table&#160;30.&#160;Error rates for ellint_3 (complete)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_3 (complete)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Complete Elliptic Integral PI: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.4&#949; (Mean = 0.575&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 6.31e+20&#949; (Mean
+ = 1.53e+20&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3_complete___cmath__Complete_Elliptic_Integral_PI_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.33e+04&#949; (Mean = 1.54e+04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ellint_3_complete__GSL_2_1_Complete_Elliptic_Integral_PI_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.4&#949; (Mean = 0.575&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.971&#949; (Mean = 0.464&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Complete Elliptic Integral PI: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.45&#949; (Mean = 0.696&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 8.78e+20&#949; (Mean
+ = 1.02e+20&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3_complete___cmath__Complete_Elliptic_Integral_PI_Random_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 24&#949; (Mean = 2.99&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.4&#949; (Mean = 0.677&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.46&#949; (Mean = 0.657&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_d"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_d" title="ellint_d">ellint_d</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_d.table_ellint_d"></a><p class="title"><b>Table&#160;31.&#160;Error rates for ellint_d</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_d">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.862&#949; (Mean = 0.568&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.3&#949; (Mean = 0.813&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.3&#949; (Mean = 0.813&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.862&#949; (Mean = 0.457&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral D: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3.01&#949; (Mean = 0.928&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.51&#949; (Mean = 0.883&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.51&#949; (Mean = 0.883&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.87&#949; (Mean = 0.805&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_d_complete_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_d_complete_" title="ellint_d (complete)">ellint_d
+ (complete)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_d_complete_.table_ellint_d_complete_"></a><p class="title"><b>Table&#160;32.&#160;Error rates for ellint_d (complete)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_d (complete)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.637&#949; (Mean = 0.368&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.735&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.735&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.637&#949; (Mean = 0.368&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral D: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.334&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.334&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.355&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_rc"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_rc" title="ellint_rc">ellint_rc</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_rc.table_ellint_rc"></a><p class="title"><b>Table&#160;33.&#160;Error rates for ellint_rc</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_rc">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ RC: Random data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.4&#949; (Mean = 0.624&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.995&#949; (Mean = 0.433&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.962&#949; (Mean = 0.407&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_rd"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_rd" title="ellint_rd">ellint_rd</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_rd.table_ellint_rd"></a><p class="title"><b>Table&#160;34.&#160;Error rates for ellint_rd</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_rd">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ RD: Random data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.59&#949; (Mean = 0.878&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.73&#949; (Mean = 0.831&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.16&#949; (Mean = 0.803&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RD: y = z
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.896&#949; (Mean = 0.022&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.88&#949; (Mean = 0.839&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.65&#949; (Mean = 0.82&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 16.5&#949; (Mean = 0.843&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RD: x = y
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.824&#949; (Mean = 0.0272&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 3.74&#949; (Mean = 0.84&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.85&#949; (Mean = 0.865&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.51&#949; (Mean = 0.816&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RD: x = 0, y = z
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2&#949; (Mean = 0.656&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.19&#949; (Mean = 0.522&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.16&#949; (Mean = 0.497&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RD: x = y = z
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.03&#949; (Mean = 0.418&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.387&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.03&#949; (Mean = 0.418&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RD: x = 0
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.85&#949; (Mean = 0.781&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.79&#949; (Mean = 0.883&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.64&#949; (Mean = 0.894&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_rf"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_rf" title="ellint_rf">ellint_rf</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_rf.table_ellint_rf"></a><p class="title"><b>Table&#160;35.&#160;Error rates for ellint_rf</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_rf">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ RF: Random data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.73&#949; (Mean = 0.804&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.54&#949; (Mean = 0.674&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.02&#949; (Mean = 0.677&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RF: x = y = z
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.999&#949; (Mean = 0.34&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.991&#949; (Mean = 0.345&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.999&#949; (Mean = 0.34&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RF: x = y or y = z or x = z
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.536&#949; (Mean = 0.00658&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.89&#949; (Mean = 0.749&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.95&#949; (Mean = 0.418&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.21&#949; (Mean = 0.394&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RF: x = 0, y = z
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.29&#949; (Mean = 0.527&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.894&#949; (Mean = 0.338&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.999&#949; (Mean = 0.407&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RF: z = 0
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.54&#949; (Mean = 0.781&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.7&#949; (Mean = 0.539&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.89&#949; (Mean = 0.587&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_rg"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_rg" title="ellint_rg">ellint_rg</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_rg.table_ellint_rg"></a><p class="title"><b>Table&#160;36.&#160;Error rates for ellint_rg</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_rg">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ RG: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.983&#949; (Mean = 0.0172&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 0.983&#949; (Mean = 0.0172&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.95&#949; (Mean = 0.951&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.65&#949; (Mean = 0.929&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RG: two values 0
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RG: All values the same or zero
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.992&#949; (Mean = 0.288&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.06&#949; (Mean = 0.348&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RG: two values the same
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.594&#949; (Mean = 0.0103&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 0.594&#949; (Mean = 0.0103&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.51&#949; (Mean = 0.404&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.96&#949; (Mean = 0.374&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RG: one value zero
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.14&#949; (Mean = 0.722&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.96&#949; (Mean = 0.674&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ellint_rj"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ellint_rj" title="ellint_rj">ellint_rj</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ellint_rj.table_ellint_rj"></a><p class="title"><b>Table&#160;37.&#160;Error rates for ellint_rj</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_rj">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ RJ: Random data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.52&#949; (Mean = 0.0184&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 3.57&#949; (Mean = 0.704&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ellint_rj_GSL_2_1_RJ_Random_data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 186&#949; (Mean = 6.67&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 215&#949; (Mean = 7.66&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RJ: 4 Equal Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.03&#949; (Mean = 0.418&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.387&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.03&#949; (Mean = 0.418&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RJ: 3 Equal Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3.96&#949; (Mean = 1.06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 20.8&#949; (Mean = 0.986&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 39.9&#949; (Mean = 1.17&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RJ: 2 Equal Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.6&#949; (Mean = 0.0228&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.57&#949; (Mean = 0.754&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 220&#949; (Mean = 6.64&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 214&#949; (Mean = 5.28&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RJ: Equal z and p
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.742&#949; (Mean = 0.0166&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.62&#949; (Mean = 0.699&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 17.2&#949; (Mean = 1.16&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 16.1&#949; (Mean = 1.14&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_erf"></a><a class="link" href="index.html#special_function_error_rates_rep.section_erf" title="erf">erf</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_erf.table_erf"></a><p class="title"><b>Table&#160;38.&#160;Error rates for erf</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for erf">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Erf Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.925&#949; (Mean = 0.193&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.944&#949; (Mean = 0.191&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.944&#949; (Mean = 0.191&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.841&#949; (Mean = 0.0687&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.06&#949; (Mean = 0.319&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.925&#949; (Mean = 0.193&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.944&#949; (Mean = 0.194&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.182&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.57&#949; (Mean = 0.317&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Erf Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.5&#949; (Mean = 0.193&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.921&#949; (Mean = 0.0723&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.921&#949; (Mean = 0.0723&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.119&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.31&#949; (Mean = 0.368&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.5&#949; (Mean = 0.197&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.921&#949; (Mean = 0.071&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.171&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 1.19&#949; (Mean = 0.244&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Erf Function: Large Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))<br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max
+ = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_erf_inv"></a><a class="link" href="index.html#special_function_error_rates_rep.section_erf_inv" title="erf_inv">erf_inv</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_erf_inv.table_erf_inv"></a><p class="title"><b>Table&#160;39.&#160;Error rates for erf_inv</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for erf_inv">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse Erf Function
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.389&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.08&#949; (Mean = 0.395&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.09&#949; (Mean = 0.502&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_erfc"></a><a class="link" href="index.html#special_function_error_rates_rep.section_erfc" title="erfc">erfc</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_erfc.table_erfc"></a><p class="title"><b>Table&#160;40.&#160;Error rates for erfc</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for erfc">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Erf Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))<br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max
+ = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.658&#949; (Mean = 0.0537&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.01&#949; (Mean = 0.485&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Erf Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.76&#949; (Mean = 0.365&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.35&#949; (Mean = 0.307&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.35&#949; (Mean = 0.307&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.983&#949; (Mean = 0.213&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.64&#949; (Mean = 0.662&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.76&#949; (Mean = 0.38&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 2.81&#949; (Mean = 0.739&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.65&#949; (Mean = 0.373&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 2.36&#949; (Mean = 0.539&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Erf Function: Large Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 0.542&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.26&#949; (Mean = 0.441&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.26&#949; (Mean = 0.441&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.868&#949; (Mean = 0.147&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 3.9&#949; (Mean = 0.472&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 0.564&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 4.91&#949; (Mean = 1.54&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.14&#949; (Mean = 0.248&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.84&#949; (Mean = 0.331&#949;))
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_erfc_inv"></a><a class="link" href="index.html#special_function_error_rates_rep.section_erfc_inv" title="erfc_inv">erfc_inv</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_erfc_inv.table_erfc_inv"></a><p class="title"><b>Table&#160;41.&#160;Error rates for erfc_inv</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for erfc_inv">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Inverse Erfc Function
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.397&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.08&#949; (Mean = 0.403&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.491&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Inverse Erfc Function: extreme values
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.62&#949; (Mean = 0.383&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.62&#949; (Mean = 0.383&#949;)</span>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_expint_Ei_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_expint_Ei_" title="expint (Ei)">expint
+ (Ei)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_expint_Ei_.table_expint_Ei_"></a><p class="title"><b>Table&#160;42.&#160;Error rates for expint (Ei)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for expint (Ei)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Exponential Integral Ei
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.05&#949; (Mean = 0.821&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 14.1&#949; (Mean = 2.43&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_expint_Ei___cmath__Exponential_Integral_Ei">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.994&#949; (Mean = 0.142&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 8.96&#949; (Mean = 0.703&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.05&#949; (Mean = 0.835&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.43&#949; (Mean = 0.54&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential Integral Ei: double exponent range
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.72&#949; (Mean = 0.593&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 3.11&#949; (Mean = 1.13&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.156&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.5&#949; (Mean = 0.612&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.72&#949; (Mean = 0.607&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.7&#949; (Mean = 0.66&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential Integral Ei: long exponent range
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.98&#949; (Mean = 0.595&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.93&#949; (Mean = 0.855&#949;))
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.98&#949; (Mean = 0.575&#949;)</span>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_expint_En_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_expint_En_" title="expint (En)">expint
+ (En)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_expint_En_.table_expint_En_"></a><p class="title"><b>Table&#160;43.&#160;Error rates for expint (En)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for expint (En)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Exponential Integral En
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.589&#949; (Mean = 0.0331&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 58.5&#949; (Mean = 17.1&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.97&#949; (Mean = 2.13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.97&#949; (Mean = 2.13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.16&#949; (Mean = 1.85&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential Integral En: small z values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 115&#949; (Mean = 23.6&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.99&#949; (Mean = 0.559&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.99&#949; (Mean = 0.559&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.62&#949; (Mean = 0.531&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential Integral E1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.556&#949; (Mean = 0.0625&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 0.988&#949; (Mean = 0.469&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.965&#949; (Mean = 0.414&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.965&#949; (Mean = 0.408&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.988&#949; (Mean = 0.486&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_expm1"></a><a class="link" href="index.html#special_function_error_rates_rep.section_expm1" title="expm1">expm1</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_expm1.table_expm1"></a><p class="title"><b>Table&#160;44.&#160;Error rates for expm1</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for expm1">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Random test data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.992&#949; (Mean = 0.402&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.992&#949; (Mean = 0.402&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.992&#949; (Mean = 0.402&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.793&#949; (Mean = 0.126&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 0.793&#949; (Mean = 0.126&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.31&#949; (Mean = 0.428&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.996&#949; (Mean = 0.426&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.31&#949; (Mean = 0.496&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.31&#949; (Mean = 0.496&#949;))
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_gamma_p"></a><a class="link" href="index.html#special_function_error_rates_rep.section_gamma_p" title="gamma_p">gamma_p</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_gamma_p.table_gamma_p"></a><p class="title"><b>Table&#160;45.&#160;Error rates for gamma_p</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for gamma_p">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) medium values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.955&#949; (Mean = 0.05&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 342&#949; (Mean = 45.8&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 389&#949; (Mean = 44&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 41.6&#949; (Mean = 8.09&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 239&#949; (Mean = 30.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 35.1&#949; (Mean = 6.98&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) small values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.82&#949; (Mean = 0.758&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.01&#949; (Mean = 0.306&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2&#949; (Mean = 0.464&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2&#949; (Mean = 0.461&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.54&#949; (Mean = 0.439&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) large values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.02e+03&#949; (Mean = 105&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.11e+03&#949; (Mean = 67.5&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.08e+04&#949; (Mean = 1.86e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.02e+04&#949; (Mean = 1.91e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 243&#949; (Mean = 20.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) integer and half integer values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 128&#949; (Mean = 22.6&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 66.2&#949; (Mean = 12.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.8&#949; (Mean = 2.66&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 71.6&#949; (Mean = 9.47&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 13&#949; (Mean = 2.97&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_gamma_p_inv"></a><a class="link" href="index.html#special_function_error_rates_rep.section_gamma_p_inv" title="gamma_p_inv">gamma_p_inv</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_gamma_p_inv.table_gamma_p_inv"></a><p class="title"><b>Table&#160;46.&#160;Error rates for gamma_p_inv</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for gamma_p_inv">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ incomplete gamma inverse(a, z) medium values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.993&#949; (Mean = 0.15&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 4.88&#949; (Mean = 0.868&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.8&#949; (Mean = 0.406&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.89&#949; (Mean = 0.466&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.71&#949; (Mean = 0.34&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ incomplete gamma inverse(a, z) large values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 0.816&#949; (Mean = 0.0874&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.509&#949; (Mean = 0.0447&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.509&#949; (Mean = 0.0447&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.924&#949; (Mean = 0.108&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ incomplete gamma inverse(a, z) small values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 441&#949; (Mean = 53.9&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 547&#949; (Mean = 61.6&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.17e+03&#949; (Mean = 1.45e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.09e+04&#949; (Mean = 1.3e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.1e+03&#949; (Mean = 131&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_gamma_p_inva"></a><a class="link" href="index.html#special_function_error_rates_rep.section_gamma_p_inva" title="gamma_p_inva">gamma_p_inva</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_gamma_p_inva.table_gamma_p_inva"></a><p class="title"><b>Table&#160;47.&#160;Error rates for gamma_p_inva</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for gamma_p_inva">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Incomplete gamma inverses.
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.87&#949; (Mean = 1.15&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.08&#949; (Mean = 1.12&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.92&#949; (Mean = 1.03&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_gamma_q"></a><a class="link" href="index.html#special_function_error_rates_rep.section_gamma_q" title="gamma_q">gamma_q</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_gamma_q.table_gamma_q"></a><p class="title"><b>Table&#160;48.&#160;Error rates for gamma_q</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for gamma_q">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) medium values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.927&#949; (Mean = 0.035&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 201&#949; (Mean = 13.5&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 131&#949; (Mean = 12.7&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 32.3&#949; (Mean = 6.61&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 199&#949; (Mean = 26.6&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 23.7&#949; (Mean = 4&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) small values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> <span class="red">Max = 1.38e+10&#949; (Mean = 1.05e+09&#949;))</span><br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 65.6&#949; (Mean = 11&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.45&#949; (Mean = 0.885&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.45&#949; (Mean = 0.819&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.26&#949; (Mean = 0.74&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) large values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.71e+04&#949; (Mean = 2.16e+03&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.02e+03&#949; (Mean = 62.7&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.82e+03&#949; (Mean = 414&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.15e+04&#949; (Mean = 733&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 469&#949; (Mean = 31.5&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) integer and half integer values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 118&#949; (Mean = 12.5&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 138&#949; (Mean = 16.9&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.1&#949; (Mean = 2.07&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 54.7&#949; (Mean = 6.16&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.72&#949; (Mean = 1.48&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_gamma_q_inv"></a><a class="link" href="index.html#special_function_error_rates_rep.section_gamma_q_inv" title="gamma_q_inv">gamma_q_inv</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_gamma_q_inv.table_gamma_q_inv"></a><p class="title"><b>Table&#160;49.&#160;Error rates for gamma_q_inv</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for gamma_q_inv">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ incomplete gamma inverse(a, z) medium values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.912&#949; (Mean = 0.154&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 4.66&#949; (Mean = 0.792&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.2&#949; (Mean = 0.627&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.2&#949; (Mean = 0.683&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.88&#949; (Mean = 0.469&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ incomplete gamma inverse(a, z) large values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.894&#949; (Mean = 0.0915&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 0.894&#949; (Mean = 0.106&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.814&#949; (Mean = 0.0856&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ incomplete gamma inverse(a, z) small values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 292&#949; (Mean = 36.4&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 415&#949; (Mean = 48.7&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.28e+03&#949; (Mean = 1.09e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.98e+03&#949; (Mean = 877&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 451&#949; (Mean = 64.7&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_gamma_q_inva"></a><a class="link" href="index.html#special_function_error_rates_rep.section_gamma_q_inva" title="gamma_q_inva">gamma_q_inva</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_gamma_q_inva.table_gamma_q_inva"></a><p class="title"><b>Table&#160;50.&#160;Error rates for gamma_q_inva</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for gamma_q_inva">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Incomplete gamma inverses.
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.42&#949; (Mean = 1.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.86&#949; (Mean = 1.24&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.05&#949; (Mean = 1.08&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_hermite"></a><a class="link" href="index.html#special_function_error_rates_rep.section_hermite" title="hermite">hermite</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_hermite.table_hermite"></a><p class="title"><b>Table&#160;51.&#160;Error rates for hermite</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for hermite">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Hermite Polynomials
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.24&#949; (Mean = 2.07&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.24&#949; (Mean = 2.07&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.46&#949; (Mean = 1.41&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_heuman_lambda"></a><a class="link" href="index.html#special_function_error_rates_rep.section_heuman_lambda" title="heuman_lambda">heuman_lambda</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_heuman_lambda.table_heuman_lambda"></a><p class="title"><b>Table&#160;52.&#160;Error rates for heuman_lambda</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for heuman_lambda">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral Jacobi Zeta: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.89&#949; (Mean = 0.887&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.89&#949; (Mean = 0.887&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.08&#949; (Mean = 0.734&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral Heuman Lambda: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.82&#949; (Mean = 0.609&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.82&#949; (Mean = 0.608&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.12&#949; (Mean = 0.588&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ibeta"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ibeta" title="ibeta">ibeta</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ibeta.table_ibeta"></a><p class="title"><b>Table&#160;53.&#160;Error rates for ibeta</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibeta">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 682&#949; (Mean = 32.6&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 22.9&#949; (Mean = 3.35&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.97&#949; (Mean = 2.09&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 21.3&#949; (Mean = 2.75&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.4&#949; (Mean = 1.93&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 690&#949; (Mean = 151&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 232&#949; (Mean = 27.9&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 50&#949; (Mean = 12.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 124&#949; (Mean = 18.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 106&#949; (Mean = 16.3&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Large and Diverse Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.26&#949; (Mean = 0.063&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 3.9e+05&#949; (Mean = 1.82e+04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ibeta_GSL_2_1_Incomplete_Beta_Function_Large_and_Diverse_Values">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 574&#949; (Mean = 49.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.96e+04&#949; (Mean = 997&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.98e+04&#949; (Mean = 2.07e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.32e+03&#949; (Mean = 68.5&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Integer Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 254&#949; (Mean = 50.9&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 62.2&#949; (Mean = 8.95&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.45&#949; (Mean = 0.814&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 44.5&#949; (Mean = 10.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.85&#949; (Mean = 0.791&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ibeta_inv"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ibeta_inv" title="ibeta_inv">ibeta_inv</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ibeta_inv.table_ibeta_inv"></a><p class="title"><b>Table&#160;54.&#160;Error rates for ibeta_inv</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibeta_inv">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse incomplete beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11&#949; (Mean = 0.345&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 1.14e+121&#949; (Mean
+ = 3.28e+119&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ibeta_inv_Rmath_3_2_3_Inverse_incomplete_beta">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.8e+04&#949; (Mean = 2.66e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.07e+04&#949; (Mean = 2.86e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.59e+03&#949; (Mean = 277&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ibeta_inva"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ibeta_inva" title="ibeta_inva">ibeta_inva</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ibeta_inva.table_ibeta_inva"></a><p class="title"><b>Table&#160;55.&#160;Error rates for ibeta_inva</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibeta_inva">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse incomplete beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.602&#949; (Mean = 0.0239&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 377&#949; (Mean = 24.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 438&#949; (Mean = 31.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 242&#949; (Mean = 22.9&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ibeta_invb"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ibeta_invb" title="ibeta_invb">ibeta_invb</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ibeta_invb.table_ibeta_invb"></a><p class="title"><b>Table&#160;56.&#160;Error rates for ibeta_invb</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibeta_invb">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse incomplete beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.765&#949; (Mean = 0.0422&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 407&#949; (Mean = 27.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 407&#949; (Mean = 24.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 409&#949; (Mean = 19.3&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ibetac"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ibetac" title="ibetac">ibetac</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ibetac.table_ibetac"></a><p class="title"><b>Table&#160;57.&#160;Error rates for ibetac</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibetac">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 22.4&#949; (Mean = 3.67&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.6&#949; (Mean = 2.22&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 13.8&#949; (Mean = 2.68&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.94&#949; (Mean = 1.71&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 204&#949; (Mean = 25.8&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 73.9&#949; (Mean = 11.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 132&#949; (Mean = 19.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 56.7&#949; (Mean = 14.3&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Large and Diverse Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.981&#949; (Mean = 0.0573&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 889&#949; (Mean = 68.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.45e+04&#949; (Mean = 1.32e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.31e+04&#949; (Mean = 2.04e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.88e+03&#949; (Mean = 82.7&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Integer Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 84.6&#949; (Mean = 18&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.34&#949; (Mean = 1.11&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 107&#949; (Mean = 17.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.37&#949; (Mean = 1.03&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ibetac_inv"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ibetac_inv" title="ibetac_inv">ibetac_inv</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ibetac_inv.table_ibetac_inv"></a><p class="title"><b>Table&#160;58.&#160;Error rates for ibetac_inv</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibetac_inv">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse incomplete beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.977&#949; (Mean = 0.0976&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 3.01e+132&#949; (Mean
+ = 8.65e+130&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ibetac_inv_Rmath_3_2_3_Inverse_incomplete_beta">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.88e+04&#949; (Mean = 3.16e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.05e+04&#949; (Mean = 3.33e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.93e+03&#949; (Mean = 198&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ibetac_inva"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ibetac_inva" title="ibetac_inva">ibetac_inva</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ibetac_inva.table_ibetac_inva"></a><p class="title"><b>Table&#160;59.&#160;Error rates for ibetac_inva</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibetac_inva">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse incomplete beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.683&#949; (Mean = 0.0314&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 382&#949; (Mean = 22.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 315&#949; (Mean = 23.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 408&#949; (Mean = 26.7&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_ibetac_invb"></a><a class="link" href="index.html#special_function_error_rates_rep.section_ibetac_invb" title="ibetac_invb">ibetac_invb</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_ibetac_invb.table_ibetac_invb"></a><p class="title"><b>Table&#160;60.&#160;Error rates for ibetac_invb</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibetac_invb">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse incomplete beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.724&#949; (Mean = 0.0303&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 317&#949; (Mean = 19.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 369&#949; (Mean = 22.6&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 271&#949; (Mean = 16.4&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_jacobi_cn"></a><a class="link" href="index.html#special_function_error_rates_rep.section_jacobi_cn" title="jacobi_cn">jacobi_cn</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_jacobi_cn.table_jacobi_cn"></a><p class="title"><b>Table&#160;61.&#160;Error rates for jacobi_cn</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for jacobi_cn">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 17.3&#949; (Mean = 4.29&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_cn_GSL_2_1_Jacobi_Elliptic_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 71.6&#949; (Mean = 19.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 71.6&#949; (Mean = 19.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 45.8&#949; (Mean = 11.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.816&#949; (Mean = 0.0563&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.43&#949; (Mean = 0.803&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.68&#949; (Mean = 0.443&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.68&#949; (Mean = 0.454&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.83&#949; (Mean = 0.455&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Random Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 55.2&#949; (Mean = 1.64&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_cn_GSL_2_1_Jacobi_Elliptic_Random_Small_Values">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.4&#949; (Mean = 0.594&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.4&#949; (Mean = 0.602&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 26.2&#949; (Mean = 1.17&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Modulus near 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.919&#949; (Mean = 0.127&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_cn_GSL_2_1_Jacobi_Elliptic_Modulus_near_1">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 675&#949; (Mean = 87.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 675&#949; (Mean = 86.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 513&#949; (Mean = 126&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Large Phi
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.2&#949; (Mean = 0.927&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 5.92e+03&#949; (Mean = 477&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.97e+04&#949; (Mean = 1.9e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.97e+04&#949; (Mean = 1.9e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.27e+04&#949; (Mean = 1.93e+03&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_jacobi_dn"></a><a class="link" href="index.html#special_function_error_rates_rep.section_jacobi_dn" title="jacobi_dn">jacobi_dn</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_jacobi_dn.table_jacobi_dn"></a><p class="title"><b>Table&#160;62.&#160;Error rates for jacobi_dn</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for jacobi_dn">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.82&#949; (Mean = 1.18&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_dn_GSL_2_1_Jacobi_Elliptic_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 49&#949; (Mean = 14&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 49&#949; (Mean = 14&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 34.3&#949; (Mean = 8.71&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3&#949; (Mean = 0.61&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.53&#949; (Mean = 0.473&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.53&#949; (Mean = 0.481&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.52&#949; (Mean = 0.466&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Random Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.5&#949; (Mean = 0.0122&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.5&#949; (Mean = 0.391&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_dn_GSL_2_1_Jacobi_Elliptic_Random_Small_Values">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 22.4&#949; (Mean = 0.777&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 22.4&#949; (Mean = 0.763&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 16.1&#949; (Mean = 0.685&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Modulus near 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.28&#949; (Mean = 0.194&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_dn_GSL_2_1_Jacobi_Elliptic_Modulus_near_1">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.75e+03&#949; (Mean = 293&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.75e+03&#949; (Mean = 293&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.24e+03&#949; (Mean = 482&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Large Phi
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.1&#949; (Mean = 0.897&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 121&#949; (Mean = 22&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.82e+04&#949; (Mean = 1.79e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.82e+04&#949; (Mean = 1.79e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.67e+04&#949; (Mean = 1e+03&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_jacobi_sn"></a><a class="link" href="index.html#special_function_error_rates_rep.section_jacobi_sn" title="jacobi_sn">jacobi_sn</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_jacobi_sn.table_jacobi_sn"></a><p class="title"><b>Table&#160;63.&#160;Error rates for jacobi_sn</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for jacobi_sn">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 588&#949; (Mean = 146&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_sn_GSL_2_1_Jacobi_Elliptic_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 341&#949; (Mean = 80.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 341&#949; (Mean = 80.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 481&#949; (Mean = 113&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.02&#949; (Mean = 1.07&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.01&#949; (Mean = 0.584&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.01&#949; (Mean = 0.593&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.92&#949; (Mean = 0.567&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Random Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 11.7&#949; (Mean = 1.65&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_sn_GSL_2_1_Jacobi_Elliptic_Random_Small_Values">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.99&#949; (Mean = 0.347&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.99&#949; (Mean = 0.347&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.11&#949; (Mean = 0.385&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Modulus near 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_sn_GSL_2_1_Jacobi_Elliptic_Modulus_near_1">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 109&#949; (Mean = 7.35&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 109&#949; (Mean = 7.38&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 23.2&#949; (Mean = 1.85&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Large Phi
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 12&#949; (Mean = 0.771&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 4.54e+04&#949; (Mean = 2.63e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.45e+04&#949; (Mean = 1.51e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.45e+04&#949; (Mean = 1.51e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.36e+04&#949; (Mean = 2.54e+03&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_jacobi_zeta"></a><a class="link" href="index.html#special_function_error_rates_rep.section_jacobi_zeta" title="jacobi_zeta">jacobi_zeta</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_jacobi_zeta.table_jacobi_zeta"></a><p class="title"><b>Table&#160;64.&#160;Error rates for jacobi_zeta</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for jacobi_zeta">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral Jacobi Zeta: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.66&#949; (Mean = 0.48&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.66&#949; (Mean = 0.48&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.52&#949; (Mean = 0.357&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral Jacobi Zeta: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.99&#949; (Mean = 0.824&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.96&#949; (Mean = 1.06&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.89&#949; (Mean = 0.824&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral Jacobi Zeta: Large Phi Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.92&#949; (Mean = 0.951&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.05&#949; (Mean = 1.13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.52&#949; (Mean = 0.977&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_laguerre_n_m_x_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_laguerre_n_m_x_" title="laguerre(n, m, x)">laguerre(n,
+ m, x)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_laguerre_n_m_x_.table_laguerre_n_m_x_"></a><p class="title"><b>Table&#160;65.&#160;Error rates for laguerre(n, m, x)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for laguerre(n, m, x)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Associated Laguerre Polynomials
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.84&#949; (Mean = 0.0358&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 434&#949; (Mean = 10.7&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 167&#949; (Mean = 6.38&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 206&#949; (Mean = 6.86&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 167&#949; (Mean = 6.38&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 434&#949; (Mean = 11.1&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_laguerre_n_x_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_laguerre_n_x_" title="laguerre(n, x)">laguerre(n,
+ x)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_laguerre_n_x_.table_laguerre_n_x_"></a><p class="title"><b>Table&#160;66.&#160;Error rates for laguerre(n, x)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for laguerre(n, x)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Laguerre Polynomials
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.82&#949; (Mean = 0.408&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 3.1e+03&#949; (Mean = 185&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.39e+04&#949; (Mean = 828&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 4.2e+03&#949; (Mean = 251&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.39e+04&#949; (Mean = 828&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.1e+03&#949; (Mean = 185&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_legendre_p"></a><a class="link" href="index.html#special_function_error_rates_rep.section_legendre_p" title="legendre_p">legendre_p</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_legendre_p.table_legendre_p"></a><p class="title"><b>Table&#160;67.&#160;Error rates for legendre_p</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for legendre_p">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Legendre Polynomials: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.732&#949; (Mean = 0.0619&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 211&#949; (Mean = 20.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 69.2&#949; (Mean = 9.58&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 124&#949; (Mean = 13.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 69.2&#949; (Mean = 9.58&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 211&#949; (Mean = 20.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Legendre Polynomials: Large Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.632&#949; (Mean = 0.0693&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 300&#949; (Mean = 33.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 699&#949; (Mean = 59.6&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 343&#949; (Mean = 32.1&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 699&#949; (Mean = 59.6&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 300&#949; (Mean = 33.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_legendre_p_associated_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_legendre_p_associated_" title="legendre_p (associated)">legendre_p
+ (associated)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_legendre_p_associated_.table_legendre_p_associated_"></a><p class="title"><b>Table&#160;68.&#160;Error rates for legendre_p (associated)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for legendre_p (associated)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Associated Legendre Polynomials: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.999&#949; (Mean = 0.05&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 121&#949; (Mean = 6.75&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_legendre_p_associated__GSL_2_1_Associated_Legendre_Polynomials_Small_Values">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 175&#949; (Mean = 9.88&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 175&#949; (Mean = 9.36&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_legendre_p_associated___cmath__Associated_Legendre_Polynomials_Small_Values">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 77.7&#949; (Mean = 5.59&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 121&#949; (Mean = 7.14&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_legendre_q"></a><a class="link" href="index.html#special_function_error_rates_rep.section_legendre_q" title="legendre_q">legendre_q</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_legendre_q.table_legendre_q"></a><p class="title"><b>Table&#160;69.&#160;Error rates for legendre_q</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for legendre_q">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Legendre Polynomials: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.612&#949; (Mean = 0.0517&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 46.4&#949; (Mean = 7.46&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 50.9&#949; (Mean = 9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 50.9&#949; (Mean = 8.98&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 46.4&#949; (Mean = 7.32&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Legendre Polynomials: Large Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.49&#949; (Mean = 0.202&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 4.6e+03&#949; (Mean = 366&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.98e+03&#949; (Mean = 478&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.98e+03&#949; (Mean = 478&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.6e+03&#949; (Mean = 366&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_lgamma"></a><a class="link" href="index.html#special_function_error_rates_rep.section_lgamma" title="lgamma">lgamma</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_lgamma.table_lgamma"></a><p class="title"><b>Table&#160;70.&#160;Error rates for lgamma</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for lgamma">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ factorials
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 33.6&#949; (Mean = 2.78&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.55&#949; (Mean = 0.592&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.991&#949; (Mean = 0.308&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.67&#949; (Mean = 0.487&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.67&#949; (Mean = 0.487&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.991&#949; (Mean = 0.383&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.36&#949; (Mean = 0.476&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.914&#949; (Mean = 0.175&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.958&#949; (Mean = 0.38&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near 0
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 5.21&#949; (Mean = 1.57&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.42&#949; (Mean = 0.566&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.964&#949; (Mean = 0.543&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.964&#949; (Mean = 0.543&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.42&#949; (Mean = 0.566&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.964&#949; (Mean = 0.543&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.964&#949; (Mean = 0.462&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.962&#949; (Mean = 0.372&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 442&#949; (Mean = 88.8&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 7.99e+04&#949; (Mean = 1.68e+04&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.948&#949; (Mean = 0.36&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.615&#949; (Mean = 0.096&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.615&#949; (Mean = 0.096&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.948&#949; (Mean = 0.36&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.71&#949; (Mean = 0.581&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.867&#949; (Mean = 0.468&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.906&#949; (Mean = 0.565&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near 2
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.17e+03&#949; (Mean = 274&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 2.63e+05&#949; (Mean = 5.84e+04&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.878&#949; (Mean = 0.242&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.741&#949; (Mean = 0.263&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.741&#949; (Mean = 0.263&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.878&#949; (Mean = 0.242&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.598&#949; (Mean = 0.235&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.591&#949; (Mean = 0.159&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.741&#949; (Mean = 0.473&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near -10
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 24.9&#949; (Mean = 4.6&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 4.22&#949; (Mean = 1.26&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.81&#949; (Mean = 1.01&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.997&#949; (Mean = 0.412&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.997&#949; (Mean = 0.412&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.81&#949; (Mean = 1.01&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 3.04&#949; (Mean = 1.01&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.22&#949; (Mean = 1.33&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.997&#949; (Mean = 0.444&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near -55
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 7.02&#949; (Mean = 1.47&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 250&#949; (Mean = 60.9&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.821&#949; (Mean = 0.513&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.58&#949; (Mean = 0.672&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.58&#949; (Mean = 0.672&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.59&#949; (Mean = 0.587&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.821&#949; (Mean = 0.674&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.821&#949; (Mean = 0.419&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 249&#949; (Mean = 43.1&#949;))
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_log1p"></a><a class="link" href="index.html#special_function_error_rates_rep.section_log1p" title="log1p">log1p</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_log1p.table_log1p"></a><p class="title"><b>Table&#160;71.&#160;Error rates for log1p</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for log1p">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Random test data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.818&#949; (Mean = 0.227&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.818&#949; (Mean = 0.227&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.818&#949; (Mean = 0.227&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.846&#949; (Mean = 0.153&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 0.846&#949; (Mean = 0.153&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.3&#949; (Mean = 0.66&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.818&#949; (Mean = 0.249&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.509&#949; (Mean = 0.057&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.509&#949; (Mean = 0.057&#949;))
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_non_central_beta_CDF"></a><a class="link" href="index.html#special_function_error_rates_rep.section_non_central_beta_CDF" title="non central beta CDF">non
+ central beta CDF</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_non_central_beta_CDF.table_non_central_beta_CDF"></a><p class="title"><b>Table&#160;72.&#160;Error rates for non central beta CDF</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for non central beta CDF">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Non Central Beta, medium parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.0649&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 1.46e+26&#949; (Mean
+ = 3.5e+24&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_beta_CDF_Rmath_3_2_3_Non_Central_Beta_medium_parameters">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 824&#949; (Mean = 27.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 832&#949; (Mean = 38.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 242&#949; (Mean = 31&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central Beta, large parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.18&#949; (Mean = 0.175&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 1.01e+36&#949; (Mean
+ = 1.19e+35&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_beta_CDF_Rmath_3_2_3_Non_Central_Beta_large_parameters">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.5e+04&#949; (Mean = 3.78e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.57e+04&#949; (Mean = 4.45e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.66e+03&#949; (Mean = 500&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_non_central_beta_CDF_complement"></a><a class="link" href="index.html#special_function_error_rates_rep.section_non_central_beta_CDF_complement" title="non central beta CDF complement">non
+ central beta CDF complement</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_non_central_beta_CDF_complement.table_non_central_beta_CDF_complement"></a><p class="title"><b>Table&#160;73.&#160;Error rates for non central beta CDF complement</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for non central beta CDF complement">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Non Central Beta, medium parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.0936&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 7.5e+97&#949; (Mean
+ = 1.37e+96&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_beta_CDF_complement_Rmath_3_2_3_Non_Central_Beta_medium_parameters">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 396&#949; (Mean = 50.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 554&#949; (Mean = 57.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 624&#949; (Mean = 62.7&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central Beta, large parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.986&#949; (Mean = 0.188&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_beta_CDF_complement_Rmath_3_2_3_Non_Central_Beta_large_parameters">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.83e+03&#949; (Mean = 993&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.56e+03&#949; (Mean = 707&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.25e+04&#949; (Mean = 1.49e+03&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_non_central_chi_squared_CDF"></a><a class="link" href="index.html#special_function_error_rates_rep.section_non_central_chi_squared_CDF" title="non central chi squared CDF">non
+ central chi squared CDF</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_non_central_chi_squared_CDF.table_non_central_chi_squared_CDF"></a><p class="title"><b>Table&#160;74.&#160;Error rates for non central chi squared CDF</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for non central chi squared CDF">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Non Central Chi Squared, medium parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.99&#949; (Mean = 0.0544&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 727&#949; (Mean = 121&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 46.5&#949; (Mean = 10.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 115&#949; (Mean = 13.9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 48.9&#949; (Mean = 10&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central Chi Squared, large parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.07&#949; (Mean = 0.102&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 3.27e+08&#949; (Mean
+ = 2.23e+07&#949;))</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.07e+03&#949; (Mean = 336&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.17e+03&#949; (Mean = 677&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.79e+03&#949; (Mean = 723&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_non_central_chi_squared_CDF_complement"></a><a class="link" href="index.html#special_function_error_rates_rep.section_non_central_chi_squared_CDF_complement" title="non central chi squared CDF complement">non
+ central chi squared CDF complement</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_non_central_chi_squared_CDF_complement.table_non_central_chi_squared_CDF_complement"></a><p class="title"><b>Table&#160;75.&#160;Error rates for non central chi squared CDF complement</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for non central chi squared CDF complement">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Non Central Chi Squared, medium parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.96&#949; (Mean = 0.0635&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_chi_squared_CDF_complement_Rmath_3_2_3_Non_Central_Chi_Squared_medium_parameters">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 107&#949; (Mean = 17.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 171&#949; (Mean = 22.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 98.6&#949; (Mean = 15.8&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central Chi Squared, large parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.11&#949; (Mean = 0.278&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_chi_squared_CDF_complement_Rmath_3_2_3_Non_Central_Chi_Squared_large_parameters">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.02e+03&#949; (Mean = 630&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.1e+03&#949; (Mean = 577&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.43e+03&#949; (Mean = 705&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_non_central_t_CDF"></a><a class="link" href="index.html#special_function_error_rates_rep.section_non_central_t_CDF" title="non central t CDF">non
+ central t CDF</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_non_central_t_CDF.table_non_central_t_CDF"></a><p class="title"><b>Table&#160;76.&#160;Error rates for non central t CDF</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for non central t CDF">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Non Central T
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.796&#949; (Mean = 0.0691&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 5.28e+15&#949; (Mean
+ = 8.49e+14&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_t_CDF_Rmath_3_2_3_Non_Central_T">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 139&#949; (Mean = 31&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 145&#949; (Mean = 30.9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 135&#949; (Mean = 32.1&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central T (small non-centrality)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 2.09e+03&#949; (Mean = 244&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.86&#949; (Mean = 1.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.15&#949; (Mean = 2.13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.17&#949; (Mean = 1.45&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central T (large parameters)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 257&#949; (Mean = 72.1&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 2.46&#949; (Mean = 0.657&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.26e+05&#949; (Mean = 1.48e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.24e+05&#949; (Mean = 1.47e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 286&#949; (Mean = 62.8&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_non_central_t_CDF_complement"></a><a class="link" href="index.html#special_function_error_rates_rep.section_non_central_t_CDF_complement" title="non central t CDF complement">non
+ central t CDF complement</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_non_central_t_CDF_complement.table_non_central_t_CDF_complement"></a><p class="title"><b>Table&#160;77.&#160;Error rates for non central t CDF complement</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for non central t CDF complement">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Non Central T
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.707&#949; (Mean = 0.0497&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 6.19e+15&#949; (Mean
+ = 6.72e+14&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_t_CDF_complement_Rmath_3_2_3_Non_Central_T">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 201&#949; (Mean = 31.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 340&#949; (Mean = 43.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 154&#949; (Mean = 32.1&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central T (small non-centrality)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.87e+03&#949; (Mean = 263&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.5&#949; (Mean = 2.13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.5&#949; (Mean = 2.39&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.6&#949; (Mean = 1.63&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central T (large parameters)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 478&#949; (Mean = 96.3&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 2.24&#949; (Mean = 0.945&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.79e+05&#949; (Mean = 1.97e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.79e+05&#949; (Mean = 1.97e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 227&#949; (Mean = 50.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_owens_t"></a><a class="link" href="index.html#special_function_error_rates_rep.section_owens_t" title="owens_t">owens_t</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_owens_t.table_owens_t"></a><p class="title"><b>Table&#160;78.&#160;Error rates for owens_t</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for owens_t">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Owens T (medium small values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.34&#949; (Mean = 0.944&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.34&#949; (Mean = 0.911&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.37&#949; (Mean = 0.98&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Owens T (large and diverse values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 49&#949; (Mean = 2.16&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 24.5&#949; (Mean = 1.39&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.78&#949; (Mean = 0.621&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_polygamma"></a><a class="link" href="index.html#special_function_error_rates_rep.section_polygamma" title="polygamma">polygamma</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_polygamma.table_polygamma"></a><p class="title"><b>Table&#160;79.&#160;Error rates for polygamma</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for polygamma">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Mathematica Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.824&#949; (Mean = 0.0574&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 62.9&#949; (Mean = 12.8&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 108&#949; (Mean = 15.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.38&#949; (Mean = 1.84&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 34.3&#949; (Mean = 7.65&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.32&#949; (Mean = 1.95&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Mathematica Data - large arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.0592&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 244&#949; (Mean = 32.8&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_GSL_2_1_Mathematica_Data_large_arguments">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = 1.71e+56&#949; (Mean = 1.01e+55&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_Rmath_3_2_3_Mathematica_Data_large_arguments">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.23&#949; (Mean = 0.323&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.1&#949; (Mean = 0.848&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 150&#949; (Mean = 13.9&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Mathematica Data - negative arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.516&#949; (Mean = 0.022&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 36.6&#949; (Mean = 3.04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_GSL_2_1_Mathematica_Data_negative_arguments">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0&#949; (Mean = 0&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_Rmath_3_2_3_Mathematica_Data_negative_arguments">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 269&#949; (Mean = 87.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 269&#949; (Mean = 88.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 497&#949; (Mean = 129&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Mathematica Data - large negative arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.79&#949; (Mean = 0.197&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_GSL_2_1_Mathematica_Data_large_negative_arguments">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0&#949; (Mean = 0&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_Rmath_3_2_3_Mathematica_Data_large_negative_arguments">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 155&#949; (Mean = 96.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 155&#949; (Mean = 96.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 162&#949; (Mean = 101&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Mathematica Data - small arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 15.2&#949; (Mean = 5.03&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 106&#949; (Mean = 20&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.33&#949; (Mean = 0.75&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.33&#949; (Mean = 0.75&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3&#949; (Mean = 0.496&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Mathematica Data - Large orders and other bug cases
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 151&#949; (Mean = 39.3&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_GSL_2_1_Mathematica_Data_Large_orders_and_other_bug_cases">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = +INF&#949; (Mean = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_Rmath_3_2_3_Mathematica_Data_Large_orders_and_other_bug_cases">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 54.5&#949; (Mean = 13.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 145&#949; (Mean = 55.9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 200&#949; (Mean = 57.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_powm1"></a><a class="link" href="index.html#special_function_error_rates_rep.section_powm1" title="powm1">powm1</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_powm1.table_powm1"></a><p class="title"><b>Table&#160;80.&#160;Error rates for powm1</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for powm1">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ powm1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.06&#949; (Mean = 0.425&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.04&#949; (Mean = 0.493&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.88&#949; (Mean = 0.49&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.84&#949; (Mean = 0.486&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_sin_pi"></a><a class="link" href="index.html#special_function_error_rates_rep.section_sin_pi" title="sin_pi">sin_pi</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_sin_pi.table_sin_pi"></a><p class="title"><b>Table&#160;81.&#160;Error rates for sin_pi</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for sin_pi">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ sin_pi and cos_pi
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.335&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.336&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.99&#949; (Mean = 0.328&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ sin_pi and cos_pi near integers and half integers
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.976&#949; (Mean = 0.293&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.976&#949; (Mean = 0.293&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.343&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_sph_bessel"></a><a class="link" href="index.html#special_function_error_rates_rep.section_sph_bessel" title="sph_bessel">sph_bessel</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_sph_bessel.table_sph_bessel"></a><p class="title"><b>Table&#160;82.&#160;Error rates for sph_bessel</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for sph_bessel">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Bessel j: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 243&#949; (Mean = 13.3&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.91e+06&#949; (Mean = 1.09e+05&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.978&#949; (Mean = 0.0445&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.79e+03&#949; (Mean = 107&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 243&#949; (Mean = 33.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 245&#949; (Mean = 16.3&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_sph_bessel_prime"></a><a class="link" href="index.html#special_function_error_rates_rep.section_sph_bessel_prime" title="sph_bessel_prime">sph_bessel_prime</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_sph_bessel_prime.table_sph_bessel_prime"></a><p class="title"><b>Table&#160;83.&#160;Error rates for sph_bessel_prime</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for sph_bessel_prime">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Bessel j': Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.753&#949; (Mean = 0.0343&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 167&#949; (Mean = 12&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 167&#949; (Mean = 33.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 307&#949; (Mean = 25.2&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_sph_neumann"></a><a class="link" href="index.html#special_function_error_rates_rep.section_sph_neumann" title="sph_neumann">sph_neumann</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_sph_neumann.table_sph_neumann"></a><p class="title"><b>Table&#160;84.&#160;Error rates for sph_neumann</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for sph_neumann">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ y: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 234&#949; (Mean = 19.5&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.6e+06&#949; (Mean = 1.4e+05&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.995&#949; (Mean = 0.0665&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 8.5e+04&#949; (Mean = 5.33e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 234&#949; (Mean = 19.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 281&#949; (Mean = 31.1&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_sph_neumann_prime"></a><a class="link" href="index.html#special_function_error_rates_rep.section_sph_neumann_prime" title="sph_neumann_prime">sph_neumann_prime</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_sph_neumann_prime.table_sph_neumann_prime"></a><p class="title"><b>Table&#160;85.&#160;Error rates for sph_neumann_prime</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for sph_neumann_prime">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ y': Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.988&#949; (Mean = 0.0869&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 158&#949; (Mean = 18.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 158&#949; (Mean = 20.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 296&#949; (Mean = 25.6&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_spherical_harmonic_i"></a><a class="link" href="index.html#special_function_error_rates_rep.section_spherical_harmonic_i" title="spherical_harmonic_i">spherical_harmonic_i</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_spherical_harmonic_i.table_spherical_harmonic_i"></a><p class="title"><b>Table&#160;86.&#160;Error rates for spherical_harmonic_i</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for spherical_harmonic_i">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Spherical Harmonics
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.36&#949; (Mean = 0.0765&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.89e+03&#949; (Mean = 108&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.03e+04&#949; (Mean = 327&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.27e+04&#949; (Mean = 725&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_spherical_harmonic_r"></a><a class="link" href="index.html#special_function_error_rates_rep.section_spherical_harmonic_r" title="spherical_harmonic_r">spherical_harmonic_r</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_spherical_harmonic_r.table_spherical_harmonic_r"></a><p class="title"><b>Table&#160;87.&#160;Error rates for spherical_harmonic_r</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for spherical_harmonic_r">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Spherical Harmonics
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.58&#949; (Mean = 0.0707&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.89e+03&#949; (Mean = 108&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.03e+04&#949; (Mean = 327&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.27e+04&#949; (Mean = 725&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_sqrt1pm1"></a><a class="link" href="index.html#special_function_error_rates_rep.section_sqrt1pm1" title="sqrt1pm1">sqrt1pm1</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_sqrt1pm1.table_sqrt1pm1"></a><p class="title"><b>Table&#160;88.&#160;Error rates for sqrt1pm1</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for sqrt1pm1">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ sqrt1pm1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.3&#949; (Mean = 0.404&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.33&#949; (Mean = 0.404&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.54&#949; (Mean = 0.563&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.35&#949; (Mean = 0.497&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_tgamma"></a><a class="link" href="index.html#special_function_error_rates_rep.section_tgamma" title="tgamma">tgamma</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_tgamma.table_tgamma"></a><p class="title"><b>Table&#160;89.&#160;Error rates for tgamma</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for tgamma">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ factorials
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3.95&#949; (Mean = 0.783&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 314&#949; (Mean = 93.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.67&#949; (Mean = 0.617&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.66&#949; (Mean = 0.584&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.66&#949; (Mean = 0.584&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 172&#949; (Mean = 41&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.85&#949; (Mean = 0.566&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 3.17&#949; (Mean = 0.928&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near 0
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.51&#949; (Mean = 1.92&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1&#949; (Mean = 0.335&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2&#949; (Mean = 0.608&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 1&#949; (Mean = 0.376&#949;))<br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 1&#949; (Mean = 0.376&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2&#949; (Mean = 0.647&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0.5&#949; (Mean = 0.0791&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.5&#949; (Mean = 0.635&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1&#949; (Mean = 0.405&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.41&#949; (Mean = 1.81&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1&#949; (Mean = 0.32&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.51&#949; (Mean = 1.02&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.918&#949; (Mean = 0.203&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.918&#949; (Mean = 0.203&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.01&#949; (Mean = 1.06&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1&#949; (Mean = 0.175&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.1&#949; (Mean = 0.59&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1&#949; (Mean = 0.4&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near 2
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 7.95&#949; (Mean = 3.12&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1&#949; (Mean = 0.191&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.1&#949; (Mean = 1.55&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.558&#949; (Mean = 0.298&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.558&#949; (Mean = 0.298&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.01&#949; (Mean = 1.89&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2&#949; (Mean = 0.733&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near -10
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.6&#949; (Mean = 1.05&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 34.9&#949; (Mean = 9.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.75&#949; (Mean = 0.895&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.26&#949; (Mean = 1.08&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 2.26&#949; (Mean = 1.08&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.75&#949; (Mean = 0.819&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.86&#949; (Mean = 0.881&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.866&#949; (Mean = 0.445&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near -55
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.8&#949; (Mean = 0.782&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 3.89e+04&#949; (Mean = 9.52e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.69&#949; (Mean = 1.09&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.79&#949; (Mean = 0.75&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.79&#949; (Mean = 0.75&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 98.5&#949; (Mean = 53.4&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.7&#949; (Mean = 1.35&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 3.87e+04&#949; (Mean = 6.71e+03&#949;))
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_tgamma1pm1"></a><a class="link" href="index.html#special_function_error_rates_rep.section_tgamma1pm1" title="tgamma1pm1">tgamma1pm1</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_tgamma1pm1.table_tgamma1pm1"></a><p class="title"><b>Table&#160;90.&#160;Error rates for tgamma1pm1</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for tgamma1pm1">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ tgamma1pm1(dz)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.12&#949; (Mean = 0.49&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.61&#949; (Mean = 0.84&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.31&#949; (Mean = 0.517&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_tgamma_delta_ratio"></a><a class="link" href="index.html#special_function_error_rates_rep.section_tgamma_delta_ratio" title="tgamma_delta_ratio">tgamma_delta_ratio</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_tgamma_delta_ratio.table_tgamma_delta_ratio"></a><p class="title"><b>Table&#160;91.&#160;Error rates for tgamma_delta_ratio</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for tgamma_delta_ratio">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ tgamma + small delta ratios
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.83&#949; (Mean = 1.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 15.4&#949; (Mean = 2.09&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.56&#949; (Mean = 1.31&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma + small delta ratios (negative delta)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.94&#949; (Mean = 1.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.3&#949; (Mean = 2.03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.43&#949; (Mean = 1.42&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma + small integer ratios
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.96&#949; (Mean = 0.677&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.96&#949; (Mean = 0.677&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.74&#949; (Mean = 0.736&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma + small integer ratios (negative delta)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.62&#949; (Mean = 0.451&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.62&#949; (Mean = 0.451&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.15&#949; (Mean = 0.685&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ integer tgamma ratios
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.997&#949; (Mean = 0.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.997&#949; (Mean = 0.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.968&#949; (Mean = 0.386&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ integer tgamma ratios (negative delta)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.853&#949; (Mean = 0.176&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.853&#949; (Mean = 0.176&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.974&#949; (Mean = 0.175&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_tgamma_incomplete_"></a><a class="link" href="index.html#special_function_error_rates_rep.section_tgamma_incomplete_" title="tgamma (incomplete)">tgamma
+ (incomplete)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_tgamma_incomplete_.table_tgamma_incomplete_"></a><p class="title"><b>Table&#160;92.&#160;Error rates for tgamma (incomplete)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for tgamma (incomplete)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) medium values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 200&#949; (Mean = 13.3&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.47&#949; (Mean = 1.9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 412&#949; (Mean = 95.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.14&#949; (Mean = 1.76&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) small values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.753&#949; (Mean = 0.0474&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> <span class="red">Max = 1.38e+10&#949; (Mean
+ = 1.05e+09&#949;))</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.31&#949; (Mean = 0.775&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.13&#949; (Mean = 0.717&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.53&#949; (Mean = 0.66&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) integer and half integer values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 117&#949; (Mean = 12.5&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.52&#949; (Mean = 1.48&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 79.6&#949; (Mean = 20.9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.16&#949; (Mean = 1.33&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_tgamma_lower"></a><a class="link" href="index.html#special_function_error_rates_rep.section_tgamma_lower" title="tgamma_lower">tgamma_lower</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_tgamma_lower.table_tgamma_lower"></a><p class="title"><b>Table&#160;93.&#160;Error rates for tgamma_lower</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for tgamma_lower">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) medium values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.0315&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 0.833&#949; (Mean = 0.0315&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.79&#949; (Mean = 1.46&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 363&#949; (Mean = 63.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.62&#949; (Mean = 1.49&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) small values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.555&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.558&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 0.525&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) integer and half integer values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.83&#949; (Mean = 1.15&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 84.7&#949; (Mean = 17.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.69&#949; (Mean = 0.849&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_tgamma_ratio"></a><a class="link" href="index.html#special_function_error_rates_rep.section_tgamma_ratio" title="tgamma_ratio">tgamma_ratio</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_tgamma_ratio.table_tgamma_ratio"></a><p class="title"><b>Table&#160;94.&#160;Error rates for tgamma_ratio</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for tgamma_ratio">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ tgamma ratios
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.694&#949; (Mean = 0.0347&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.99&#949; (Mean = 1.15&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 174&#949; (Mean = 61.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.28&#949; (Mean = 1.12&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_trigamma"></a><a class="link" href="index.html#special_function_error_rates_rep.section_trigamma" title="trigamma">trigamma</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_trigamma.table_trigamma"></a><p class="title"><b>Table&#160;95.&#160;Error rates for trigamma</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for trigamma">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Mathematica Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.105&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.34e+04&#949; (Mean = 1.49e+03&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.34e+04&#949; (Mean = 1.51e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.28&#949; (Mean = 0.449&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.28&#949; (Mean = 0.449&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.382&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.section_zeta"></a><a class="link" href="index.html#special_function_error_rates_rep.section_zeta" title="zeta">zeta</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.section_zeta.table_zeta"></a><p class="title"><b>Table&#160;96.&#160;Error rates for zeta</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for zeta">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Zeta: Random values greater than 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.846&#949; (Mean = 0.0833&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 5.45&#949; (Mean = 1&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 8.69&#949; (Mean = 1.03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.846&#949; (Mean = 0.0833&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.836&#949; (Mean = 0.093&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Zeta: Random values less than 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.03&#949; (Mean = 2.93&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 538&#949; (Mean = 59.3&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 137&#949; (Mean = 13.8&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 70.1&#949; (Mean = 17.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.84&#949; (Mean = 3.12&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Zeta: Values close to and greater than 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.995&#949; (Mean = 0.5&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.9e+06&#949; (Mean = 5.11e+05&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 7.73&#949; (Mean = 4.07&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.995&#949; (Mean = 0.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.994&#949; (Mean = 0.421&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Zeta: Values close to and less than 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.508&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 8.53e+06&#949; (Mean = 1.87e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.991&#949; (Mean = 0.28&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.508&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.991&#949; (Mean = 0.375&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Zeta: Integer arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9&#949; (Mean = 3.06&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 70.3&#949; (Mean = 17.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3.75&#949; (Mean = 1.1&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 28&#949; (Mean = 5.62&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9&#949; (Mean = 3&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.error_logs"></a><a class="link" href="index.html#special_function_error_rates_rep.error_logs" title="Error Logs">Error Logs</a>
+</h2></div></div></div>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h0"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_in"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_in">Error
+ Output For cyl_bessel_j (integer orders) with compiler Microsoft Visual C++
+ version 14.1 and library &lt;math.h&gt; and test data Bessel JN: Mathworld
+ Data (Integer Version)</a>
+ </h5>
+<p>
+ <a name="errors_Microsoft_Visual_C_version_14_1_Win32_double_cyl_bessel_j_integer_orders___math_h__Bessel_JN_Mathworld_Data_Integer_Version_"></a>CAUTION:
+ Found non-finite result, when a finite value was expected at entry 16<br>
+ Found: -nan(ind) Expected 0 Error: 1.79769e+308<br> 10, 1e-100, 0<br> CAUTION:
+ Gross error found at entry 16.<br> Found: -nan(ind) Expected 0 Error: 1.79769e+308<br>
+ 10, 1e-100, 0<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h1"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_legendre_p_asso"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_legendre_p_asso">Error
+ Output For legendre_p (associated) with compiler GNU C++ version 7.1.0 and
+ library GSL 2.1 and test data Associated Legendre Polynomials: Small Values</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_legendre_p_associated__GSL_2_1_Associated_Legendre_Polynomials_Small_Values"></a>domain
+ error<br> 3.75573, -3, 0.264719, 0.0186823<br> domain error<br> 3.75573,
+ -3, 0.670017, 0.0085227<br> domain error<br> 3.75573, -3, 0.915014, 0.00136786<br>
+ domain error<br> 3.75573, -3, 0.93539, 0.000921218<br> domain error<br>
+ 3.75573, -2, -0.804919, -0.035427<br> domain error<br> 3.75573, -2, -0.623236,
+ -0.0476446<br> domain error<br> 3.75573, -2, 0.629447, 0.0475072<br>
+ domain error<br> 3.75573, -2, 0.929777, 0.0157498<br> domain error<br>
+ 3.75573, -2, 0.985763, 0.0034837<br> domain error<br> 3.75573, -1, 0.093763,
+ -0.118979<br> domain error<br> 4.28576, -4, 0.0944412, 0.00255792<br>
+ domain error<br> 4.28576, -4, 0.670017, 0.000790849<br> domain error<br>
+ 4.28576, -3, -0.746026, -0.00458957<br> domain error<br> 4.28576, -2, -0.623236,
+ 0.0219016<br> domain error<br> 4.28576, -2, 0.629447, 0.0223081<br> domain
+ error<br> 4.28576, -2, 0.93539, 0.0133504<br> domain error<br> 4.28576,
+ -1, 0.915014, 0.132001<br> domain error<br> 4.28576, -1, 0.985763, 0.0787743<br>
+ domain error<br> 4.43859, -4, 0.093763, 0.00255858<br> domain error<br>
+ 4.43859, -4, 0.811584, 0.000303404<br> domain error<br> 4.43859, -4, 0.826752,
+ 0.000260835<br> domain error<br> 4.43859, -4, 0.929777, 4.78235e-05<br>
+ domain error<br> 4.43859, -3, -0.804919, -0.00350364<br> domain error<br>
+ 4.43859, -3, -0.729046, -0.00487043<br> domain error<br> 4.43859, -3, -0.623236,
+ -0.00620995<br> domain error<br> 4.43859, -3, 0.93539, 0.000861698<br>
+ domain error<br> 4.43859, -2, -0.557932, 0.0169167<br> domain error<br>
+ 4.43859, -2, -0.443004, 0.0062586<br> domain error<br> 4.43859, -2, 0.915014,
+ 0.016481<br> domain error<br> 4.43859, -1, 0.629447, -0.0138523<br> domain
+ error<br> 5.39088, -5, 0.0944412, 0.000254649<br> domain error<br> 5.39088,
+ -5, 0.264719, 0.000217164<br> domain error<br> 5.39088, -5, 0.670017, 5.87083e-05<br>
+ domain error<br> 5.39088, -5, 0.915014, 2.78273e-06<br> domain error<br>
+ 5.39088, -3, 0.929777, 0.000880849<br> domain error<br> 5.39088, -2, 0.629447,
+ 0.00448021<br> domain error<br> 5.39088, -2, 0.826752, 0.01718<br> domain
+ error<br> 5.39088, -2, 0.937736, 0.011583<br> domain error<br> 5.39088,
+ -1, -0.804919, 0.0276144<br> domain error<br> 5.39088, -1, -0.746026, -0.0119425<br>
+ domain error<br> 5.39088, -1, -0.443004, -0.0525987<br> domain error<br>
+ 5.39088, -1, 0.811584, 0.032475<br> domain error<br> 5.39088, -1, 0.985763,
+ 0.0759289<br> domain error<br> 5.97861, -5, -0.729046, 3.91223e-05<br>
+ domain error<br> 5.97861, -5, -0.383666, 0.000174899<br> domain error<br>
+ 5.97861, -5, 0.93539, 1.43993e-06<br> domain error<br> 5.97861, -4, -0.623236,
+ -0.000607048<br> domain error<br> 5.97861, -4, 0.264719, 0.00059614<br>
+ domain error<br> 5.97861, -3, 0.629447, 0.00313497<br> domain error<br>
+ 5.97861, -3, 0.670017, 0.00323895<br> domain error<br> 5.97861, -2, 0.915014,
+ 0.0140705<br> domain error<br> 5.97861, -2, 0.992923, 0.00171356<br>
+ domain error<br> 5.97861, -1, -0.746026, -0.0119425<br> domain error<br>
+ 5.97861, -1, 0.937736, 0.106972<br> domain error<br> 7.01297, -6, -0.443004,
+ -4.99177e-06<br> domain error<br> 7.01297, -6, 0.629447, 3.00689e-06<br>
+ domain error<br> 7.01297, -6, 0.811584, 7.00407e-07<br> domain error<br>
+ 7.01297, -6, 0.985763, 4.83431e-10<br> domain error<br> 7.01297, -3, 0.670017,
+ 0.000233323<br> domain error<br> 7.01297, -2, -0.804919, -0.0027739<br>
+ domain error<br> 7.01297, -1, -0.383666, 0.0397866<br> domain error<br>
+ 7.01297, -1, 0.929777, 0.0544549<br> domain error<br> 7.54701, -7, 0.929777,
+ 1.42008e-09<br> domain error<br> 7.54701, -6, 0.992923, 6.04622e-11<br>
+ domain error<br> 7.54701, -5, -0.804919, 1.18502e-05<br> domain error<br>
+ 7.54701, -5, -0.623236, 2.57049e-05<br> domain error<br> 7.54701, -5, -0.557932,
+ 2.60266e-05<br> domain error<br> 7.54701, -5, 0.826752, 9.64276e-06<br>
+ domain error<br> 7.54701, -4, -0.746026, -0.0001618<br> domain error<br>
+ 7.54701, -3, 0.0944412, 0.000622493<br> domain error<br> 7.54701, -3, 0.985763,
+ 9.14782e-05<br> domain error<br> 7.54701, -1, 0.811584, -0.0376184<br>
+ domain error<br> 11.8439, -10, -0.557932, -2.32652e-11<br> domain error<br>
+ 11.8439, -10, 0.811584, 1.01194e-12<br> domain error<br> 11.8439, -8, -0.746026,
+ -1.34891e-09<br> domain error<br> 11.8439, -8, -0.729046, -1.5428e-09<br>
+ domain error<br> 11.8439, -8, 0.985763, 5.90035e-14<br> domain error<br>
+ 11.8439, -4, 0.629447, -1.44723e-05<br> domain error<br> 11.8439, -4, 0.929777,
+ 1.98812e-05<br> domain error<br> 11.8439, -3, 0.670017, -4.58296e-05<br>
+ domain error<br> 11.8439, -2, 0.826752, -0.00244759<br> domain error<br>
+ 11.8439, -2, 0.992923, 0.00151458<br> domain error<br> 11.8439, -1, -0.383666,
+ 0.00419108<br> domain error<br> 11.85, -11, 0.093763, 1.16526e-11<br>
+ domain error<br> 11.85, -11, 0.929777, 2.05797e-16<br> domain error<br>
+ 11.85, -11, 0.93539, 1.32249e-16<br> domain error<br> *** FURTHER CONTENT
+ HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h2"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_legendre_p_ass0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_legendre_p_ass0">Error
+ Output For legendre_p (associated) with compiler GNU C++ version 7.1.0 and
+ library &lt;cmath&gt; and test data Associated Legendre Polynomials: Small
+ Values</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_legendre_p_associated___cmath__Associated_Legendre_Polynomials_Small_Values"></a>order
+ parameters less than 0 not supported in TR1<br> 3.75573, -3, 0.264719, 0.0186823<br>
+ order parameters less than 0 not supported in TR1<br> 3.75573, -3, 0.670017,
+ 0.0085227<br> order parameters less than 0 not supported in TR1<br> 3.75573,
+ -3, 0.915014, 0.00136786<br> order parameters less than 0 not supported in
+ TR1<br> 3.75573, -3, 0.93539, 0.000921218<br> order parameters less than
+ 0 not supported in TR1<br> 3.75573, -2, -0.804919, -0.035427<br> order
+ parameters less than 0 not supported in TR1<br> 3.75573, -2, -0.623236, -0.0476446<br>
+ order parameters less than 0 not supported in TR1<br> 3.75573, -2, 0.629447,
+ 0.0475072<br> order parameters less than 0 not supported in TR1<br> 3.75573,
+ -2, 0.929777, 0.0157498<br> order parameters less than 0 not supported in
+ TR1<br> 3.75573, -2, 0.985763, 0.0034837<br> order parameters less than
+ 0 not supported in TR1<br> 3.75573, -1, 0.093763, -0.118979<br> order parameters
+ less than 0 not supported in TR1<br> 4.28576, -4, 0.0944412, 0.00255792<br>
+ order parameters less than 0 not supported in TR1<br> 4.28576, -4, 0.670017,
+ 0.000790849<br> order parameters less than 0 not supported in TR1<br> 4.28576,
+ -3, -0.746026, -0.00458957<br> order parameters less than 0 not supported
+ in TR1<br> 4.28576, -2, -0.623236, 0.0219016<br> order parameters less
+ than 0 not supported in TR1<br> 4.28576, -2, 0.629447, 0.0223081<br> order
+ parameters less than 0 not supported in TR1<br> 4.28576, -2, 0.93539, 0.0133504<br>
+ order parameters less than 0 not supported in TR1<br> 4.28576, -1, 0.915014,
+ 0.132001<br> order parameters less than 0 not supported in TR1<br> 4.28576,
+ -1, 0.985763, 0.0787743<br> order parameters less than 0 not supported in
+ TR1<br> 4.43859, -4, 0.093763, 0.00255858<br> order parameters less than
+ 0 not supported in TR1<br> 4.43859, -4, 0.811584, 0.000303404<br> order
+ parameters less than 0 not supported in TR1<br> 4.43859, -4, 0.826752, 0.000260835<br>
+ order parameters less than 0 not supported in TR1<br> 4.43859, -4, 0.929777,
+ 4.78235e-05<br> order parameters less than 0 not supported in TR1<br> 4.43859,
+ -3, -0.804919, -0.00350364<br> order parameters less than 0 not supported
+ in TR1<br> 4.43859, -3, -0.729046, -0.00487043<br> order parameters less
+ than 0 not supported in TR1<br> 4.43859, -3, -0.623236, -0.00620995<br>
+ order parameters less than 0 not supported in TR1<br> 4.43859, -3, 0.93539,
+ 0.000861698<br> order parameters less than 0 not supported in TR1<br> 4.43859,
+ -2, -0.557932, 0.0169167<br> order parameters less than 0 not supported in
+ TR1<br> 4.43859, -2, -0.443004, 0.0062586<br> order parameters less than
+ 0 not supported in TR1<br> 4.43859, -2, 0.915014, 0.016481<br> order parameters
+ less than 0 not supported in TR1<br> 4.43859, -1, 0.629447, -0.0138523<br>
+ order parameters less than 0 not supported in TR1<br> 5.39088, -5, 0.0944412,
+ 0.000254649<br> order parameters less than 0 not supported in TR1<br> 5.39088,
+ -5, 0.264719, 0.000217164<br> order parameters less than 0 not supported
+ in TR1<br> 5.39088, -5, 0.670017, 5.87083e-05<br> order parameters less
+ than 0 not supported in TR1<br> 5.39088, -5, 0.915014, 2.78273e-06<br>
+ order parameters less than 0 not supported in TR1<br> 5.39088, -3, 0.929777,
+ 0.000880849<br> order parameters less than 0 not supported in TR1<br> 5.39088,
+ -2, 0.629447, 0.00448021<br> order parameters less than 0 not supported in
+ TR1<br> 5.39088, -2, 0.826752, 0.01718<br> order parameters less than 0
+ not supported in TR1<br> 5.39088, -2, 0.937736, 0.011583<br> order parameters
+ less than 0 not supported in TR1<br> 5.39088, -1, -0.804919, 0.0276144<br>
+ order parameters less than 0 not supported in TR1<br> 5.39088, -1, -0.746026,
+ -0.0119425<br> order parameters less than 0 not supported in TR1<br> 5.39088,
+ -1, -0.443004, -0.0525987<br> order parameters less than 0 not supported
+ in TR1<br> 5.39088, -1, 0.811584, 0.032475<br> order parameters less than
+ 0 not supported in TR1<br> 5.39088, -1, 0.985763, 0.0759289<br> order parameters
+ less than 0 not supported in TR1<br> 5.97861, -5, -0.729046, 3.91223e-05<br>
+ order parameters less than 0 not supported in TR1<br> 5.97861, -5, -0.383666,
+ 0.000174899<br> order parameters less than 0 not supported in TR1<br> 5.97861,
+ -5, 0.93539, 1.43993e-06<br> order parameters less than 0 not supported in
+ TR1<br> 5.97861, -4, -0.623236, -0.000607048<br> order parameters less
+ than 0 not supported in TR1<br> 5.97861, -4, 0.264719, 0.00059614<br> order
+ parameters less than 0 not supported in TR1<br> 5.97861, -3, 0.629447, 0.00313497<br>
+ *** FURTHER CONTENT HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h3"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_wi"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_wi">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Bessel Iv: Mathworld Data (large values)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_Rmath_3_2_3_Bessel_Iv_Mathworld_Data_large_values_"></a>CAUTION:
+ Gross error found at entry 0.<br> Found: 0 Expected 1.86459e-155 Error: 8.37988e+152<br>
+ -1, 3.72917e-155, 1.86459e-155<br> CAUTION: Gross error found at entry 1.<br>
+ Found: 0 Expected 1.86459e-155 Error: 8.37988e+152<br> 1, 3.72917e-155, 1.86459e-155<br>
+ CAUTION: Gross error found at entry 3.<br> Found: 0 Expected 8.02269e-175
+ Error: 3.60559e+133<br> 1.125, 3.72917e-155, 8.02269e-175<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h4"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_in"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_in">Error
+ Output For cyl_bessel_i (integer orders) with compiler GNU C++ version 7.1.0
+ and library Rmath 3.2.3 and test data Bessel In: Mathworld Data (Integer Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_integer_orders__Rmath_3_2_3_Bessel_In_Mathworld_Data_Integer_Version_"></a>Unsupported
+ domain<br> -5, -1, -0.000271463<br> Unsupported domain<br> 10, -5, 0.00458004<br>
+ Unsupported domain<br> -100, -200, 4.35275e+74<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h5"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_i0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_i0">Error
+ Output For cyl_bessel_i (integer orders) with compiler GNU C++ version 7.1.0
+ and library Rmath 3.2.3 and test data Bessel I1: Mathworld Data (Integer Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_integer_orders__Rmath_3_2_3_Bessel_I1_Mathworld_Data_Integer_Version_"></a>Unsupported
+ domain<br> 1, -2, -1.59064<br> Unsupported domain<br> 1, -8, -399.873<br>
+ Unsupported domain<br> 1, -10, -2670.99<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h6"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_i1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_i1">Error
+ Output For cyl_bessel_i (integer orders) with compiler GNU C++ version 7.1.0
+ and library Rmath 3.2.3 and test data Bessel I0: Mathworld Data (Integer Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_integer_orders__Rmath_3_2_3_Bessel_I0_Mathworld_Data_Integer_Version_"></a>Unsupported
+ domain<br> 0, -2, 2.27959<br> Unsupported domain<br> 0, -7, 168.594<br>
+ Unsupported domain<br> 0, -1, 1.26607<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h7"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w0">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Bessel In: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_Rmath_3_2_3_Bessel_In_Mathworld_Data"></a>Unsupported
+ domain<br> -5, -1, -0.000271463<br> Unsupported domain<br> 10, -5, 0.00458004<br>
+ Unsupported domain<br> -100, -200, 4.35275e+74<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h8"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w1">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Bessel I1: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_Rmath_3_2_3_Bessel_I1_Mathworld_Data"></a>Unsupported
+ domain<br> 1, -2, -1.59064<br> Unsupported domain<br> 1, -8, -399.873<br>
+ Unsupported domain<br> 1, -10, -2670.99<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h9"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w2"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w2">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Bessel I0: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_Rmath_3_2_3_Bessel_I0_Mathworld_Data"></a>Unsupported
+ domain<br> 0, -2, 2.27959<br> Unsupported domain<br> 0, -7, 168.594<br>
+ Unsupported domain<br> 0, -1, 1.26607<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h10"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_wi"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_wi">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Bessel J: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_Rmath_3_2_3_Bessel_J_Mathworld_Data"></a>CAUTION:
+ Gross error found at entry 6.<br> Found: 0 Expected -0.000747424 Error: 3.3591e+304<br>
+ 5.5, 1e+06, -0.000747424<br> CAUTION: Gross error found at entry 7.<br>
+ Found: 0 Expected -0.0007766 Error: 3.49022e+304<br> 5.125, 1e+06, -0.0007766<br>
+ CAUTION: Gross error found at entry 8.<br> Found: 0 Expected -0.000466323
+ Error: 2.09576e+304<br> 5.875, 1e+06, -0.000466323<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h11"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i0">Error
+ Output For cyl_bessel_j (integer orders) with compiler GNU C++ version 7.1.0
+ and library Rmath 3.2.3 and test data Bessel JN: Mathworld Data (Integer Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_integer_orders__Rmath_3_2_3_Bessel_JN_Mathworld_Data_Integer_Version_"></a>Unsupported
+ domain<br> 5, -10, 0.234062<br> CAUTION: Gross error found at entry 6.<br>
+ Found: 0 Expected 0.000725964 Error: 3.26265e+304<br> -5, 1e+06, 0.000725964<br>
+ CAUTION: Gross error found at entry 7.<br> Found: 0 Expected -0.000725964
+ Error: 3.26265e+304<br> 5, 1e+06, -0.000725964<br> Unsupported domain<br>
+ -5, -1, 0.000249758<br> Unsupported domain<br> 10, -10, 0.207486<br>
+ Unsupported domain<br> 10, -5, 0.0014678<br> CAUTION: Gross error found
+ at entry 12.<br> Found: 0 Expected -0.000331079 Error: 1.48795e+304<br>
+ -10, 1e+06, -0.000331079<br> CAUTION: Gross error found at entry 13.<br>
+ Found: 0 Expected -0.000331079 Error: 1.48795e+304<br> 10, 1e+06, -0.000331079<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h12"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i1">Error
+ Output For cyl_bessel_j (integer orders) with compiler GNU C++ version 7.1.0
+ and library Rmath 3.2.3 and test data Bessel J1: Mathworld Data (Integer Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_integer_orders__Rmath_3_2_3_Bessel_J1_Mathworld_Data_Integer_Version_"></a>Unsupported
+ domain<br> 1, -2, -0.576725<br> Unsupported domain<br> 1, -8, -0.234636<br>
+ Unsupported domain<br> 1, -10, -0.0434727<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h13"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i2"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i2">Error
+ Output For cyl_bessel_j (integer orders) with compiler GNU C++ version 7.1.0
+ and library Rmath 3.2.3 and test data Bessel J0: Mathworld Data (Integer Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_integer_orders__Rmath_3_2_3_Bessel_J0_Mathworld_Data_Integer_Version_"></a>Unsupported
+ domain<br> 0, -2, 0.223891<br> Unsupported domain<br> 0, -8, 0.171651<br>
+ Unsupported domain<br> 0, -10, -0.245936<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h14"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w0">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Bessel JN: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_Rmath_3_2_3_Bessel_JN_Mathworld_Data"></a>Unsupported
+ domain<br> 5, -10, 0.234062<br> CAUTION: Gross error found at entry 6.<br>
+ Found: 0 Expected 0.000725964 Error: 3.26265e+304<br> -5, 1e+06, 0.000725964<br>
+ CAUTION: Gross error found at entry 7.<br> Found: 0 Expected -0.000725964
+ Error: 3.26265e+304<br> 5, 1e+06, -0.000725964<br> Unsupported domain<br>
+ -5, -1, 0.000249758<br> Unsupported domain<br> 10, -10, 0.207486<br>
+ Unsupported domain<br> 10, -5, 0.0014678<br> CAUTION: Gross error found
+ at entry 12.<br> Found: 0 Expected -0.000331079 Error: 1.48795e+304<br>
+ -10, 1e+06, -0.000331079<br> CAUTION: Gross error found at entry 13.<br>
+ Found: 0 Expected -0.000331079 Error: 1.48795e+304<br> 10, 1e+06, -0.000331079<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h15"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w1">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Bessel J1: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_Rmath_3_2_3_Bessel_J1_Mathworld_Data"></a>Unsupported
+ domain<br> 1, -2, -0.576725<br> Unsupported domain<br> 1, -8, -0.234636<br>
+ Unsupported domain<br> 1, -10, -0.0434727<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h16"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w2"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w2">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Bessel J0: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_Rmath_3_2_3_Bessel_J0_Mathworld_Data"></a>Unsupported
+ domain<br> 0, -2, 0.223891<br> Unsupported domain<br> 0, -8, 0.171651<br>
+ Unsupported domain<br> 0, -10, -0.245936<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h17"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ibetac_inv_with"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ibetac_inv_with">Error
+ Output For ibetac_inv with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Inverse incomplete beta</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_ibetac_inv_Rmath_3_2_3_Inverse_incomplete_beta"></a>CAUTION:
+ Gross error found at entry 7.<br> Found: 3.8247e-302 Expected 0 Error: 1.71891e+06<br>
+ 1.38853e-05, 0.0497627, 0.632396, 0, 0<br> CAUTION: Gross error found at
+ entry 71.<br> Found: 1.38362e-204 Expected 0 Error: 6.21832e+103<br> 3.77931e-05,
+ 0.0150073, 0.835025, 0, 0<br> CAUTION: Gross error found at entry 90.<br>
+ Found: 1.09275e-303 Expected 0 Error: 49109.6<br> 4.29383e-05, 0.0428761,
+ 0.814742, 0, 0<br> CAUTION: Gross error found at entry 102.<br> Found:
+ 3.8625e-304 Expected 0 Error: 17358<br> 4.80089e-05, 0.0296236, 0.913384,
+ 0, 0<br> CAUTION: Gross error found at entry 115.<br> Found: 1.51774e-303
+ Expected 0 Error: 68209.8<br> 0.000130387, 0.0404969, 0.814742, 0, 0<br>
+ CAUTION: Gross error found at entry 123.<br> Found: 1.28036e-303 Expected
+ 0 Error: 57541.4<br> 0.000149328, 0.0201182, 0.905801, 5.70765e-267, 0<br>
+ CAUTION: Gross error found at entry 133.<br> Found: 1.96732e-302 Expected
+ 0 Error: 884160<br> 0.000173563, 0.0301908, 0.913384, 4.21662e-213, 0<br>
+ CAUTION: Gross error found at entry 159.<br> Found: 1.48697e-191 Expected
+ 0 Error: 6.68279e+116<br> 0.000260723, 0.0252933, 0.632396, 0, 0<br> CAUTION:
+ Gross error found at entry 256.<br> Found: 9.24166e-245 Expected 0 Error:
+ 4.15342e+63<br> 0.00246975, 0.016063, 0.913384, 1, 0<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h18"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ibeta_inv_with_"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ibeta_inv_with_">Error
+ Output For ibeta_inv with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Inverse incomplete beta</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_ibeta_inv_Rmath_3_2_3_Inverse_incomplete_beta"></a>CAUTION:
+ Gross error found at entry 1.<br> Found: 1.90197e-247 Expected 0 Error: 8.54789e+60<br>
+ 1.12733e-05, 0.022662, 0.135563, 0, 0<br> CAUTION: Gross error found at entry
+ 30.<br> Found: 1.36217e-301 Expected 0 Error: 6.12191e+06<br> 2.10769e-05,
+ 0.0448972, 0.221112, 0, 0<br> CAUTION: Gross error found at entry 152.<br>
+ Found: 2.92621e-285 Expected 0 Error: 1.31511e+23<br> 0.000240381, 0.017982,
+ 0.221112, 0, 0<br> CAUTION: Gross error found at entry 184.<br> Found:
+ 5.63355e-203 Expected 0 Error: 2.53185e+105<br> 0.000348822, 0.0275467, 0.135563,
+ 0, 1.88165e-166<br> CAUTION: Gross error found at entry 205.<br> Found:
+ 5.52731e-303 Expected 0 Error: 248409<br> 0.000441212, 0.0313573, 0.127074,
+ 0, 9.07221e-121<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h19"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_non_central_bet"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_non_central_bet">Error
+ Output For non central beta CDF complement with compiler GNU C++ version 7.1.0
+ and library Rmath 3.2.3 and test data Non Central Beta, large parameters</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_non_central_beta_CDF_complement_Rmath_3_2_3_Non_Central_Beta_large_parameters"></a>CAUTION:
+ Gross error found at entry 10.<br> Found: 9.76918e-10 Expected 1.61248e-15
+ Error: 605846<br> 290.682, 72.6705, 20005.4, 0.997663, 1, 1.61248e-15<br>
+ CAUTION: Gross error found at entry 11.<br> Found: 9.94184e-10 Expected 3.0108e-42
+ Error: 3.30205e+32<br> 290.682, 145.341, 53489.1, 0.998663, 1, 3.0108e-42<br>
+ CAUTION: Gross error found at entry 16.<br> Found: 8.45406e-10 Expected 4.46652e-22
+ Error: 1.89276e+12<br> 290.682, 1162.73, 2308.07, 0.656921, 1, 4.46652e-22<br>
+ CAUTION: Gross error found at entry 17.<br> Found: 9.41971e-10 Expected 1.7241e-50
+ Error: 5.46356e+40<br> 290.682, 1453.41, 8064.48, 0.832237, 1, 1.7241e-50<br>
+ CAUTION: Gross error found at entry 18.<br> Found: 9.30663e-10 Expected 2.09803e-305
+ Error: 4.43589e+295<br> 975.766, 731.824, 232.285, 0.919742, 1, 2.09803e-305<br>
+ CAUTION: Gross error found at entry 27.<br> Found: 9.76918e-10 Expected 9.3474e-18
+ Error: 1.04512e+08<br> 1879.05, 187.905, 20005.4, 0.992215, 1, 9.3474e-18<br>
+ CAUTION: Gross error found at entry 28.<br> Found: 9.94184e-10 Expected 1.8122e-90
+ Error: 5.48607e+80<br> 1879.05, 469.762, 53489.1, 0.994618, 1, 1.8122e-90<br>
+ CAUTION: Gross error found at entry 32.<br> Found: 9.27224e-10 Expected 3.18255e-15
+ Error: 291345<br> 1879.05, 3758.1, 1879.05, 0.480508, 1, 3.18255e-15<br>
+ CAUTION: Gross error found at entry 33.<br> Found: 8.45406e-10 Expected 1.10218e-77
+ Error: 7.67029e+67<br> 1879.05, 5637.15, 2308.07, 0.458181, 1, 1.10218e-77<br>
+ CAUTION: Gross error found at entry 34.<br> Found: 9.30663e-10 Expected 0
+ Error: 4.18262e+298<br> 2308.07, 1154.03, 232.285, 0.919371, 1, 0<br> CAUTION:
+ Gross error found at entry 35.<br> Found: 8.93617e-10 Expected 0 Error: 4.01612e+298<br>
+ 2308.07, 1731.05, 290.682, 0.917262, 1, 0<br> CAUTION: Gross error found
+ at entry 43.<br> Found: 9.94184e-10 Expected 3.57283e-70 Error: 2.78262e+60<br>
+ 8064.48, 806.448, 53489.1, 0.988678, 1, 3.57283e-70<br> CAUTION: Gross error
+ found at entry 48.<br> Found: 8.45406e-10 Expected 8.78057e-74 Error: 9.62814e+63<br>
+ 8064.48, 16129, 2308.07, 0.421531, 1, 8.78057e-74<br> CAUTION: Gross error
+ found at entry 49.<br> Found: 9.30663e-10 Expected 0 Error: 4.18262e+298<br>
+ 15674.4, 3918.59, 232.285, 0.933726, 1, 0<br> CAUTION: Gross error found
+ at entry 50.<br> Found: 8.93617e-10 Expected 0 Error: 4.01612e+298<br>
+ 15674.4, 7837.19, 290.682, 0.917179, 1, 0<br> CAUTION: Gross error found
+ at entry 51.<br> Found: 8.9318e-10 Expected 0 Error: 4.01416e+298<br> 15674.4,
+ 11755.8, 975.766, 0.915784, 1, 0<br> CAUTION: Gross error found at entry
+ 63.<br> Found: 9.41971e-10 Expected 2.31296e-171 Error: 4.07258e+161<br>
+ 20005.4, 40010.8, 8064.48, 0.432094, 1, 2.31296e-171<br> CAUTION: Gross error
+ found at entry 64.<br> Found: 9.30663e-10 Expected 0 Error: 4.18262e+298<br>
+ 53489.1, 5348.92, 232.285, 0.954635, 1, 0<br> CAUTION: Gross error found
+ at entry 65.<br> Found: 8.93617e-10 Expected 0 Error: 4.01612e+298<br>
+ 53489.1, 13372.3, 290.682, 0.933478, 1, 0<br> CAUTION: Gross error found
+ at entry 66.<br> Found: 8.9318e-10 Expected 0 Error: 4.01416e+298<br> 53489.1,
+ 26744.6, 975.766, 0.91717, 1, 0<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h20"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_non_central_be0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_non_central_be0">Error
+ Output For non central beta CDF with compiler GNU C++ version 7.1.0 and library
+ Rmath 3.2.3 and test data Non Central Beta, large parameters</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_non_central_beta_CDF_Rmath_3_2_3_Non_Central_Beta_large_parameters"></a>CAUTION:
+ Gross error found at entry 0.<br> Found: 9.1136e-209 Expected 5.82279e-200
+ Error: 6.38913e+08<br> 232.285, 209.056, 232.285, 0.062486, 5.82279e-200,
+ 1<br> CAUTION: Gross error found at entry 1.<br> Found: 4.08108e-115 Expected
+ 2.37643e-112 Error: 581.304<br> 232.285, 229.962, 290.682, 0.155342, 2.37643e-112,
+ 1<br> CAUTION: Gross error found at entry 2.<br> Found: 1.07549e-93 Expected
+ 9.53431e-89 Error: 88650<br> 232.285, 232.052, 975.766, 0.378086, 9.53431e-89,
+ 1<br> CAUTION: Gross error found at entry 3.<br> Found: 2.58402e-54 Expected
+ 8.27353e-53 Error: 31.0181<br> 232.285, 232.285, 1879.05, 0.625865, 8.27353e-53,
+ 1<br> CAUTION: Gross error found at entry 4.<br> Found: 1.93718e-19 Expected
+ 6.64275e-16 Error: 3428.08<br> 232.285, 232.308, 2308.07, 0.770774, 6.64275e-16,
+ 1<br> CAUTION: Gross error found at entry 21.<br> Found: 8.12962e-240 Expected
+ 1.82294e-219 Error: 2.24234e+20<br> 975.766, 974.79, 1879.05, 0.331337, 1.82294e-219,
+ 1<br> CAUTION: Gross error found at entry 22.<br> Found: 3.47274e-69 Expected
+ 1.42183e-67 Error: 39.9426<br> 975.766, 975.766, 2308.07, 0.514323, 1.42183e-67,
+ 1<br> CAUTION: Gross error found at entry 23.<br> Found: 5.86885e-50 Expected
+ 1.27896e-47 Error: 216.923<br> 975.766, 975.863, 8064.48, 0.753209, 1.27896e-47,
+ 1<br> CAUTION: Gross error found at entry 39.<br> Found: 4.82785e-230 Expected
+ 1.25446e-213 Error: 2.59838e+16<br> 2308.07, 2308.07, 8064.48, 0.54983, 1.25446e-213,
+ 1<br> CAUTION: Gross error found at entry 40.<br> Found: 1.22971e-87 Expected
+ 1.82618e-85 Error: 147.505<br> 2308.07, 2308.3, 15674.4, 0.733174, 1.82618e-85,
+ 1<br> CAUTION: Gross error found at entry 56.<br> Found: 2.97337e-127 Expected
+ 2.56068e-124 Error: 860.205<br> 15674.4, 15675.9, 20005.4, 0.55883, 2.56068e-124,
+ 1<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h21"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_non_central_be1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_non_central_be1">Error
+ Output For non central beta CDF complement with compiler GNU C++ version 7.1.0
+ and library Rmath 3.2.3 and test data Non Central Beta, medium parameters</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_non_central_beta_CDF_complement_Rmath_3_2_3_Non_Central_Beta_medium_parameters"></a>CAUTION:
+ Gross error found at entry 296.<br> Found: 9.44166e-10 Expected 6.22975e-10
+ Error: 0.515577<br> 22.9367, 114.683, 19.5081, 0.480981, 1, 6.22975e-10<br>
+ CAUTION: Gross error found at entry 369.<br> Found: 2.52234e-10 Expected
+ 1.40246e-10 Error: 0.79851<br> 27.5277, 20.6457, 0.956697, 0.915111, 1, 1.40246e-10<br>
+ CAUTION: Gross error found at entry 429.<br> Found: 1.18105e-09 Expected
+ 7.45745e-10 Error: 0.58372<br> 28.8063, 21.6047, 60.3826, 0.946143, 1, 7.45745e-10<br>
+ CAUTION: Gross error found at entry 430.<br> Found: 2.44435e-09 Expected
+ 1.60695e-09 Error: 0.521115<br> 28.8063, 21.6047, 148.129, 0.965121, 1, 1.60695e-09<br>
+ CAUTION: Gross error found at entry 477.<br> Found: 7.57435e-10 Expected
+ 7.14133e-11 Error: 9.60635<br> 28.8063, 144.032, 42.3849, 0.504845, 1, 7.14133e-11<br>
+ CAUTION: Gross error found at entry 489.<br> Found: 4.8561e-10 Expected 5.62991e-11
+ Error: 7.62553<br> 31.9438, 23.9579, 44.2068, 0.93835, 1, 5.62991e-11<br>
+ CAUTION: Gross error found at entry 490.<br> Found: 8.35187e-10 Expected
+ 1.87483e-10 Error: 3.45473<br> 31.9438, 23.9579, 135.747, 0.961117, 1, 1.87483e-10<br>
+ CAUTION: Gross error found at entry 491.<br> Found: 1.00174e-09 Expected
+ 2.38491e-10 Error: 3.20032<br> 31.9438, 23.9579, 191.501, 0.968273, 1, 2.38491e-10<br>
+ CAUTION: Gross error found at entry 537.<br> Found: 7.29746e-10 Expected
+ 1.31223e-12 Error: 555.111<br> 31.9438, 159.719, 34.2373, 0.489796, 1, 1.31223e-12<br>
+ CAUTION: Gross error found at entry 538.<br> Found: 2.49663e-09 Expected
+ 1.54239e-09 Error: 0.618681<br> 31.9438, 159.719, 126.472, 0.581861, 1, 1.54239e-09<br>
+ CAUTION: Gross error found at entry 549.<br> Found: 4.16125e-10 Expected
+ 4.8536e-13 Error: 856.353<br> 38.0822, 28.5617, 34.773, 0.931853, 1, 4.8536e-13<br>
+ CAUTION: Gross error found at entry 550.<br> Found: 9.69907e-10 Expected
+ 2.87054e-12 Error: 336.883<br> 38.0822, 28.5617, 127.953, 0.956104, 1, 2.87054e-12<br>
+ CAUTION: Gross error found at entry 551.<br> Found: 5.90132e-10 Expected
+ 4.08361e-12 Error: 143.512<br> 38.0822, 28.5617, 183.147, 0.963764, 1, 4.08361e-12<br>
+ CAUTION: Gross error found at entry 597.<br> Found: 4.67033e-10 Expected
+ 9.82939e-16 Error: 475139<br> 38.0822, 190.411, 27.0954, 0.475419, 1, 9.82939e-16<br>
+ CAUTION: Gross error found at entry 598.<br> Found: 9.33207e-10 Expected
+ 4.03465e-12 Error: 230.298<br> 38.0822, 190.411, 100.733, 0.544491, 1, 4.03465e-12<br>
+ CAUTION: Gross error found at entry 599.<br> Found: 7.4092e-10 Expected 9.53942e-11
+ Error: 6.76693<br> 38.0822, 190.411, 169.826, 0.594614, 1, 9.53942e-11<br>
+ CAUTION: Gross error found at entry 609.<br> Found: 5.71813e-10 Expected
+ 1.17207e-14 Error: 48785.7<br> 42.7789, 32.0842, 28.3773, 0.927814, 1, 1.17207e-14<br>
+ CAUTION: Gross error found at entry 610.<br> Found: 5.16834e-10 Expected
+ 9.62679e-14 Error: 5367.71<br> 42.7789, 32.0842, 109.376, 0.950307, 1, 9.62679e-14<br>
+ CAUTION: Gross error found at entry 611.<br> Found: 6.08012e-10 Expected
+ 1.7454e-13 Error: 3482.51<br> 42.7789, 32.0842, 175.686, 0.960431, 1, 1.7454e-13<br>
+ CAUTION: Gross error found at entry 657.<br> Found: 5.59489e-10 Expected
+ 2.86344e-18 Error: 1.95391e+08<br> 42.7789, 213.895, 21.9724, 0.467166, 1,
+ 2.86344e-18<br> CAUTION: Gross error found at entry 658.<br> Found: 5.14798e-10
+ Expected 2.50972e-14 Error: 20511.2<br> 42.7789, 213.895, 84.4175, 0.522676,
+ 1, 2.50972e-14<br> CAUTION: Gross error found at entry 659.<br> Found:
+ 8.49991e-10 Expected 2.38005e-12 Error: 356.131<br> 42.7789, 213.895, 160.056,
+ 0.576191, 1, 2.38005e-12<br> CAUTION: Gross error found at entry 671.<br>
+ Found: 3.03281e-10 Expected 2.22036e-15 Error: 136590<br> 44.5963, 33.4472,
+ 22.4929, 0.924976, 1, 2.22036e-15<br> CAUTION: Gross error found at entry
+ 672.<br> Found: 8.40636e-10 Expected 2.22384e-14 Error: 37800.1<br> 44.5963,
+ 33.4472, 94.9517, 0.946545, 1, 2.22384e-14<br> CAUTION: Gross error found
+ at entry 673.<br> Found: 8.15021e-10 Expected 4.75974e-14 Error: 17122.2<br>
+ 44.5963, 33.4472, 162.945, 0.95793, 1, 4.75974e-14<br> CAUTION: Gross error
+ found at entry 716.<br> Found: 1.11988e-10 Expected 2.84965e-22 Error: 3.92989e+11<br>
+ 44.5963, 222.981, 0.956697, 0.445432, 1, 2.84965e-22<br> CAUTION: Gross error
+ found at entry 717.<br> Found: 7.99524e-10 Expected 3.04552e-15 Error: 262523<br>
+ 44.5963, 222.981, 78.4454, 0.515267, 1, 3.04552e-15<br> CAUTION: Gross error
+ found at entry 718.<br> Found: 8.0958e-10 Expected 5.89458e-13 Error: 1372.43<br>
+ 44.5963, 222.981, 158.441, 0.57107, 1, 5.89458e-13<br> *** FURTHER CONTENT
+ HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h22"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_non_central_be2"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_non_central_be2">Error
+ Output For non central beta CDF with compiler GNU C++ version 7.1.0 and library
+ Rmath 3.2.3 and test data Non Central Beta, medium parameters</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_non_central_beta_CDF_Rmath_3_2_3_Non_Central_Beta_medium_parameters"></a>CAUTION:
+ Gross error found at entry 14.<br> Found: 4.64669e-35 Expected 7.14875e-33
+ Error: 152.846<br> 1.45431, 1.30887, 158.441, 0.0983847, 7.14875e-33, 1<br>
+ CAUTION: Gross error found at entry 15.<br> Found: 4.66674e-46 Expected 3.13332e-40
+ Error: 671416<br> 1.45431, 1.30887, 196.222, 0.09869, 3.13332e-40, 1<br>
+ CAUTION: Gross error found at entry 18.<br> Found: 5.84342e-28 Expected 3.61559e-27
+ Error: 5.18745<br> 1.45431, 1.43976, 159.586, 0.245596, 3.61559e-27, 1<br>
+ CAUTION: Gross error found at entry 19.<br> Found: 1.72833e-34 Expected 1.76943e-33
+ Error: 9.2378<br> 1.45431, 1.43976, 198.576, 0.246444, 1.76943e-33, 1<br>
+ CAUTION: Gross error found at entry 22.<br> Found: 1.76915e-19 Expected 3.69506e-18
+ Error: 19.8861<br> 1.45431, 1.45285, 159.621, 0.491116, 3.69506e-18, 1<br>
+ CAUTION: Gross error found at entry 23.<br> Found: 2.52007e-25 Expected 2.00482e-22
+ Error: 794.544<br> 1.45431, 1.45285, 199.292, 0.492849, 2.00482e-22, 1<br>
+ CAUTION: Gross error found at entry 73.<br> Found: 2.04477e-34 Expected 2.45287e-33
+ Error: 10.9958<br> 7.62448, 6.86203, 148.129, 0.0921776, 2.45287e-33, 1<br>
+ CAUTION: Gross error found at entry 74.<br> Found: 2.36587e-46 Expected 7.32638e-42
+ Error: 30966<br> 7.62448, 6.86203, 193.539, 0.093784, 7.32638e-42, 1<br>
+ CAUTION: Gross error found at entry 76.<br> Found: 3.29122e-26 Expected 7.418e-25
+ Error: 21.5387<br> 7.62448, 7.54824, 148.626, 0.228717, 7.418e-25, 1<br>
+ CAUTION: Gross error found at entry 77.<br> Found: 1.70126e-32 Expected 1.07666e-31
+ Error: 5.32864<br> 7.62448, 7.54824, 193.774, 0.23303, 1.07666e-31, 1<br>
+ CAUTION: Gross error found at entry 79.<br> Found: 1.3478e-15 Expected 4.21836e-15
+ Error: 2.12982<br> 7.62448, 7.61686, 151.548, 0.457773, 4.21836e-15, 1<br>
+ CAUTION: Gross error found at entry 80.<br> Found: 8.78487e-21 Expected 3.41238e-19
+ Error: 37.8438<br> 7.62448, 7.61686, 194.119, 0.465826, 3.41238e-19, 1<br>
+ CAUTION: Gross error found at entry 132.<br> Found: 3.85783e-23 Expected
+ 1.54142e-22 Error: 2.99555<br> 19.9593, 17.9634, 44.2068, 0.0698905, 1.54142e-22,
+ 1<br> CAUTION: Gross error found at entry 133.<br> Found: 8.6122e-39 Expected
+ 3.94361e-38 Error: 3.5791<br> 19.9593, 17.9634, 135.747, 0.0829178, 3.94361e-38,
+ 1<br> CAUTION: Gross error found at entry 134.<br> Found: 3.61781e-52 Expected
+ 3.98669e-48 Error: 11018.6<br> 19.9593, 17.9634, 191.501, 0.0864897, 3.98669e-48,
+ 1<br> CAUTION: Gross error found at entry 135.<br> Found: 2.07122e-15 Expected
+ 7.08614e-15 Error: 2.42124<br> 19.9593, 19.7597, 55.6996, 0.176444, 7.08614e-15,
+ 1<br> CAUTION: Gross error found at entry 136.<br> Found: 2.28223e-27 Expected
+ 2.16759e-25 Error: 93.977<br> 19.9593, 19.7597, 136.272, 0.20393, 2.16759e-25,
+ 1<br> CAUTION: Gross error found at entry 137.<br> Found: 6.4251e-34 Expected
+ 4.0064e-33 Error: 5.23554<br> 19.9593, 19.7597, 191.898, 0.213398, 4.0064e-33,
+ 1<br> CAUTION: Gross error found at entry 139.<br> Found: 2.1734e-14 Expected
+ 4.65637e-14 Error: 1.14243<br> 19.9593, 19.9394, 145.168, 0.410858, 4.65637e-14,
+ 1<br> CAUTION: Gross error found at entry 140.<br> Found: 2.18388e-19 Expected
+ 5.1677e-18 Error: 22.663<br> 19.9593, 19.9394, 192.978, 0.426523, 5.1677e-18,
+ 1<br> CAUTION: Gross error found at entry 192.<br> Found: 3.29537e-23 Expected
+ 8.29996e-23 Error: 1.51867<br> 22.4174, 20.1757, 34.773, 0.0661999, 8.29996e-23,
+ 1<br> CAUTION: Gross error found at entry 193.<br> Found: 7.86091e-39 Expected
+ 2.77686e-38 Error: 2.5325<br> 22.4174, 20.1757, 127.953, 0.0809614, 2.77686e-38,
+ 1<br> CAUTION: Gross error found at entry 194.<br> Found: 3.0161e-51 Expected
+ 4.5396e-48 Error: 1504.12<br> 22.4174, 20.1757, 183.147, 0.0848857, 4.5396e-48,
+ 1<br> CAUTION: Gross error found at entry 195.<br> Found: 3.08022e-14 Expected
+ 1.42713e-13 Error: 3.6332<br> 22.4174, 22.1932, 37.6764, 0.162145, 1.42713e-13,
+ 1<br> CAUTION: Gross error found at entry 196.<br> Found: 8.89935e-28 Expected
+ 2.56187e-25 Error: 286.871<br> 22.4174, 22.1932, 131.096, 0.199361, 2.56187e-25,
+ 1<br> CAUTION: Gross error found at entry 197.<br> Found: 9.34392e-34 Expected
+ 6.14831e-33 Error: 5.58001<br> 22.4174, 22.1932, 186.799, 0.209601, 6.14831e-33,
+ 1<br> CAUTION: Gross error found at entry 199.<br> Found: 2.79341e-13 Expected
+ 4.79277e-13 Error: 0.71574<br> 22.4174, 22.395, 131.148, 0.398015, 4.79277e-13,
+ 1<br> CAUTION: Gross error found at entry 200.<br> Found: 3.13989e-19 Expected
+ 7.01608e-18 Error: 21.345<br> 22.4174, 22.395, 191.433, 0.419933, 7.01608e-18,
+ 1<br> *** FURTHER CONTENT HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h23"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_non_central_chi"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_non_central_chi">Error
+ Output For non central chi squared CDF complement with compiler GNU C++ version
+ 7.1.0 and library Rmath 3.2.3 and test data Non Central Chi Squared, large
+ parameters</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_non_central_chi_squared_CDF_complement_Rmath_3_2_3_Non_Central_Chi_Squared_large_parameters"></a>CAUTION:
+ Gross error found at entry 12.<br> Found: 0 Expected 1.17655e-12 Error: 5.28771e+295<br>
+ 101.815, 5236.73, 6406.25, 1, 1.17655e-12<br> CAUTION: Gross error found
+ at entry 13.<br> Found: 0 Expected 1.79374e-44 Error: 8.06149e+263<br>
+ 101.815, 9735.22, 12788.2, 1, 1.79374e-44<br> CAUTION: Gross error found
+ at entry 35.<br> Found: 2.58682e-14 Expected 1.84404e-61 Error: 1.4028e+47<br>
+ 107.623, 122.456, 920.317, 1, 1.84404e-61<br> CAUTION: Gross error found
+ at entry 36.<br> Found: 0 Expected 2.30757e-102 Error: 1.03707e+206<br>
+ 107.623, 156.292, 1319.58, 1, 2.30757e-102<br> CAUTION: Gross error found
+ at entry 52.<br> Found: 0 Expected 6.40952e-24 Error: 2.88059e+284<br>
+ 114.68, 417.884, 1065.13, 1, 6.40952e-24<br> CAUTION: Gross error found at
+ entry 53.<br> Found: 0 Expected 1.02366e-98 Error: 4.60058e+209<br> 114.68,
+ 669.781, 2353.38, 1, 1.02366e-98<br> CAUTION: Gross error found at entry
+ 69.<br> Found: 0 Expected 6.55726e-39 Error: 2.94699e+269<br> 118.032,
+ 3168.71, 4930.11, 1, 6.55726e-39<br> CAUTION: Gross error found at entry
+ 85.<br> Found: 0 Expected 7.30688e-22 Error: 3.28388e+286<br> 163.004,
+ 9735.22, 11877.9, 1, 7.30688e-22<br> CAUTION: Gross error found at entry
+ 86.<br> Found: 0 Expected 1.17171e-111 Error: 5.26596e+196<br> 163.004,
+ 25344.1, 33159.2, 1, 1.17171e-111<br> CAUTION: Gross error found at entry
+ 108.<br> Found: 1.12355e-13 Expected 2.67349e-61 Error: 4.20255e+47<br>
+ 256.292, 122.456, 1136.25, 1, 2.67349e-61<br> CAUTION: Gross error found
+ at entry 109.<br> Found: 1.16462e-13 Expected 8.30595e-116 Error: 1.40216e+102<br>
+ 256.292, 156.292, 1650.34, 1, 8.30595e-116<br> CAUTION: Gross error found
+ at entry 124.<br> Found: 1.05804e-13 Expected 1.01672e-15 Error: 103.064<br>
+ 517.884, 417.884, 1403.65, 1, 1.01672e-15<br> CAUTION: Gross error found
+ at entry 125.<br> Found: 2.00728e-13 Expected 3.50192e-56 Error: 5.73194e+42<br>
+ 517.884, 669.781, 2375.33, 1, 3.50192e-56<br> CAUTION: Gross error found
+ at entry 141.<br> Found: 0 Expected 1.36924e-20 Error: 6.15368e+287<br>
+ 769.781, 3168.71, 5120.04, 1, 1.36924e-20<br> CAUTION: Gross error found
+ at entry 142.<br> Found: 0 Expected 3.19215e-72 Error: 1.43463e+236<br>
+ 769.781, 5236.73, 9009.76, 1, 3.19215e-72<br> CAUTION: Gross error found
+ at entry 157.<br> Found: 0 Expected 7.26231e-08 Error: 3.26385e+300<br>
+ 1223.88, 9735.22, 12055, 1, 7.26231e-08<br> CAUTION: Gross error found at
+ entry 158.<br> Found: 0 Expected 4.5906e-56 Error: 2.06312e+252<br> 1223.88,
+ 25344.1, 31881.6, 1, 4.5906e-56<br> CAUTION: Gross error found at entry 194.<br>
+ Found: 0 Expected 5.34714e-12 Error: 2.40313e+296<br> 9835.22, 122.456, 10953.4,
+ 1, 5.34714e-12<br> CAUTION: Gross error found at entry 195.<br> Found:
+ 0 Expected 4.84412e-40 Error: 2.17706e+268<br> 9835.22, 156.292, 11989.8,
+ 1, 4.84412e-40<br> CAUTION: Gross error found at entry 196.<br> Found:
+ 0 Expected 5.50199e-83 Error: 2.47272e+225<br> 9835.22, 417.884, 13329, 1,
+ 5.50199e-83<br> CAUTION: Gross error found at entry 197.<br> Found: 0 Expected
+ 1.28192e-205 Error: 5.76124e+102<br> 9835.22, 669.781, 15757.5, 1, 1.28192e-205<br>
+ CAUTION: Gross error found at entry 211.<br> Found: 0 Expected 3.83272e-28
+ Error: 1.72251e+280<br> 25444.1, 1123.88, 29224.8, 1, 3.83272e-28<br> CAUTION:
+ Gross error found at entry 212.<br> Found: 0 Expected 1.69815e-101 Error:
+ 7.63188e+206<br> 25444.1, 3168.71, 34335.4, 1, 1.69815e-101<br> CAUTION:
+ Gross error found at entry 213.<br> Found: 0 Expected 1.09245e-217 Error:
+ 4.90974e+90<br> 25444.1, 5236.73, 39885.1, 1, 1.09245e-217<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h24"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_non_central_ch0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_non_central_ch0">Error
+ Output For non central chi squared CDF complement with compiler GNU C++ version
+ 7.1.0 and library Rmath 3.2.3 and test data Non Central Chi Squared, medium
+ parameters</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_non_central_chi_squared_CDF_complement_Rmath_3_2_3_Non_Central_Chi_Squared_medium_parameters"></a>CAUTION:
+ Gross error found at entry 36.<br> Found: 1.11022e-14 Expected 1.30043e-26
+ Error: 8.53738e+11<br> 1.95191, 109.376, 445.313, 1, 1.30043e-26<br> CAUTION:
+ Gross error found at entry 37.<br> Found: 0 Expected 1.45478e-39 Error: 6.53812e+268<br>
+ 1.95191, 109.444, 556.98, 1, 1.45478e-39<br> CAUTION: Gross error found at
+ entry 54.<br> Found: 2.91989e-14 Expected 4.25949e-21 Error: 6.85501e+06<br>
+ 1.95191, 159.586, 484.613, 1, 4.25949e-21<br> CAUTION: Gross error found
+ at entry 55.<br> Found: 0 Expected 1.33424e-37 Error: 5.99639e+270<br>
+ 1.95191, 159.621, 646.292, 1, 1.33424e-37<br> CAUTION: Gross error found
+ at entry 56.<br> Found: 1.25455e-14 Expected 1.95903e-56 Error: 6.40393e+41<br>
+ 1.95191, 160.056, 810.04, 1, 1.95903e-56<br> CAUTION: Gross error found at
+ entry 73.<br> Found: 0 Expected 4.34735e-25 Error: 1.9538e+283<br> 1.95191,
+ 193.539, 586.473, 1, 4.34735e-25<br> CAUTION: Gross error found at entry
+ 74.<br> Found: 0 Expected 4.66119e-45 Error: 2.09485e+263<br> 1.95191,
+ 193.774, 782.902, 1, 4.66119e-45<br> CAUTION: Gross error found at entry
+ 75.<br> Found: 4.77396e-15 Expected 8.92248e-68 Error: 5.35048e+52<br>
+ 1.95191, 194.119, 980.352, 1, 8.92248e-68<br> CAUTION: Gross error found
+ at entry 111.<br> Found: 0 Expected 3.1064e-15 Error: 1.39609e+293<br>
+ 20.4105, 84.4175, 314.484, 1, 3.1064e-15<br> CAUTION: Gross error found at
+ entry 112.<br> Found: 0 Expected 7.50903e-29 Error: 3.37473e+279<br> 20.4105,
+ 94.9517, 461.449, 1, 7.50903e-29<br> CAUTION: Gross error found at entry
+ 113.<br> Found: 3.77476e-15 Expected 1.74225e-43 Error: 2.1666e+28<br>
+ 20.4105, 97.0751, 587.428, 1, 1.74225e-43<br> CAUTION: Gross error found
+ at entry 130.<br> Found: 8.88178e-16 Expected 4.13277e-23 Error: 2.14911e+07<br>
+ 20.4105, 151.548, 515.876, 1, 4.13277e-23<br> CAUTION: Gross error found
+ at entry 131.<br> Found: 1.75415e-14 Expected 1.92146e-41 Error: 9.12928e+26<br>
+ 20.4105, 152.75, 692.642, 1, 1.92146e-41<br> CAUTION: Gross error found at
+ entry 132.<br> Found: 1.38778e-14 Expected 7.09864e-64 Error: 1.95499e+49<br>
+ 20.4105, 158.441, 894.26, 1, 7.09864e-64<br> CAUTION: Gross error found at
+ entry 149.<br> Found: 2.22045e-16 Expected 8.74501e-28 Error: 2.5391e+11<br>
+ 20.4105, 191.433, 635.532, 1, 8.74501e-28<br> CAUTION: Gross error found
+ at entry 150.<br> Found: 0 Expected 6.94227e-50 Error: 3.12002e+258<br>
+ 20.4105, 191.501, 847.648, 1, 6.94227e-50<br> CAUTION: Gross error found
+ at entry 151.<br> Found: 3.40838e-14 Expected 5.3889e-75 Error: 6.32482e+60<br>
+ 20.4105, 191.898, 1061.55, 1, 5.3889e-75<br> CAUTION: Gross error found at
+ entry 206.<br> Found: 5.88418e-15 Expected 2.69136e-22 Error: 2.18632e+07<br>
+ 22.8625, 141.209, 492.215, 1, 2.69136e-22<br> CAUTION: Gross error found
+ at entry 207.<br> Found: 3.60822e-14 Expected 1.64941e-40 Error: 2.18759e+26<br>
+ 22.8625, 145.168, 672.121, 1, 1.64941e-40<br> CAUTION: Gross error found
+ at entry 208.<br> Found: 3.73035e-14 Expected 1.6094e-61 Error: 2.31784e+47<br>
+ 22.8625, 148.129, 854.96, 1, 1.6094e-61<br> CAUTION: Gross error found at
+ entry 225.<br> Found: 0 Expected 3.73672e-27 Error: 1.67937e+281<br> 22.8625,
+ 182.675, 616.613, 1, 3.73672e-27<br> CAUTION: Gross error found at entry
+ 226.<br> Found: 0 Expected 8.85688e-49 Error: 3.98049e+259<br> 22.8625,
+ 183.147, 824.038, 1, 8.85688e-49<br> CAUTION: Gross error found at entry
+ 227.<br> Found: 0 Expected 2.29176e-74 Error: 1.02997e+234<br> 22.8625,
+ 186.799, 1048.31, 1, 2.29176e-74<br> CAUTION: Gross error found at entry
+ 282.<br> Found: 0 Expected 2.18831e-21 Error: 9.8348e+286<br> 23.3804,
+ 132.721, 468.305, 1, 2.18831e-21<br> CAUTION: Gross error found at entry
+ 283.<br> Found: 0 Expected 1.3071e-38 Error: 5.87439e+269<br> 23.3804,
+ 135.747, 636.51, 1, 1.3071e-38<br> CAUTION: Gross error found at entry 284.<br>
+ Found: 1.84297e-14 Expected 8.27843e-58 Error: 2.22623e+43<br> 23.3804, 136.272,
+ 798.262, 1, 8.27843e-58<br> CAUTION: Gross error found at entry 301.<br>
+ Found: 0 Expected 9.85282e-26 Error: 4.42808e+282<br> 23.3804, 169.826, 579.619,
+ 1, 9.85282e-26<br> CAUTION: Gross error found at entry 302.<br> Found:
+ 0 Expected 4.8094e-47 Error: 2.16145e+261<br> 23.3804, 174.486, 791.465,
+ 1, 4.8094e-47<br> CAUTION: Gross error found at entry 303.<br> Found: 1.11022e-16
+ Expected 6.70476e-71 Error: 1.65587e+54<br> 23.3804, 175.686, 995.333, 1,
+ 6.70476e-71<br> CAUTION: Gross error found at entry 358.<br> Found: 0 Expected
+ 3.9702e-21 Error: 1.7843e+287<br> 26.2704, 126.472, 458.227, 1, 3.9702e-21<br>
+ CAUTION: Gross error found at entry 359.<br> *** FURTHER CONTENT HAS BEEN
+ TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h25"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_non_central_t_c"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_non_central_t_c">Error
+ Output For non central t CDF complement with compiler GNU C++ version 7.1.0
+ and library Rmath 3.2.3 and test data Non Central T</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_non_central_t_CDF_complement_Rmath_3_2_3_Non_Central_T"></a>CAUTION:
+ Gross error found at entry 56.<br> Found: 0.000186411 Expected 7.85192e-05
+ Error: 1.37408<br> 61.6335, 46.2251, 68.8608, 0.999921, 7.85192e-05<br>
+ CAUTION: Gross error found at entry 75.<br> Found: 0.00011439 Expected 5.05344e-05
+ Error: 1.26361<br> 80.8418, 60.6313, 86.1278, 0.999949, 5.05344e-05<br>
+ CAUTION: Gross error found at entry 93.<br> Found: 0.000655162 Expected 0.000423927
+ Error: 0.545458<br> 100.733, 50.3663, 65.7619, 0.999576, 0.000423927<br>
+ CAUTION: Gross error found at entry 112.<br> Found: 0.000518249 Expected
+ 0.00034473 Error: 0.503348<br> 127.953, 63.9764, 81.0824, 0.999655, 0.00034473<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h26"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_non_central_t_0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_non_central_t_0">Error
+ Output For non central t CDF with compiler GNU C++ version 7.1.0 and library
+ Rmath 3.2.3 and test data Non Central T</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_non_central_t_CDF_Rmath_3_2_3_Non_Central_T"></a>CAUTION:
+ Gross error found at entry 74.<br> Found: 0.000830062 Expected 0.000522858
+ Error: 0.587549<br> 79.7478, -39.8739, -53.8066, 0.000522858, 0.999477<br>
+ CAUTION: Gross error found at entry 94.<br> Found: 7.69292e-05 Expected 3.54024e-05
+ Error: 1.17299<br> 101.191, -75.8936, -104.104, 3.54024e-05, 0.999965<br>
+ CAUTION: Gross error found at entry 113.<br> Found: 5.07713e-05 Expected
+ 2.4439e-05 Error: 1.07747<br> 128.792, -96.5942, -128.112, 2.4439e-05, 0.999976<br>
+ CAUTION: Gross error found at entry 132.<br> Found: 4.08612e-05 Expected
+ 2.01542e-05 Error: 1.02743<br> 146.56, -109.92, -143.392, 2.01542e-05, 0.99998<br>
+ CAUTION: Gross error found at entry 151.<br> Found: 3.55146e-05 Expected
+ 1.7803e-05 Error: 0.994869<br> 159.586, -119.689, -154.522, 1.7803e-05, 0.999982<br>
+ CAUTION: Gross error found at entry 170.<br> Found: 3.03671e-05 Expected
+ 1.55023e-05 Error: 0.958873<br> 175.686, -131.765, -168.211, 1.55023e-05,
+ 0.999984<br> CAUTION: Gross error found at entry 189.<br> Found: 2.61339e-05
+ Expected 1.3581e-05 Error: 0.924298<br> 192.978, -144.733, -182.834, 1.3581e-05,
+ 0.999986<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h27"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_polygamma_with_"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_polygamma_with_">Error
+ Output For polygamma with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Mathematica Data - Large orders and other bug cases</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_polygamma_Rmath_3_2_3_Mathematica_Data_Large_orders_and_other_bug_cases"></a>CAUTION:
+ Found non-finite result, when a finite value was expected at entry 0<br>
+ Found: -nan Expected 2.07309e+257 Error: 1.79769e+308<br> 171, 2, 2.07309e+257<br>
+ CAUTION: Gross error found at entry 0.<br> Found: -nan Expected 2.07309e+257
+ Error: 1.79769e+308<br> 171, 2, 2.07309e+257<br> CAUTION: Found non-finite
+ result, when a finite value was expected at entry 1<br> Found: -nan Expected
+ 7.42912e+188 Error: 1.79769e+308<br> 171, 5, 7.42912e+188<br> CAUTION:
+ Gross error found at entry 1.<br> Found: -nan Expected 7.42912e+188 Error:
+ 1.79769e+308<br> 171, 5, 7.42912e+188<br> CAUTION: Found non-finite result,
+ when a finite value was expected at entry 2<br> Found: -nan Expected -4.81295e+247
+ Error: 1.79769e+308<br> 166, 2, -4.81295e+247<br> CAUTION: Gross error
+ found at entry 2.<br> Found: -nan Expected -4.81295e+247 Error: 1.79769e+308<br>
+ 166, 2, -4.81295e+247<br> CAUTION: Found non-finite result, when a finite
+ value was expected at entry 3<br> Found: -nan Expected -1.88439e+218 Error:
+ 1.79769e+308<br> 166, 3, -1.88439e+218<br> CAUTION: Gross error found at
+ entry 3.<br> Found: -nan Expected -1.88439e+218 Error: 1.79769e+308<br>
+ 166, 3, -1.88439e+218<br> CAUTION: Found non-finite result, when a finite
+ value was expected at entry 4<br> Found: -nan Expected 7.53144e+74 Error:
+ 1.79769e+308<br> 171, 23, 7.53144e+74<br> CAUTION: Gross error found at
+ entry 4.<br> Found: -nan Expected 7.53144e+74 Error: 1.79769e+308<br> 171,
+ 23, 7.53144e+74<br> CAUTION: Found non-finite result, when a finite value
+ was expected at entry 5<br> Found: -nan Expected -6.52661e-66 Error: 1.79769e+308<br>
+ 168, 150, -6.52661e-66<br> CAUTION: Gross error found at entry 5.<br> Found:
+ -nan Expected -6.52661e-66 Error: 1.79769e+308<br> 168, 150, -6.52661e-66<br>
+ CAUTION: Found non-finite result, when a finite value was expected at entry
+ 6<br> Found: -nan Expected 9.2734e-88 Error: 1.79769e+308<br> 169, 202,
+ 9.2734e-88<br> CAUTION: Gross error found at entry 6.<br> Found: -nan Expected
+ 9.2734e-88 Error: 1.79769e+308<br> 169, 202, 9.2734e-88<br> Outside supported
+ domain<br> 20, -9.5, -0.00103076<br> Outside supported domain<br> 21,
+ -9.5, 4.28582e+26<br> Outside supported domain<br> 22, -9.5, -0.00419144<br>
+ Outside supported domain<br> 23, -9.5, 8.6745e+29<br> Outside supported
+ domain<br> 24, -9.5, -0.0204825<br> Outside supported domain<br> 25,
+ -9.5, 2.08188e+33<br> Outside supported domain<br> 26, -9.5, -0.118403<br>
+ Outside supported domain<br> 27, -9.5, 5.84592e+36<br> Outside supported
+ domain<br> 28, -9.5, -0.798969<br> Outside supported domain<br> 29, -9.5,
+ 1.89875e+40<br> Outside supported domain<br> 30, -9.5, -6.22245<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h28"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_polygamma_with0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_polygamma_with0">Error
+ Output For polygamma with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Mathematica Data - large negative arguments</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_polygamma_Rmath_3_2_3_Mathematica_Data_large_negative_arguments"></a>Outside
+ supported domain<br> 124, -1.5, 7.63705e+240<br> Outside supported domain<br>
+ 124, -2.5, 7.63705e+240<br> Outside supported domain<br> 124, -3.5, 7.63705e+240<br>
+ Outside supported domain<br> 124, -4.5, 7.63705e+240<br> Outside supported
+ domain<br> 124, -5.5, 7.63705e+240<br> Outside supported domain<br> 124,
+ -6.5, 7.63705e+240<br> Outside supported domain<br> 124, -7.5, 7.63705e+240<br>
+ Outside supported domain<br> 124, -8.5, 7.63705e+240<br> Outside supported
+ domain<br> 124, -9.5, 7.63705e+240<br> Outside supported domain<br> 124,
+ -10.5, 7.63705e+240<br> Outside supported domain<br> 124, -11.5, 7.63705e+240<br>
+ Outside supported domain<br> 124, -12.5, 7.63705e+240<br> Outside supported
+ domain<br> 124, -13.5, 7.63705e+240<br> Outside supported domain<br>
+ 124, -14.5, 7.63705e+240<br> Outside supported domain<br> 124, -15.5, 7.63705e+240<br>
+ Outside supported domain<br> 124, -16.5, 7.63705e+240<br> Outside supported
+ domain<br> 124, -17.5, 7.63705e+240<br> Outside supported domain<br>
+ 124, -18.5, 7.63705e+240<br> Outside supported domain<br> 124, -19.5, 7.63705e+240<br>
+ Outside supported domain<br> 124, -20.5, 7.63705e+240<br> Outside supported
+ domain<br> 124, -1.5, -7.63705e+240<br> Outside supported domain<br>
+ 124, -2.5, -7.63705e+240<br> Outside supported domain<br> 124, -3.5, -7.63705e+240<br>
+ Outside supported domain<br> 124, -4.5, -7.63705e+240<br> Outside supported
+ domain<br> 124, -5.5, -7.63705e+240<br> Outside supported domain<br>
+ 124, -6.5, -7.63705e+240<br> Outside supported domain<br> 124, -7.5, -7.63705e+240<br>
+ Outside supported domain<br> 124, -8.5, -7.63705e+240<br> Outside supported
+ domain<br> 124, -9.5, -7.63705e+240<br> Outside supported domain<br>
+ 124, -10.5, -7.63705e+240<br> Outside supported domain<br> 124, -11.5,
+ -7.63705e+240<br> Outside supported domain<br> 124, -12.5, -7.63705e+240<br>
+ Outside supported domain<br> 124, -13.5, -7.63705e+240<br> Outside supported
+ domain<br> 124, -14.5, -7.63705e+240<br> Outside supported domain<br>
+ 124, -15.5, -7.63705e+240<br> Outside supported domain<br> 124, -16.5,
+ -7.63705e+240<br> Outside supported domain<br> 124, -17.5, -7.63705e+240<br>
+ Outside supported domain<br> 124, -18.5, -7.63705e+240<br> Outside supported
+ domain<br> 124, -19.5, -7.63705e+240<br> Outside supported domain<br>
+ 124, -20.5, -7.63705e+240<br> Outside supported domain<br> 1, -0.5, 8.9348<br>
+ Outside supported domain<br> 2, -0.5, -0.828797<br> Outside supported domain<br>
+ 3, -0.5, 193.409<br> Outside supported domain<br> 4, -0.5, -3.47425<br>
+ Outside supported domain<br> 5, -0.5, 15371.1<br> Outside supported domain<br>
+ 6, -0.5, -43.4579<br> Outside supported domain<br> 7, -0.5, 2.58068e+06<br>
+ Outside supported domain<br> 8, -0.5, -1059.96<br> Outside supported domain<br>
+ 9, -0.5, 7.43185e+08<br> Outside supported domain<br> 10, -0.5, -42108.9<br>
+ Outside supported domain<br> 11, -0.5, 3.26999e+11<br> Outside supported
+ domain<br> 12, -0.5, -2.46448e+06<br> Outside supported domain<br> 13,
+ -0.5, 2.04047e+14<br> Outside supported domain<br> 14, -0.5, -1.9918e+08<br>
+ Outside supported domain<br> 15, -0.5, 1.71399e+17<br> Outside supported
+ domain<br> 16, -0.5, -2.12394e+10<br> Outside supported domain<br> 17,
+ -0.5, 1.86483e+20<br> Outside supported domain<br> 18, -0.5, -2.88824e+12<br>
+ Outside supported domain<br> 19, -0.5, 2.55108e+23<br> Outside supported
+ domain<br> 20, -0.5, -4.87773e+14<br> Outside supported domain<br> 21,
+ -0.5, 4.28582e+26<br> Outside supported domain<br> 1, -0.5, 8.9348<br>
+ Outside supported domain<br> 2, -0.5, -0.828843<br> Outside supported domain<br>
+ 3, -0.5, 193.409<br> Outside supported domain<br> 4, -0.5, -3.47791<br>
+ Outside supported domain<br> 5, -0.5, 15371.1<br> Outside supported domain<br>
+ 6, -0.5, -44.0732<br> Outside supported domain<br> 7, -0.5, 2.58068e+06<br>
+ Outside supported domain<br> 8, -0.5, -1237.15<br> Outside supported domain<br>
+ 9, -0.5, 7.43185e+08<br> Outside supported domain<br> 10, -0.5, -120071<br>
+ Outside supported domain<br> 11, -0.5, 3.26999e+11<br> Outside supported
+ domain<br> 12, -0.5, -5.11131e+07<br> Outside supported domain<br> 13,
+ -0.5, 2.04047e+14<br> Outside supported domain<br> 14, -0.5, -4.1064e+10<br>
+ Outside supported domain<br> 15, -0.5, 1.71399e+17<br> Outside supported
+ domain<br> 16, -0.5, -4.44822e+13<br> Outside supported domain<br> 17,
+ -0.5, 1.86483e+20<br> Outside supported domain<br> 18, -0.5, -6.08254e+16<br>
+ Outside supported domain<br> 19, -0.5, 2.55108e+23<br> Outside supported
+ domain<br> 20, -0.5, -1.02182e+20<br> Outside supported domain<br> 21,
+ -0.5, 4.28582e+26<br> Outside supported domain<br> 1, -0.5, 8.9348<br>
+ Outside supported domain<br> 2, -0.5, -0.828751<br> Outside supported domain<br>
+ 3, -0.5, 193.409<br> Outside supported domain<br> 4, -0.5, -3.47059<br>
+ Outside supported domain<br> *** FURTHER CONTENT HAS BEEN TRUNCATED FOR BREVITY
+ ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h29"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_polygamma_with1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_polygamma_with1">Error
+ Output For polygamma with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Mathematica Data - negative arguments</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_polygamma_Rmath_3_2_3_Mathematica_Data_negative_arguments"></a>Outside
+ supported domain<br> 1, -12.75, 19.6638<br> Outside supported domain<br>
+ 1, -12.25, 19.6608<br> Outside supported domain<br> 1, -11.75, 19.6576<br>
+ Outside supported domain<br> 1, -11.25, 19.6542<br> Outside supported domain<br>
+ 1, -10.75, 19.6504<br> Outside supported domain<br> 1, -10.25, 19.6463<br>
+ Outside supported domain<br> 1, -9.75, 19.6417<br> Outside supported domain<br>
+ 1, -9.25, 19.6367<br> Outside supported domain<br> 1, -8.75, 19.6312<br>
+ Outside supported domain<br> 1, -8.25, 19.625<br> Outside supported domain<br>
+ 1, -7.75, 19.6181<br> Outside supported domain<br> 1, -7.25, 19.6104<br>
+ Outside supported domain<br> 1, -6.75, 19.6015<br> Outside supported domain<br>
+ 1, -6.25, 19.5913<br> Outside supported domain<br> 1, -5.75, 19.5795<br>
+ Outside supported domain<br> 1, -5.25, 19.5657<br> Outside supported domain<br>
+ 1, -4.75, 19.5493<br> Outside supported domain<br> 1, -4.25, 19.5294<br>
+ Outside supported domain<br> 1, -3.75, 19.505<br> Outside supported domain<br>
+ 1, -3.25, 19.4741<br> Outside supported domain<br> 1, -2.75, 19.4339<br>
+ Outside supported domain<br> 1, -2.25, 19.3794<br> Outside supported domain<br>
+ 1, -1.75, 19.3016<br> Outside supported domain<br> 1, -1.25, 19.1819<br>
+ Outside supported domain<br> 1, -0.75, 18.9751<br> Outside supported domain<br>
+ 1, -0.25, 18.5419<br> Outside supported domain<br> 2, -12.75, -124.031<br>
+ Outside supported domain<br> 2, -12.25, 124.019<br> Outside supported domain<br>
+ 2, -11.75, -124.032<br> Outside supported domain<br> 2, -11.25, 124.018<br>
+ Outside supported domain<br> 2, -10.75, -124.033<br> Outside supported
+ domain<br> 2, -10.25, 124.016<br> Outside supported domain<br> 2, -9.75,
+ -124.035<br> Outside supported domain<br> 2, -9.25, 124.015<br> Outside
+ supported domain<br> 2, -8.75, -124.037<br> Outside supported domain<br>
+ 2, -8.25, 124.012<br> Outside supported domain<br> 2, -7.75, -124.04<br>
+ Outside supported domain<br> 2, -7.25, 124.009<br> Outside supported domain<br>
+ 2, -6.75, -124.044<br> Outside supported domain<br> 2, -6.25, 124.003<br>
+ Outside supported domain<br> 2, -5.75, -124.051<br> Outside supported domain<br>
+ 2, -5.25, 123.995<br> Outside supported domain<br> 2, -4.75, -124.061<br>
+ Outside supported domain<br> 2, -4.25, 123.981<br> Outside supported domain<br>
+ 2, -3.75, -124.08<br> Outside supported domain<br> 2, -3.25, 123.955<br>
+ Outside supported domain<br> 2, -2.75, -124.118<br> Outside supported domain<br>
+ 2, -2.25, 123.897<br> Outside supported domain<br> 2, -1.75, -124.214<br>
+ Outside supported domain<br> 2, -1.25, 123.721<br> Outside supported domain<br>
+ 2, -0.75, -124.587<br> Outside supported domain<br> 2, -0.25, 122.697<br>
+ Outside supported domain<br> 3, -12.75, 1558.54<br> Outside supported domain<br>
+ 3, -12.25, 1558.54<br> Outside supported domain<br> 3, -11.75, 1558.54<br>
+ Outside supported domain<br> 3, -11.25, 1558.54<br> Outside supported domain<br>
+ 3, -10.75, 1558.54<br> Outside supported domain<br> 3, -10.25, 1558.54<br>
+ Outside supported domain<br> 3, -9.75, 1558.54<br> Outside supported domain<br>
+ 3, -9.25, 1558.54<br> Outside supported domain<br> 3, -8.75, 1558.54<br>
+ Outside supported domain<br> 3, -8.25, 1558.54<br> Outside supported domain<br>
+ 3, -7.75, 1558.54<br> Outside supported domain<br> 3, -7.25, 1558.54<br>
+ Outside supported domain<br> 3, -6.75, 1558.54<br> Outside supported domain<br>
+ 3, -6.25, 1558.54<br> Outside supported domain<br> 3, -5.75, 1558.54<br>
+ Outside supported domain<br> 3, -5.25, 1558.54<br> Outside supported domain<br>
+ 3, -4.75, 1558.53<br> Outside supported domain<br> 3, -4.25, 1558.53<br>
+ Outside supported domain<br> 3, -3.75, 1558.52<br> Outside supported domain<br>
+ 3, -3.25, 1558.51<br> Outside supported domain<br> 3, -2.75, 1558.49<br>
+ Outside supported domain<br> 3, -2.25, 1558.46<br> Outside supported domain<br>
+ 3, -1.75, 1558.38<br> Outside supported domain<br> 3, -1.25, 1558.22<br>
+ Outside supported domain<br> 3, -0.75, 1557.75<br> Outside supported domain<br>
+ 3, -0.25, 1555.76<br> Outside supported domain<br> 4, -12.75, -24481.6<br>
+ Outside supported domain<br> 4, -12.25, 24481.6<br> Outside supported domain<br>
+ 4, -11.75, -24481.6<br> Outside supported domain<br> 4, -11.25, 24481.6<br>
+ Outside supported domain<br> 4, -10.75, -24481.6<br> Outside supported
+ domain<br> 4, -10.25, 24481.6<br> Outside supported domain<br> 4, -9.75,
+ -24481.6<br> Outside supported domain<br> 4, -9.25, 24481.6<br> Outside
+ supported domain<br> 4, -8.75, -24481.6<br> Outside supported domain<br>
+ 4, -8.25, 24481.6<br> Outside supported domain<br> 4, -7.75, -24481.6<br>
+ Outside supported domain<br> 4, -7.25, 24481.6<br> Outside supported domain<br>
+ 4, -6.75, -24481.6<br> Outside supported domain<br> 4, -6.25, 24481.6<br>
+ Outside supported domain<br> 4, -5.75, -24481.6<br> Outside supported domain<br>
+ 4, -5.25, 24481.6<br> Outside supported domain<br> *** FURTHER CONTENT
+ HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h30"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_polygamma_with2"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_polygamma_with2">Error
+ Output For polygamma with compiler GNU C++ version 7.1.0 and library Rmath
+ 3.2.3 and test data Mathematica Data - large arguments</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_polygamma_Rmath_3_2_3_Mathematica_Data_large_arguments"></a>CAUTION:
+ Gross error found at entry 211.<br> Found: -0 Expected -8.44974e-268 Error:
+ 3.79751e+40<br> 30, 8.58993e+09, -8.44974e-268<br> CAUTION: Gross error
+ found at entry 212.<br> Found: -0 Expected -7.86943e-277 Error: 3.5367e+31<br>
+ 30, 1.71799e+10, -7.86943e-277<br> CAUTION: Gross error found at entry 213.<br>
+ Found: -0 Expected -7.32898e-286 Error: 3.29381e+22<br> 30, 3.43597e+10,
+ -7.32898e-286<br> CAUTION: Gross error found at entry 214.<br> Found: -0
+ Expected -6.82564e-295 Error: 3.0676e+13<br> 30, 6.87195e+10, -6.82564e-295<br>
+ CAUTION: Gross error found at entry 215.<br> Found: -0 Expected -6.35687e-304
+ Error: 28568.3<br> 30, 1.37439e+11, -6.35687e-304<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h31"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w3"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w3">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel Iv: Mathworld Data (large values)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_Iv_Mathworld_Data_large_values_"></a>domain
+ error<br> -1, 3.72917e-155, 1.86459e-155<br> domain error<br> -1.125,
+ 3.72917e-155, -1.34964e+173<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h32"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w4"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w4">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel Iv: Random Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_Iv_Random_Data"></a>domain
+ error<br> -80.4919, 24.7501, 4.18698e+28<br> domain error<br> -80.4919,
+ 63.7722, 2.03248e+06<br> domain error<br> -74.6026, 24.7501, 7.20977e+23<br>
+ domain error<br> -74.6026, 63.7722, 8.7549e+08<br> domain error<br> -72.9046,
+ 24.7501, 1.04535e+22<br> domain error<br> -72.9046, 63.7722, 4.7162e+09<br>
+ domain error<br> -62.3236, 24.7501, 3.65147e+14<br> domain error<br>
+ -62.3236, 63.7722, 8.56683e+13<br> domain error<br> -55.7932, 24.7501,
+ -7.70364e+09<br> domain error<br> -55.7932, 63.7722, 1.95969e+16<br>
+ domain error<br> -44.3004, 9.50706, 2.93478e+22<br> domain error<br>
+ -44.3004, 24.7501, 640.568<br> domain error<br> -44.3004, 63.7722, 8.05557e+19<br>
+ domain error<br> -38.3666, 5.11399, 2.89105e+27<br> domain error<br>
+ -38.3666, 9.50706, 8.80632e+16<br> domain error<br> -38.3666, 24.7501,
+ 0.389004<br> domain error<br> -38.3666, 63.7722, 3.06303e+21<br> underflow<br>
+ 81.1584, 0.00177219, 0<br> underflow<br> 81.1584, 0.00221773, 0<br> underflow<br>
+ 81.1584, 0.0074445, 6.08857e-319<br> underflow<br> 82.6752, 0.00177219,
+ 0<br> underflow<br> 82.6752, 0.00221773, 0<br> underflow<br> 82.6752,
+ 0.0074445, 0<br> underflow<br> 91.5014, 0.00177219, 0<br> underflow<br>
+ 91.5014, 0.00221773, 0<br> underflow<br> 91.5014, 0.0074445, 0<br> underflow<br>
+ 91.5014, 0.014336, 0<br> underflow<br> 91.5014, 0.0176092, 0<br> underflow<br>
+ 92.9777, 0.00177219, 0<br> underflow<br> 92.9777, 0.00221773, 0<br> underflow<br>
+ 92.9777, 0.0074445, 0<br> underflow<br> 92.9777, 0.014336, 0<br> underflow<br>
+ 92.9777, 0.0176092, 0<br> underflow<br> 93.539, 0.00177219, 0<br> underflow<br>
+ 93.539, 0.00221773, 0<br> underflow<br> 93.539, 0.0074445, 0<br> underflow<br>
+ 93.539, 0.014336, 0<br> underflow<br> 93.539, 0.0176092, 0<br> underflow<br>
+ 93.7736, 0.00177219, 0<br> underflow<br> 93.7736, 0.00221773, 0<br> underflow<br>
+ 93.7736, 0.0074445, 0<br> underflow<br> 93.7736, 0.014336, 0<br> underflow<br>
+ 93.7736, 0.0176092, 0<br> underflow<br> 98.5763, 0.00177219, 0<br> underflow<br>
+ 98.5763, 0.00221773, 0<br> underflow<br> 98.5763, 0.0074445, 0<br> underflow<br>
+ 98.5763, 0.014336, 0<br> underflow<br> 98.5763, 0.0176092, 0<br> underflow<br>
+ 99.2923, 0.00177219, 0<br> underflow<br> 99.2923, 0.00221773, 0<br> underflow<br>
+ 99.2923, 0.0074445, 0<br> underflow<br> 99.2923, 0.014336, 0<br> underflow<br>
+ 99.2923, 0.0176092, 0<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h33"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w5"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w5">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel In: Random Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_In_Random_Data"></a>underflow<br>
+ 70, 0.00177219, 1.75887e-314<br> underflow<br> 73, 0.00177219, 0<br>
+ underflow<br> 73, 0.00221773, 4.24896e-322<br> underflow<br> 76, 0.00177219,
+ 0<br> underflow<br> 76, 0.00221773, 0<br> underflow<br> 79, 0.00177219,
+ 0<br> underflow<br> 79, 0.00221773, 0<br> underflow<br> 79, 0.0074445,
+ 1.38676e-309<br> underflow<br> 82, 0.00177219, 0<br> underflow<br>
+ 82, 0.00221773, 0<br> underflow<br> 82, 0.0074445, 1.33398e-322<br> underflow<br>
+ 85, 0.00177219, 0<br> underflow<br> 85, 0.00221773, 0<br> underflow<br>
+ 85, 0.0074445, 0<br> underflow<br> 85, 0.014336, 1.81568e-311<br> underflow<br>
+ 88, 0.00177219, 0<br> underflow<br> 88, 0.00221773, 0<br> underflow<br>
+ 88, 0.0074445, 0<br> underflow<br> 88, 0.014336, 9.88131e-324<br> underflow<br>
+ 88, 0.0176092, 7.34647e-316<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h34"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w6"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w6">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel Iv: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_Iv_Mathworld_Data"></a>domain
+ error<br> -4.99902, 2.125, 0.0267921<br> domain error<br> -5.5, 10, 597.578<br>
+ domain error<br> -5.5, 100, 9.22363e+41<br> domain error<br> -10.0003,
+ 0.000976562, 1.41474e+35<br> domain error<br> -10.0003, 50, 1.07153e+20<br>
+ domain error<br> -141.4, 100, 2066.28<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h35"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_i2"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_i2">Error
+ Output For cyl_bessel_i (integer orders) with compiler GNU C++ version 7.1.0
+ and library GSL 2.1 and test data Bessel In: Mathworld Data (Integer Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_integer_orders__GSL_2_1_Bessel_In_Mathworld_Data_Integer_Version_"></a>underflow<br>
+ 10, 1e-100, 0<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h36"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w7"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w7">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel In: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_In_Mathworld_Data"></a>domain
+ error<br> -2, 0, 0<br> domain error<br> -5, 100, 9.47009e+41<br> domain
+ error<br> -5, -1, -0.000271463<br> domain error<br> 10, -5, 0.00458004<br>
+ domain error<br> -100, -200, 4.35275e+74<br> underflow<br> 10, 1e-100,
+ 0<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h37"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w8"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w8">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel I1: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_I1_Mathworld_Data"></a>domain
+ error<br> 1, -2, -1.59064<br> domain error<br> 1, -8, -399.873<br>
+ domain error<br> 1, -10, -2670.99<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h38"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w9"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_w9">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel I0: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_I0_Mathworld_Data"></a>domain
+ error<br> 0, -2, 2.27959<br> domain error<br> 0, -7, 168.594<br> domain
+ error<br> 0, -1, 1.26607<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h39"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_0">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel Iv: Mathworld Data (large values)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_Iv_Mathworld_Data_large_values_"></a>Bad
+ argument in __cyl_bessel_i.<br> -1, 3.72917e-155, 1.86459e-155<br> Bad
+ argument in __cyl_bessel_i.<br> -1.125, 3.72917e-155, -1.34964e+173<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h40"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_1">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel Iv: Random Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_Iv_Random_Data"></a>Bad
+ argument in __cyl_bessel_i.<br> -80.4919, 24.7501, 4.18698e+28<br> Bad
+ argument in __cyl_bessel_i.<br> -80.4919, 63.7722, 2.03248e+06<br> Bad
+ argument in __cyl_bessel_i.<br> -74.6026, 24.7501, 7.20977e+23<br> Bad
+ argument in __cyl_bessel_i.<br> -74.6026, 63.7722, 8.7549e+08<br> Bad argument
+ in __cyl_bessel_i.<br> -72.9046, 24.7501, 1.04535e+22<br> Bad argument
+ in __cyl_bessel_i.<br> -72.9046, 63.7722, 4.7162e+09<br> Bad argument in
+ __cyl_bessel_i.<br> -62.3236, 24.7501, 3.65147e+14<br> Bad argument in
+ __cyl_bessel_i.<br> -62.3236, 63.7722, 8.56683e+13<br> Bad argument in
+ __cyl_bessel_i.<br> -55.7932, 24.7501, -7.70364e+09<br> Bad argument in
+ __cyl_bessel_i.<br> -55.7932, 63.7722, 1.95969e+16<br> Bad argument in
+ __cyl_bessel_i.<br> -44.3004, 9.50706, 2.93478e+22<br> Bad argument in
+ __cyl_bessel_i.<br> -44.3004, 24.7501, 640.568<br> Bad argument in __cyl_bessel_i.<br>
+ -44.3004, 63.7722, 8.05557e+19<br> Bad argument in __cyl_bessel_i.<br>
+ -38.3666, 5.11399, 2.89105e+27<br> Bad argument in __cyl_bessel_i.<br>
+ -38.3666, 9.50706, 8.80632e+16<br> Bad argument in __cyl_bessel_i.<br>
+ -38.3666, 24.7501, 0.389004<br> Bad argument in __cyl_bessel_i.<br> -38.3666,
+ 63.7722, 3.06303e+21<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h41"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_2"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_2">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel Iv: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_Iv_Mathworld_Data"></a>Bad
+ argument in __cyl_bessel_i.<br> -4.99902, 2.125, 0.0267921<br> Bad argument
+ in __cyl_bessel_i.<br> -5.5, 10, 597.578<br> Bad argument in __cyl_bessel_i.<br>
+ -5.5, 100, 9.22363e+41<br> Bad argument in __cyl_bessel_i.<br> -10.0003,
+ 0.000976562, 1.41474e+35<br> Bad argument in __cyl_bessel_i.<br> -10.0003,
+ 50, 1.07153e+20<br> Bad argument in __cyl_bessel_i.<br> -141.4, 100, 2066.28<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h42"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_i3"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_i3">Error
+ Output For cyl_bessel_i (integer orders) with compiler GNU C++ version 7.1.0
+ and library &lt;cmath&gt; and test data Bessel In: Mathworld Data (Integer
+ Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i_integer_orders___cmath__Bessel_In_Mathworld_Data_Integer_Version_"></a>Bad
+ argument in __cyl_bessel_i.<br> -2, 0, 0<br> Bad argument in __cyl_bessel_i.<br>
+ -5, 100, 9.47009e+41<br> Bad argument in __cyl_bessel_i.<br> -5, -1, -0.000271463<br>
+ Bad argument in __cyl_bessel_i.<br> 10, -5, 0.00458004<br> Bad argument
+ in __cyl_bessel_i.<br> -100, -200, 4.35275e+74<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h43"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_i4"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_i4">Error
+ Output For cyl_bessel_i (integer orders) with compiler GNU C++ version 7.1.0
+ and library &lt;cmath&gt; and test data Bessel I1: Mathworld Data (Integer
+ Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i_integer_orders___cmath__Bessel_I1_Mathworld_Data_Integer_Version_"></a>Bad
+ argument in __cyl_bessel_i.<br> 1, -2, -1.59064<br> Bad argument in __cyl_bessel_i.<br>
+ 1, -8, -399.873<br> Bad argument in __cyl_bessel_i.<br> 1, -10, -2670.99<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h44"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_i5"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_i5">Error
+ Output For cyl_bessel_i (integer orders) with compiler GNU C++ version 7.1.0
+ and library &lt;cmath&gt; and test data Bessel I0: Mathworld Data (Integer
+ Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i_integer_orders___cmath__Bessel_I0_Mathworld_Data_Integer_Version_"></a>Bad
+ argument in __cyl_bessel_i.<br> 0, -2, 2.27959<br> Bad argument in __cyl_bessel_i.<br>
+ 0, -7, 168.594<br> Bad argument in __cyl_bessel_i.<br> 0, -1, 1.26607<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h45"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_3"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_3">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel In: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_In_Mathworld_Data"></a>Bad
+ argument in __cyl_bessel_i.<br> -2, 0, 0<br> Bad argument in __cyl_bessel_i.<br>
+ -5, 100, 9.47009e+41<br> Bad argument in __cyl_bessel_i.<br> -5, -1, -0.000271463<br>
+ Bad argument in __cyl_bessel_i.<br> 10, -5, 0.00458004<br> Bad argument
+ in __cyl_bessel_i.<br> -100, -200, 4.35275e+74<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h46"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_4"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_4">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel I1: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_I1_Mathworld_Data"></a>Bad
+ argument in __cyl_bessel_i.<br> 1, -2, -1.59064<br> Bad argument in __cyl_bessel_i.<br>
+ 1, -8, -399.873<br> Bad argument in __cyl_bessel_i.<br> 1, -10, -2670.99<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h47"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_5"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_i_5">Error
+ Output For cyl_bessel_i with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel I0: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_I0_Mathworld_Data"></a>Bad
+ argument in __cyl_bessel_i.<br> 0, -2, 2.27959<br> Bad argument in __cyl_bessel_i.<br>
+ 0, -7, 168.594<br> Bad argument in __cyl_bessel_i.<br> 0, -1, 1.26607<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h48"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w3"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w3">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel J: Random Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J_Random_Data"></a>underflow<br>
+ 63.8868, 5.5381e-05, 0<br> underflow<br> 63.8868, 6.9304e-05, 0<br> underflow<br>
+ 63.8868, 0.000232641, 0<br> underflow<br> 63.8868, 0.000448, 8.39912e-323<br>
+ underflow<br> 63.8868, 0.000550287, 4.32897e-317<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h49"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w4"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w4">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel J: Mathworld Data (large values)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J_Mathworld_Data_large_values_"></a>domain
+ error<br> -0.5, 1.2459e-206, 7.14823e+102<br> domain error<br> -256,
+ 8, 0<br> domain error<br> -2.5, 4, -0.0145679<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h50"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w5"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w5">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel J: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J_Mathworld_Data"></a>domain
+ error<br> -5.5, 3.1416, -2.5582<br> domain error<br> -5.5, 10000, 0.00244984<br>
+ domain error<br> -5.5, 10000, 0.00244984<br> domain error<br> -5.5, 1e+06,
+ 0.000279243<br> domain error<br> -0.5, 101, 0.0708185<br> domain error<br>
+ -10.0003, 0.000976562, 1.41474e+35<br> domain error<br> -10.0003, 15, -0.0902239<br>
+ domain error<br> -10.0003, 100, -0.0547614<br> domain error<br> -10.0003,
+ 20000, -0.00556869<br> domain error<br> -8.5, 12.5664, -0.257087<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h51"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i3"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i3">Error
+ Output For cyl_bessel_j (integer orders) with compiler GNU C++ version 7.1.0
+ and library GSL 2.1 and test data Bessel JN: Mathworld Data (Integer Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_integer_orders__GSL_2_1_Bessel_JN_Mathworld_Data_Integer_Version_"></a>underflow<br>
+ 10, 1e-100, 0<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h52"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w6"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w6">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel JN: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_JN_Mathworld_Data"></a>domain
+ error<br> -1, 1.25, -0.510623<br> domain error<br> -2, 0, 0<br> domain
+ error<br> 5, -10, 0.234062<br> domain error<br> -5, 1e+06, 0.000725964<br>
+ domain error<br> -5, -1, 0.000249758<br> domain error<br> 10, -10, 0.207486<br>
+ domain error<br> 10, -5, 0.0014678<br> domain error<br> -10, 1e+06, -0.000331079<br>
+ underflow<br> 10, 1e-100, 0<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h53"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w7"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w7">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel J1: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J1_Mathworld_Data"></a>domain
+ error<br> 1, -2, -0.576725<br> domain error<br> 1, -8, -0.234636<br>
+ domain error<br> 1, -10, -0.0434727<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h54"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w8"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w8">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel J0: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J0_Mathworld_Data"></a>domain
+ error<br> 0, -2, 0.223891<br> domain error<br> 0, -8, 0.171651<br>
+ domain error<br> 0, -10, -0.245936<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h55"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w9"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_w9">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel J: Mathworld Data (large values)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_J_Mathworld_Data_large_values_"></a>Bad
+ argument in __cyl_bessel_j.<br> -0.5, 1.2459e-206, 7.14823e+102<br> Bad
+ argument in __cyl_bessel_j.<br> -256, 8, 1.46866e-353<br> Bad argument
+ in __cyl_bessel_j.<br> -2.5, 4, -0.0145679<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h56"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_0">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel J: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_J_Mathworld_Data"></a>Bad
+ argument in __cyl_bessel_j.<br> -5.5, 3.1416, -2.5582<br> Bad argument
+ in __cyl_bessel_j.<br> -5.5, 10000, 0.00244984<br> Bad argument in __cyl_bessel_j.<br>
+ -5.5, 10000, 0.00244984<br> Bad argument in __cyl_bessel_j.<br> -5.5, 1e+06,
+ 0.000279243<br> Bad argument in __cyl_bessel_j.<br> -0.5, 101, 0.0708185<br>
+ Bad argument in __cyl_bessel_j.<br> -10.0003, 0.000976562, 1.41474e+35<br>
+ Bad argument in __cyl_bessel_j.<br> -10.0003, 15, -0.0902239<br> Bad argument
+ in __cyl_bessel_j.<br> -10.0003, 100, -0.0547614<br> Bad argument in __cyl_bessel_j.<br>
+ -10.0003, 20000, -0.00556869<br> Bad argument in __cyl_bessel_j.<br> -8.5,
+ 12.5664, -0.257087<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h57"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i4"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i4">Error
+ Output For cyl_bessel_j (integer orders) with compiler GNU C++ version 7.1.0
+ and library &lt;cmath&gt; and test data Bessel JN: Mathworld Data (Integer
+ Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j_integer_orders___cmath__Bessel_JN_Mathworld_Data_Integer_Version_"></a>Bad
+ argument in __cyl_bessel_j.<br> -1, 1.25, -0.510623<br> Bad argument in
+ __cyl_bessel_j.<br> -2, 0, 0<br> Bad argument in __cyl_bessel_j.<br>
+ 5, -10, 0.234062<br> Bad argument in __cyl_bessel_j.<br> -5, 1e+06, 0.000725964<br>
+ Bad argument in __cyl_bessel_j.<br> -5, -1, 0.000249758<br> Bad argument
+ in __cyl_bessel_j.<br> 10, -10, 0.207486<br> Bad argument in __cyl_bessel_j.<br>
+ 10, -5, 0.0014678<br> Bad argument in __cyl_bessel_j.<br> -10, 1e+06, -0.000331079<br>
+ CAUTION: Gross error found at entry 15.<br> Found: 0.0042409 Expected 0.00128318
+ Error: 2.305<br> 1000, 100000, 0.00128318<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h58"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i5"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i5">Error
+ Output For cyl_bessel_j (integer orders) with compiler GNU C++ version 7.1.0
+ and library &lt;cmath&gt; and test data Bessel J1: Mathworld Data (Integer
+ Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j_integer_orders___cmath__Bessel_J1_Mathworld_Data_Integer_Version_"></a>Bad
+ argument in __cyl_bessel_j.<br> 1, -2, -0.576725<br> Bad argument in __cyl_bessel_j.<br>
+ 1, -8, -0.234636<br> Bad argument in __cyl_bessel_j.<br> 1, -10, -0.0434727<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h59"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i6"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_i6">Error
+ Output For cyl_bessel_j (integer orders) with compiler GNU C++ version 7.1.0
+ and library &lt;cmath&gt; and test data Bessel J0: Mathworld Data (Integer
+ Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j_integer_orders___cmath__Bessel_J0_Mathworld_Data_Integer_Version_"></a>Bad
+ argument in __cyl_bessel_j.<br> 0, -2, 0.223891<br> Bad argument in __cyl_bessel_j.<br>
+ 0, -8, 0.171651<br> Bad argument in __cyl_bessel_j.<br> 0, -10, -0.245936<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h60"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_1">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel JN: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_JN_Mathworld_Data"></a>Bad
+ argument in __cyl_bessel_j.<br> -1, 1.25, -0.510623<br> Bad argument in
+ __cyl_bessel_j.<br> -2, 0, 0<br> Bad argument in __cyl_bessel_j.<br>
+ 5, -10, 0.234062<br> Bad argument in __cyl_bessel_j.<br> -5, 1e+06, 0.000725964<br>
+ Bad argument in __cyl_bessel_j.<br> -5, -1, 0.000249758<br> Bad argument
+ in __cyl_bessel_j.<br> 10, -10, 0.207486<br> Bad argument in __cyl_bessel_j.<br>
+ 10, -5, 0.0014678<br> Bad argument in __cyl_bessel_j.<br> -10, 1e+06, -0.000331079<br>
+ CAUTION: Gross error found at entry 15.<br> Found: 0.0042409 Expected 0.00128318
+ Error: 2.305<br> 1000, 100000, 0.00128318<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h61"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_2"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_2">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel J1: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_J1_Mathworld_Data"></a>Bad
+ argument in __cyl_bessel_j.<br> 1, -2, -0.576725<br> Bad argument in __cyl_bessel_j.<br>
+ 1, -8, -0.234636<br> Bad argument in __cyl_bessel_j.<br> 1, -10, -0.0434727<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h62"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_3"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_j_3">Error
+ Output For cyl_bessel_j with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel J0: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_J0_Mathworld_Data"></a>Bad
+ argument in __cyl_bessel_j.<br> 0, -2, 0.223891<br> Bad argument in __cyl_bessel_j.<br>
+ 0, -8, 0.171651<br> Bad argument in __cyl_bessel_j.<br> 0, -10, -0.245936<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h63"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_wi"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_wi">Error
+ Output For cyl_bessel_k with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel Kv: Random Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kv_Random_Data"></a>domain
+ error<br> -80.4919, 24.7501, 6.57902e+28<br> domain error<br> -80.4919,
+ 63.7722, 2.39552e-09<br> domain error<br> -80.4919, 125.28, 3.06904e-45<br>
+ domain error<br> -80.4919, 255.547, 2.30343e-107<br> domain error<br>
+ -80.4919, 503.011, 1.20315e-217<br> domain error<br> -80.4919, 1007.46,
+ 0<br> domain error<br> -80.4919, 1185.4, 0<br> domain error<br> -80.4919,
+ 3534.52, 0<br> domain error<br> -80.4919, 8071.55, 0<br> domain error<br>
+ -80.4919, 16229.2, 0<br> domain error<br> -80.4919, 32066.2, 0<br> domain
+ error<br> -80.4919, 36367.9, 0<br> domain error<br> -74.6026, 24.7501,
+ 1.19405e+24<br> domain error<br> -74.6026, 63.7722, 5.81897e-12<br> domain
+ error<br> -74.6026, 125.28, 9.89214e-47<br> domain error<br> -74.6026,
+ 255.547, 3.9726e-108<br> domain error<br> -74.6026, 503.011, 4.87462e-218<br>
+ domain error<br> -74.6026, 1007.46, 0<br> domain error<br> -74.6026,
+ 1185.4, 0<br> domain error<br> -74.6026, 3534.52, 0<br> domain error<br>
+ -74.6026, 8071.55, 0<br> domain error<br> -74.6026, 16229.2, 0<br> domain
+ error<br> -74.6026, 32066.2, 0<br> domain error<br> -74.6026, 36367.9,
+ 0<br> domain error<br> -72.9046, 24.7501, 5.5618e+22<br> domain error<br>
+ -72.9046, 63.7722, 1.09452e-12<br> domain error<br> -72.9046, 125.28, 3.8393e-47<br>
+ domain error<br> -72.9046, 255.547, 2.45173e-108<br> domain error<br>
+ -72.9046, 503.011, 3.80454e-218<br> domain error<br> -72.9046, 1007.46,
+ 0<br> domain error<br> -72.9046, 1185.4, 0<br> domain error<br> -72.9046,
+ 3534.52, 0<br> domain error<br> -72.9046, 8071.55, 0<br> domain error<br>
+ -72.9046, 16229.2, 0<br> domain error<br> -72.9046, 32066.2, 0<br> domain
+ error<br> -72.9046, 36367.9, 0<br> domain error<br> -62.3236, 24.7501,
+ 6.74518e+14<br> domain error<br> -62.3236, 63.7722, 6.54531e-17<br> domain
+ error<br> -62.3236, 125.28, 1.65653e-49<br> domain error<br> -62.3236,
+ 255.547, 1.54767e-109<br> domain error<br> -62.3236, 503.011, 9.22721e-219<br>
+ domain error<br> -62.3236, 1007.46, 0<br> domain error<br> -62.3236,
+ 1185.4, 0<br> domain error<br> -62.3236, 3534.52, 0<br> domain error<br>
+ -62.3236, 8071.55, 0<br> domain error<br> -62.3236, 16229.2, 0<br> domain
+ error<br> -62.3236, 32066.2, 0<br> domain error<br> -62.3236, 36367.9,
+ 0<br> domain error<br> -55.7932, 24.7501, 2.00028e+10<br> domain error<br>
+ -55.7932, 63.7722, 3.01107e-19<br> domain error<br> -55.7932, 125.28, 8.54693e-51<br>
+ domain error<br> -55.7932, 255.547, 3.47666e-110<br> domain error<br>
+ -55.7932, 503.011, 4.29705e-219<br> domain error<br> -55.7932, 1007.46,
+ 0<br> domain error<br> -55.7932, 1185.4, 0<br> domain error<br> -55.7932,
+ 3534.52, 0<br> domain error<br> -55.7932, 8071.55, 0<br> domain error<br>
+ -55.7932, 16229.2, 0<br> domain error<br> -55.7932, 32066.2, 0<br> domain
+ error<br> -55.7932, 36367.9, 0<br> domain error<br> -44.3004, 9.50706,
+ 5.6936e+22<br> domain error<br> -44.3004, 24.7501, 1242.73<br> domain
+ error<br> -44.3004, 63.7722, 7.99341e-23<br> domain error<br> -44.3004,
+ 125.28, 9.88149e-53<br> domain error<br> -44.3004, 255.547, 3.73007e-111<br>
+ domain error<br> -44.3004, 503.011, 1.37367e-219<br> domain error<br>
+ -44.3004, 1007.46, 0<br> domain error<br> -44.3004, 1185.4, 0<br> domain
+ error<br> -44.3004, 3534.52, 0<br> domain error<br> -44.3004, 8071.55,
+ 0<br> domain error<br> -44.3004, 16229.2, 0<br> domain error<br> -44.3004,
+ 32066.2, 0<br> domain error<br> -44.3004, 36367.9, 0<br> domain error<br>
+ -38.3666, 5.11399, 4.97154e+27<br> domain error<br> -38.3666, 9.50706,
+ 1.51436e+17<br> domain error<br> -38.3666, 24.7501, 0.639495<br> domain
+ error<br> -38.3666, 63.7722, 2.19334e-24<br> domain error<br> -38.3666,
+ 125.28, 1.45351e-53<br> domain error<br> -38.3666, 255.547, 1.43713e-111<br>
+ domain error<br> -38.3666, 503.011, 8.44445e-220<br> domain error<br>
+ -38.3666, 1007.46, 0<br> domain error<br> -38.3666, 1185.4, 0<br> domain
+ error<br> -38.3666, 3534.52, 0<br> domain error<br> -38.3666, 8071.55,
+ 0<br> domain error<br> -38.3666, 16229.2, 0<br> domain error<br> -38.3666,
+ 32066.2, 0<br> domain error<br> -38.3666, 36367.9, 0<br> underflow<br>
+ 9.3763, 1007.46, 0<br> underflow<br> 9.3763, 1185.4, 0<br> underflow<br>
+ 9.3763, 3534.52, 0<br> underflow<br> 9.3763, 8071.55, 0<br> underflow<br>
+ 9.3763, 16229.2, 0<br> underflow<br> 9.3763, 32066.2, 0<br> underflow<br>
+ 9.3763, 36367.9, 0<br> underflow<br> 9.44412, 1007.46, 0<br> underflow<br>
+ 9.44412, 1185.4, 0<br> underflow<br> 9.44412, 3534.52, 0<br> underflow<br>
+ 9.44412, 8071.55, 0<br> underflow<br> 9.44412, 16229.2, 0<br> underflow<br>
+ 9.44412, 32066.2, 0<br> underflow<br> 9.44412, 36367.9, 0<br> underflow<br>
+ 26.4719, 1007.46, 0<br> underflow<br> 26.4719, 1185.4, 0<br> underflow<br>
+ 26.4719, 3534.52, 0<br> underflow<br> 26.4719, 8071.55, 0<br> underflow<br>
+ 26.4719, 16229.2, 0<br> underflow<br> 26.4719, 32066.2, 0<br> underflow<br>
+ 26.4719, 36367.9, 0<br> underflow<br> 62.9447, 1007.46, 0<br> underflow<br>
+ 62.9447, 1185.4, 0<br> underflow<br> 62.9447, 3534.52, 0<br> underflow<br>
+ 62.9447, 8071.55, 0<br> underflow<br> 62.9447, 16229.2, 0<br> underflow<br>
+ *** FURTHER CONTENT HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h64"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w0">Error
+ Output For cyl_bessel_k with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel Kn: Random Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kn_Random_Data"></a>underflow<br>
+ 0, 1007.46, 0<br> underflow<br> 0, 1185.4, 0<br> underflow<br> 0, 3534.52,
+ 0<br> underflow<br> 0, 8071.55, 0<br> underflow<br> 0, 16229.2, 0<br>
+ underflow<br> 0, 32066.2, 0<br> underflow<br> 0, 36367.9, 0<br> underflow<br>
+ 1, 1007.46, 0<br> underflow<br> 1, 1185.4, 0<br> underflow<br> 1, 3534.52,
+ 0<br> underflow<br> 1, 8071.55, 0<br> underflow<br> 1, 16229.2, 0<br>
+ underflow<br> 1, 32066.2, 0<br> underflow<br> 1, 36367.9, 0<br> underflow<br>
+ 4, 1007.46, 0<br> underflow<br> 4, 1185.4, 0<br> underflow<br> 4, 3534.52,
+ 0<br> underflow<br> 4, 8071.55, 0<br> underflow<br> 4, 16229.2, 0<br>
+ underflow<br> 4, 32066.2, 0<br> underflow<br> 4, 36367.9, 0<br> underflow<br>
+ 7, 1007.46, 0<br> underflow<br> 7, 1185.4, 0<br> underflow<br> 7, 3534.52,
+ 0<br> underflow<br> 7, 8071.55, 0<br> underflow<br> 7, 16229.2, 0<br>
+ underflow<br> 7, 32066.2, 0<br> underflow<br> 7, 36367.9, 0<br> underflow<br>
+ 10, 1007.46, 0<br> underflow<br> 10, 1185.4, 0<br> underflow<br> 10,
+ 3534.52, 0<br> underflow<br> 10, 8071.55, 0<br> underflow<br> 10, 16229.2,
+ 0<br> underflow<br> 10, 32066.2, 0<br> underflow<br> 10, 36367.9, 0<br>
+ underflow<br> 13, 1007.46, 0<br> underflow<br> 13, 1185.4, 0<br> underflow<br>
+ 13, 3534.52, 0<br> underflow<br> 13, 8071.55, 0<br> underflow<br> 13,
+ 16229.2, 0<br> underflow<br> 13, 32066.2, 0<br> underflow<br> 13, 36367.9,
+ 0<br> underflow<br> 16, 1007.46, 0<br> underflow<br> 16, 1185.4, 0<br>
+ underflow<br> 16, 3534.52, 0<br> underflow<br> 16, 8071.55, 0<br> underflow<br>
+ 16, 16229.2, 0<br> underflow<br> 16, 32066.2, 0<br> underflow<br> 16,
+ 36367.9, 0<br> underflow<br> 19, 1007.46, 0<br> underflow<br> 19, 1185.4,
+ 0<br> underflow<br> 19, 3534.52, 0<br> underflow<br> 19, 8071.55, 0<br>
+ underflow<br> 19, 16229.2, 0<br> underflow<br> 19, 32066.2, 0<br> underflow<br>
+ 19, 36367.9, 0<br> underflow<br> 22, 1007.46, 0<br> underflow<br> 22,
+ 1185.4, 0<br> underflow<br> 22, 3534.52, 0<br> underflow<br> 22, 8071.55,
+ 0<br> underflow<br> 22, 16229.2, 0<br> underflow<br> 22, 32066.2, 0<br>
+ underflow<br> 22, 36367.9, 0<br> underflow<br> 25, 1007.46, 0<br> underflow<br>
+ 25, 1185.4, 0<br> underflow<br> 25, 3534.52, 0<br> underflow<br> 25,
+ 8071.55, 0<br> underflow<br> 25, 16229.2, 0<br> underflow<br> 25, 32066.2,
+ 0<br> underflow<br> 25, 36367.9, 0<br> underflow<br> 28, 1007.46, 0<br>
+ underflow<br> 28, 1185.4, 0<br> underflow<br> 28, 3534.52, 0<br> underflow<br>
+ 28, 8071.55, 0<br> underflow<br> 28, 16229.2, 0<br> underflow<br> 28,
+ 32066.2, 0<br> underflow<br> 28, 36367.9, 0<br> underflow<br> 31, 1007.46,
+ 0<br> underflow<br> 31, 1185.4, 0<br> underflow<br> 31, 3534.52, 0<br>
+ underflow<br> 31, 8071.55, 0<br> underflow<br> 31, 16229.2, 0<br> underflow<br>
+ 31, 32066.2, 0<br> underflow<br> 31, 36367.9, 0<br> underflow<br> 34,
+ 1007.46, 0<br> underflow<br> 34, 1185.4, 0<br> underflow<br> 34, 3534.52,
+ 0<br> underflow<br> 34, 8071.55, 0<br> underflow<br> 34, 16229.2, 0<br>
+ underflow<br> 34, 32066.2, 0<br> underflow<br> 34, 36367.9, 0<br> underflow<br>
+ 37, 1007.46, 0<br> underflow<br> 37, 1185.4, 0<br> underflow<br> 37,
+ 3534.52, 0<br> underflow<br> 37, 8071.55, 0<br> underflow<br> 37, 16229.2,
+ 0<br> underflow<br> 37, 32066.2, 0<br> underflow<br> 37, 36367.9, 0<br>
+ underflow<br> 40, 1007.46, 0<br> underflow<br> 40, 1185.4, 0<br> underflow<br>
+ 40, 3534.52, 0<br> underflow<br> 40, 8071.55, 0<br> underflow<br> 40,
+ 16229.2, 0<br> underflow<br> 40, 32066.2, 0<br> underflow<br> 40, 36367.9,
+ 0<br> underflow<br> 43, 1007.46, 0<br> underflow<br> 43, 1185.4, 0<br>
+ underflow<br> 43, 3534.52, 0<br> underflow<br> 43, 8071.55, 0<br> underflow<br>
+ 43, 16229.2, 0<br> underflow<br> 43, 32066.2, 0<br> underflow<br> 43,
+ 36367.9, 0<br> underflow<br> 46, 1007.46, 0<br> underflow<br> 46, 1185.4,
+ 0<br> underflow<br> 46, 3534.52, 0<br> underflow<br> 46, 8071.55, 0<br>
+ underflow<br> 46, 16229.2, 0<br> underflow<br> 46, 32066.2, 0<br> underflow<br>
+ 46, 36367.9, 0<br> underflow<br> 49, 1007.46, 0<br> underflow<br> 49,
+ 1185.4, 0<br> underflow<br> 49, 3534.52, 0<br> underflow<br> 49, 8071.55,
+ 0<br> underflow<br> 49, 16229.2, 0<br> underflow<br> 49, 32066.2, 0<br>
+ underflow<br> 49, 36367.9, 0<br> underflow<br> 52, 1007.46, 0<br> underflow<br>
+ 52, 1185.4, 0<br> underflow<br> 52, 3534.52, 0<br> underflow<br> 52,
+ 8071.55, 0<br> underflow<br> 52, 16229.2, 0<br> underflow<br> 52, 32066.2,
+ 0<br> underflow<br> 52, 36367.9, 0<br> underflow<br> 55, 1007.46, 0<br>
+ underflow<br> 55, 1185.4, 0<br> underflow<br> 55, 3534.52, 0<br> underflow<br>
+ 55, 8071.55, 0<br> underflow<br> 55, 16229.2, 0<br> underflow<br> 55,
+ 32066.2, 0<br> underflow<br> 55, 36367.9, 0<br> underflow<br> 58, 1007.46,
+ 0<br> underflow<br> 58, 1185.4, 0<br> underflow<br> 58, 3534.52, 0<br>
+ underflow<br> 58, 8071.55, 0<br> underflow<br> 58, 16229.2, 0<br> underflow<br>
+ 58, 32066.2, 0<br> underflow<br> 58, 36367.9, 0<br> underflow<br> 61,
+ 1007.46, 0<br> underflow<br> 61, 1185.4, 0<br> underflow<br> 61, 3534.52,
+ 0<br> underflow<br> 61, 8071.55, 0<br> underflow<br> 61, 16229.2, 0<br>
+ underflow<br> 61, 32066.2, 0<br> underflow<br> 61, 36367.9, 0<br> underflow<br>
+ 64, 1007.46, 0<br> underflow<br> 64, 1185.4, 0<br> underflow<br> 64,
+ 3534.52, 0<br> underflow<br> 64, 8071.55, 0<br> underflow<br> 64, 16229.2,
+ 0<br> underflow<br> 64, 32066.2, 0<br> underflow<br> 64, 36367.9, 0<br>
+ underflow<br> 67, 1007.46, 0<br> underflow<br> 67, 1185.4, 0<br> underflow<br>
+ 67, 3534.52, 0<br> underflow<br> 67, 8071.55, 0<br> underflow<br> 67,
+ 16229.2, 0<br> *** FURTHER CONTENT HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h65"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w1">Error
+ Output For cyl_bessel_k with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel Kv: Mathworld Data (large values)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kv_Mathworld_Data_large_values_"></a>domain
+ error<br> -1, 3.72917e-155, 2.68156e+154<br> domain error<br> -1.125,
+ 3.72917e-155, 5.53984e+173<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h66"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w2"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w2">Error
+ Output For cyl_bessel_k with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel Kv: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kv_Mathworld_Data"></a>domain
+ error<br> -5.5, 10, 7.33045e-05<br> domain error<br> -5.5, 100, 5.41275e-45<br>
+ domain error<br> -141.399, 50, 1.30185e+42<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h67"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w3"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w3">Error
+ Output For cyl_bessel_k with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Bessel Kn: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kn_Mathworld_Data"></a>domain
+ error<br> -5, 100, 5.27326e-45<br> domain error<br> -10, 1, 1.80713e+08<br>
+ domain error<br> -1000, 700, 6.51562e-31<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h68"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w4"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w4">Error
+ Output For cyl_bessel_k with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel Kv: Random Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k__cmath__Bessel_Kv_Random_Data"></a>Bad
+ argument in __cyl_bessel_k.<br> -80.4919, 24.7501, 6.57902e+28<br> Bad
+ argument in __cyl_bessel_k.<br> -80.4919, 63.7722, 2.39552e-09<br> Bad
+ argument in __cyl_bessel_k.<br> -80.4919, 125.28, 3.06904e-45<br> Bad argument
+ in __cyl_bessel_k.<br> -80.4919, 255.547, 2.30343e-107<br> Bad argument
+ in __cyl_bessel_k.<br> -80.4919, 503.011, 1.20315e-217<br> Bad argument
+ in __cyl_bessel_k.<br> -80.4919, 1007.46, 2.86537e-438<br> Bad argument
+ in __cyl_bessel_k.<br> -80.4919, 1185.4, 8.63263e-516<br> Bad argument
+ in __cyl_bessel_k.<br> -80.4919, 3534.52, 5.01367e-1537<br> Bad argument
+ in __cyl_bessel_k.<br> -80.4919, 8071.55, 7.76555e-3508<br> Bad argument
+ in __cyl_bessel_k.<br> -80.4919, 16229.2, 0<br> Bad argument in __cyl_bessel_k.<br>
+ -80.4919, 32066.2, 0<br> Bad argument in __cyl_bessel_k.<br> -80.4919,
+ 36367.9, 0<br> Bad argument in __cyl_bessel_k.<br> -74.6026, 24.7501, 1.19405e+24<br>
+ Bad argument in __cyl_bessel_k.<br> -74.6026, 63.7722, 5.81897e-12<br>
+ Bad argument in __cyl_bessel_k.<br> -74.6026, 125.28, 9.89214e-47<br> Bad
+ argument in __cyl_bessel_k.<br> -74.6026, 255.547, 3.9726e-108<br> Bad
+ argument in __cyl_bessel_k.<br> -74.6026, 503.011, 4.87462e-218<br> Bad
+ argument in __cyl_bessel_k.<br> -74.6026, 1007.46, 1.82221e-438<br> Bad
+ argument in __cyl_bessel_k.<br> -74.6026, 1185.4, 5.87506e-516<br> Bad
+ argument in __cyl_bessel_k.<br> -74.6026, 3534.52, 4.40608e-1537<br> Bad
+ argument in __cyl_bessel_k.<br> -74.6026, 8071.55, 7.3384e-3508<br> Bad
+ argument in __cyl_bessel_k.<br> -74.6026, 16229.2, 0<br> Bad argument in
+ __cyl_bessel_k.<br> -74.6026, 32066.2, 0<br> Bad argument in __cyl_bessel_k.<br>
+ -74.6026, 36367.9, 0<br> Bad argument in __cyl_bessel_k.<br> -72.9046,
+ 24.7501, 5.5618e+22<br> Bad argument in __cyl_bessel_k.<br> -72.9046, 63.7722,
+ 1.09452e-12<br> Bad argument in __cyl_bessel_k.<br> -72.9046, 125.28, 3.8393e-47<br>
+ Bad argument in __cyl_bessel_k.<br> -72.9046, 255.547, 2.45173e-108<br>
+ Bad argument in __cyl_bessel_k.<br> -72.9046, 503.011, 3.80454e-218<br>
+ Bad argument in __cyl_bessel_k.<br> -72.9046, 1007.46, 1.60949e-438<br>
+ Bad argument in __cyl_bessel_k.<br> -72.9046, 1185.4, 5.28662e-516<br>
+ Bad argument in __cyl_bessel_k.<br> -72.9046, 3534.52, 4.25273e-1537<br>
+ Bad argument in __cyl_bessel_k.<br> -72.9046, 8071.55, 7.22542e-3508<br>
+ Bad argument in __cyl_bessel_k.<br> -72.9046, 16229.2, 0<br> Bad argument
+ in __cyl_bessel_k.<br> -72.9046, 32066.2, 0<br> Bad argument in __cyl_bessel_k.<br>
+ -72.9046, 36367.9, 0<br> Bad argument in __cyl_bessel_k.<br> -62.3236,
+ 24.7501, 6.74518e+14<br> Bad argument in __cyl_bessel_k.<br> -62.3236,
+ 63.7722, 6.54531e-17<br> Bad argument in __cyl_bessel_k.<br> -62.3236,
+ 125.28, 1.65653e-49<br> Bad argument in __cyl_bessel_k.<br> -62.3236, 255.547,
+ 1.54767e-109<br> Bad argument in __cyl_bessel_k.<br> -62.3236, 503.011,
+ 9.22721e-219<br> Bad argument in __cyl_bessel_k.<br> -62.3236, 1007.46,
+ 7.91894e-439<br> Bad argument in __cyl_bessel_k.<br> -62.3236, 1185.4,
+ 2.89281e-516<br> Bad argument in __cyl_bessel_k.<br> -62.3236, 3534.52,
+ 3.4736e-1537<br> Bad argument in __cyl_bessel_k.<br> -62.3236, 8071.55,
+ 6.6126e-3508<br> Bad argument in __cyl_bessel_k.<br> -62.3236, 16229.2,
+ 0<br> Bad argument in __cyl_bessel_k.<br> -62.3236, 32066.2, 0<br> Bad
+ argument in __cyl_bessel_k.<br> -62.3236, 36367.9, 0<br> Bad argument in
+ __cyl_bessel_k.<br> -55.7932, 24.7501, 2.00028e+10<br> Bad argument in
+ __cyl_bessel_k.<br> -55.7932, 63.7722, 3.01107e-19<br> Bad argument in
+ __cyl_bessel_k.<br> -55.7932, 125.28, 8.54693e-51<br> Bad argument in __cyl_bessel_k.<br>
+ -55.7932, 255.547, 3.47666e-110<br> Bad argument in __cyl_bessel_k.<br>
+ -55.7932, 503.011, 4.29705e-219<br> Bad argument in __cyl_bessel_k.<br>
+ -55.7932, 1007.46, 5.40242e-439<br> Bad argument in __cyl_bessel_k.<br>
+ -55.7932, 1185.4, 2.08996e-516<br> Bad argument in __cyl_bessel_k.<br>
+ -55.7932, 3534.52, 3.11458e-1537<br> Bad argument in __cyl_bessel_k.<br>
+ -55.7932, 8071.55, 6.30409e-3508<br> Bad argument in __cyl_bessel_k.<br>
+ -55.7932, 16229.2, 0<br> Bad argument in __cyl_bessel_k.<br> -55.7932,
+ 32066.2, 0<br> Bad argument in __cyl_bessel_k.<br> -55.7932, 36367.9, 0<br>
+ Bad argument in __cyl_bessel_k.<br> -44.3004, 9.50706, 5.6936e+22<br> Bad
+ argument in __cyl_bessel_k.<br> -44.3004, 24.7501, 1242.73<br> Bad argument
+ in __cyl_bessel_k.<br> -44.3004, 63.7722, 7.99341e-23<br> Bad argument
+ in __cyl_bessel_k.<br> -44.3004, 125.28, 9.88149e-53<br> Bad argument in
+ __cyl_bessel_k.<br> -44.3004, 255.547, 3.73007e-111<br> Bad argument in
+ __cyl_bessel_k.<br> -44.3004, 503.011, 1.37367e-219<br> Bad argument in
+ __cyl_bessel_k.<br> -44.3004, 1007.46, 3.05398e-439<br> Bad argument in
+ __cyl_bessel_k.<br> *** FURTHER CONTENT HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h69"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w5"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w5">Error
+ Output For cyl_bessel_k with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel Kv: Mathworld Data (large values)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k__cmath__Bessel_Kv_Mathworld_Data_large_values_"></a>Bad
+ argument in __cyl_bessel_k.<br> -1, 3.72917e-155, 2.68156e+154<br> Bad
+ argument in __cyl_bessel_k.<br> -1.125, 3.72917e-155, 5.53984e+173<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h70"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w6"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w6">Error
+ Output For cyl_bessel_k with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel Kv: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k__cmath__Bessel_Kv_Mathworld_Data"></a>Bad
+ argument in __cyl_bessel_k.<br> -5.5, 10, 7.33045e-05<br> Bad argument
+ in __cyl_bessel_k.<br> -5.5, 100, 5.41275e-45<br> Bad argument in __cyl_bessel_k.<br>
+ -141.399, 50, 1.30185e+42<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h71"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_in"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_in">Error
+ Output For cyl_bessel_k (integer orders) with compiler GNU C++ version 7.1.0
+ and library &lt;cmath&gt; and test data Bessel Kn: Mathworld Data (Integer
+ Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k_integer_orders___cmath__Bessel_Kn_Mathworld_Data_Integer_Version_"></a>Bad
+ argument in __cyl_bessel_k.<br> -5, 100, 5.27326e-45<br> Bad argument in
+ __cyl_bessel_k.<br> -10, 1, 1.80713e+08<br> Bad argument in __cyl_bessel_k.<br>
+ -1000, 700, 6.51562e-31<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h72"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w7"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_bessel_k_w7">Error
+ Output For cyl_bessel_k with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Bessel Kn: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k__cmath__Bessel_Kn_Mathworld_Data"></a>Bad
+ argument in __cyl_bessel_k.<br> -5, 100, 5.27326e-45<br> Bad argument in
+ __cyl_bessel_k.<br> -10, 1, 1.80713e+08<br> Bad argument in __cyl_bessel_k.<br>
+ -1000, 700, 6.51562e-31<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h73"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wit"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wit">Error
+ Output For cyl_neumann with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Yv: Mathworld Data (large values)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_neumann_GSL_2_1_Yv_Mathworld_Data_large_values_"></a>domain
+ error<br> -0.5, 1.2459e-206, 8.90598e-104<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h74"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wi0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wi0">Error
+ Output For cyl_neumann with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Yv: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_neumann_GSL_2_1_Yv_Mathworld_Data"></a>domain
+ error<br> -5.5, 3.125, -0.0274994<br> domain error<br> -5.5, 10000, -0.00759344<br>
+ domain error<br> -10.0003, 0.000976562, -1.50382e+38<br> domain error<br>
+ -10.0003, 100, 0.0583042<br> domain error<br> -141.75, 100, -3.8101e+09<br>
+ domain error<br> -8.5, 12.5664, 0.0436808<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h75"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wi1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wi1">Error
+ Output For cyl_neumann with compiler GNU C++ version 7.1.0 and library GSL
+ 2.1 and test data Yn: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_cyl_neumann_GSL_2_1_Yn_Mathworld_Data"></a>domain
+ error<br> -5, 1e+06, 0.000331052<br> domain error<br> -10, 1e+06, 0.000725952<br>
+ domain error<br> -1000, 700, -1.88753e+77<br> domain error<br> -25, 8,
+ 3.45114e+08<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h76"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wi2"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wi2">Error
+ Output For cyl_neumann with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Yv: Random Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann__cmath__Yv_Random_Data"></a>CAUTION:
+ Gross error found at entry 394.<br> Found: -3.29903 Expected 0.0192842 Error:
+ 1.18973e+4932<br> 125.28, 1007.46, 0.0192842<br> CAUTION: Gross error found
+ at entry 395.<br> Found: 1.13543 Expected 0.0230358 Error: 48.2897<br>
+ 125.28, 1185.4, 0.0230358<br> CAUTION: Gross error found at entry 396.<br>
+ Found: 0.00119445 Expected 0.00460223 Error: 2.85302<br> 125.28, 3534.52,
+ 0.00460223<br> CAUTION: Gross error found at entry 403.<br> Found: 1068
+ Expected -0.00270959 Error: 1.18973e+4932<br> 255.547, 1007.46, -0.00270959<br>
+ CAUTION: Gross error found at entry 404.<br> Found: -395.006 Expected 0.00738845
+ Error: 1.18973e+4932<br> 255.547, 1185.4, 0.00738845<br> CAUTION: Gross
+ error found at entry 405.<br> Found: 1.08701 Expected -0.000407036 Error:
+ 1.18973e+4932<br> 255.547, 3534.52, -0.000407036<br> CAUTION: Gross error
+ found at entry 406.<br> Found: 0.0232211 Expected 0.00886946 Error: 1.61809<br>
+ 255.547, 8071.55, 0.00886946<br> CAUTION: Gross error found at entry 411.<br>
+ Found: 65895.7 Expected -0.0158467 Error: 1.18973e+4932<br> 503.011, 1007.46,
+ -0.0158467<br> CAUTION: Gross error found at entry 412.<br> Found: -123316
+ Expected 0.00594357 Error: 1.18973e+4932<br> 503.011, 1185.4, 0.00594357<br>
+ CAUTION: Gross error found at entry 413.<br> Found: -706.209 Expected 0.010151
+ Error: 1.18973e+4932<br> 503.011, 3534.52, 0.010151<br> CAUTION: Gross
+ error found at entry 414.<br> Found: -21.2081 Expected 0.00888375 Error:
+ 1.18973e+4932<br> 503.011, 8071.55, 0.00888375<br> CAUTION: Gross error
+ found at entry 415.<br> Found: 0.0272835 Expected 0.00552287 Error: 3.94008<br>
+ 503.011, 16229.2, 0.00552287<br> CAUTION: Gross error found at entry 416.<br>
+ Found: 0.0103324 Expected 0.00445559 Error: 1.31898<br> 503.011, 32066.2,
+ 0.00445559<br> CAUTION: Gross error found at entry 417.<br> Found: 0.00540788
+ Expected -0.00384344 Error: 1.18973e+4932<br> 503.011, 36367.9, -0.00384344<br>
+ CAUTION: Gross error found at entry 418.<br> Found: 5.43091e+07 Expected
+ -0.0772843 Error: 1.18973e+4932<br> 1007.46, 1007.46, -0.0772843<br> CAUTION:
+ Gross error found at entry 419.<br> Found: -2.84383e+07 Expected 0.0304312
+ Error: 1.18973e+4932<br> 1007.46, 1185.4, 0.0304312<br> CAUTION: Gross
+ error found at entry 420.<br> Found: -61440.2 Expected -0.00474217 Error:
+ 1.29562e+07<br> 1007.46, 3534.52, -0.00474217<br> CAUTION: Gross error
+ found at entry 421.<br> Found: -4126.89 Expected -0.0074205 Error: 556146<br>
+ 1007.46, 8071.55, -0.0074205<br> CAUTION: Gross error found at entry 422.<br>
+ Found: -69.2831 Expected -0.00179572 Error: 38581.4<br> 1007.46, 16229.2,
+ -0.00179572<br> CAUTION: Gross error found at entry 423.<br> Found: 2.32048
+ Expected 0.000750053 Error: 3092.76<br> 1007.46, 32066.2, 0.000750053<br>
+ CAUTION: Gross error found at entry 424.<br> Found: 3.90724 Expected 0.00305125
+ Error: 1279.54<br> 1007.46, 36367.9, 0.00305125<br> CAUTION: Gross error
+ found at entry 425.<br> Found: -1.83374e+08 Expected -7.25176e+28 Error:
+ 3.95463e+20<br> 1185.4, 1007.46, -7.25176e+28<br> CAUTION: Gross error
+ found at entry 426.<br> Found: 1.09822e+08 Expected -0.0732059 Error: 1.18973e+4932<br>
+ 1185.4, 1185.4, -0.0732059<br> CAUTION: Gross error found at entry 427.<br>
+ Found: 315632 Expected 0.000479585 Error: 6.58136e+08<br> 1185.4, 3534.52,
+ 0.000479585<br> CAUTION: Gross error found at entry 428.<br> Found: 16815.6
+ Expected 0.00174909 Error: 9.61391e+06<br> 1185.4, 8071.55, 0.00174909<br>
+ CAUTION: Gross error found at entry 429.<br> Found: 133.356 Expected 0.00416288
+ Error: 32033.6<br> 1185.4, 16229.2, 0.00416288<br> CAUTION: Gross error
+ found at entry 430.<br> Found: -1.38401 Expected -0.000320056 Error: 4323.27<br>
+ 1185.4, 32066.2, -0.000320056<br> CAUTION: Gross error found at entry 431.<br>
+ Found: -17.7085 Expected -0.00417656 Error: 4238.96<br> 1185.4, 36367.9,
+ -0.00417656<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h77"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wi3"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wi3">Error
+ Output For cyl_neumann with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Yv: Mathworld Data (large values)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann__cmath__Yv_Mathworld_Data_large_values_"></a>Bad
+ argument in __cyl_neumann_n.<br> -0.5, 1.2459e-206, 8.90598e-104<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h78"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wi4"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wi4">Error
+ Output For cyl_neumann with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Yv: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann__cmath__Yv_Mathworld_Data"></a>Bad
+ argument in __cyl_neumann_n.<br> -5.5, 3.125, -0.0274994<br> Bad argument
+ in __cyl_neumann_n.<br> -5.5, 10000, -0.00759344<br> Bad argument in __cyl_neumann_n.<br>
+ -10.0003, 0.000976562, -1.50382e+38<br> Bad argument in __cyl_neumann_n.<br>
+ -10.0003, 100, 0.0583042<br> Bad argument in __cyl_neumann_n.<br> -141.75,
+ 100, -3.8101e+09<br> Bad argument in __cyl_neumann_n.<br> -8.5, 12.5664,
+ 0.0436808<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h79"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_int"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_int">Error
+ Output For cyl_neumann (integer orders) with compiler GNU C++ version 7.1.0
+ and library &lt;cmath&gt; and test data Yn: Mathworld Data (Integer Version)</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann_integer_orders___cmath__Yn_Mathworld_Data_Integer_Version_"></a>Bad
+ argument in __cyl_neumann_n.<br> -5, 1e+06, 0.000331052<br> Bad argument
+ in __cyl_neumann_n.<br> -10, 1e+06, 0.000725952<br> CAUTION: Gross error
+ found at entry 7.<br> Found: 0.0540745 Expected 0.00217255 Error: 23.8899<br>
+ 1000, 100000, 0.00217255<br> Bad argument in __cyl_neumann_n.<br> -1000,
+ 700, -1.88753e+77<br> Bad argument in __cyl_neumann_n.<br> -25, 8, 3.45114e+08<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h80"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wi5"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_cyl_neumann_wi5">Error
+ Output For cyl_neumann with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Yn: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann__cmath__Yn_Mathworld_Data"></a>Bad
+ argument in __cyl_neumann_n.<br> -5, 1e+06, 0.000331052<br> Bad argument
+ in __cyl_neumann_n.<br> -10, 1e+06, 0.000725952<br> CAUTION: Gross error
+ found at entry 7.<br> Found: 0.0540745 Expected 0.00217255 Error: 23.8899<br>
+ 1000, 100000, 0.00217255<br> Bad argument in __cyl_neumann_n.<br> -1000,
+ 700, -1.88753e+77<br> Bad argument in __cyl_neumann_n.<br> -25, 8, 3.45114e+08<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h81"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_beta_with_compi"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_beta_with_compi">Error
+ Output For beta with compiler GNU C++ version 7.1.0 and library GSL 2.1 and
+ test data Beta Function: Small Values</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_beta_GSL_2_1_Beta_Function_Small_Values"></a>CAUTION:
+ Found non-finite result, when a finite value was expected at entry 22<br>
+ Found: inf Expected 5.69832e+154 Error: 1.79769e+308<br> 2.98334e-154, 1.86459e-155,
+ 5.69832e+154<br> CAUTION: Gross error found at entry 22.<br> Found: inf
+ Expected 5.69832e+154 Error: 1.79769e+308<br> 2.98334e-154, 1.86459e-155,
+ 5.69832e+154<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h82"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ellint_rj_with_"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ellint_rj_with_">Error
+ Output For ellint_rj with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data RJ: Random data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_ellint_rj_GSL_2_1_RJ_Random_data"></a>domain
+ error<br> 1.77787e-31, 1.40657e+18, 10.046, -4.8298e-10, -2.51795e-10<br>
+ domain error<br> 3.37448e-31, 4.65772e+22, 0.469831, -4.33756e-09, -2.95865e-11<br>
+ domain error<br> 5.25297e-31, 5.85483e+25, 2.02482e-15, -1.87347e-28, 3.36445e+07<br>
+ domain error<br> 6.22216e-31, 3.43401e+23, 0.673005, -2.7626e-13, -7.58898e-12<br>
+ domain error<br> 6.26875e-31, 2.62568e-13, 1.06394e+24, -1.36451e+14, -6.70372e-25<br>
+ domain error<br> 6.84599e-31, 3.57666e-29, 1.82191e+11, -3.63292e+08, -8.35235e-13<br>
+ domain error<br> 8.90482e-31, 1.97093e-28, 1.14939e-31, -1.26424e-12, -6.39454e+26<br>
+ domain error<br> 1.07374e-30, 1.70005e-12, 1.88773e-25, -1.16558e-29, 4.31668e+32<br>
+ domain error<br> 1.17141e-30, 24.2523, 3.67522e+21, -4.79065e-22, 2.2702e-05<br>
+ domain error<br> 1.64143e-30, 2.01978e-22, 2.58942e+12, -8.52649e-12, -2.82629e+06<br>
+ domain error<br> 1.85141e-30, 0.0386712, 2.37846e-13, -1.57357e+15, -1.38574e-13<br>
+ domain error<br> 2.70034e-30, 4.43896e-24, 7.54576e+16, -1.1436e-14, -1.10082e+07<br>
+ domain error<br> 4.01162e-30, 2.73343e+23, 1.32333e+13, -1.86032e-07, -4.16626e-25<br>
+ domain error<br> 4.13665e-30, 1.08034e-30, 3.13547e-16, -5.58099e-08, -5.14643e+16<br>
+ domain error<br> 4.3728e-30, 7.79812e+12, 8.58894e+21, -4.58312e-24, 5.28901e-09<br>
+ domain error<br> 5.6397e-30, 1.64768e+23, 9.64423e-15, -1.82207e+20, -1.62886e-30<br>
+ domain error<br> 9.89841e-30, 9.69731e+10, 1.03263e+21, -0.00343967, -9.62714e-22<br>
+ domain error<br> 1.3797e-29, 6.03357e+08, 5.62497e-15, -5.87235e+16, -5.80287e-20<br>
+ domain error<br> 1.96963e-29, 3.22384e-25, 2.92187e+23, -3.80643e+27, -8.2513e-38<br>
+ domain error<br> 2.00927e-29, 5.6976e-05, 1.16219e+25, -1.64129e-22, 0.00318397<br>
+ domain error<br> 7.29506e-29, 5904.94, 9.93922e+10, -19.528, -1.60795e-09<br>
+ domain error<br> 1.19698e-28, 1.66816e-22, 28472, -1.21137e-19, -5.84699e+17<br>
+ domain error<br> 1.64095e-28, 2.13421e-21, 7.8914e-15, -1.77584e-07, -1.70156e+15<br>
+ domain error<br> 2.03475e-28, 4.40987e+15, 28739.1, -9624.5, -1.29418e-12<br>
+ domain error<br> 2.73113e-28, 1.08457e+19, 4.00674e+08, -5.70043e-11, 1.092e-17<br>
+ domain error<br> 5.52633e-28, 1.45707e-17, 1.29411e-27, -1.67255e-15, -5.84881e+24<br>
+ domain error<br> 5.61278e-28, 9.22881e-12, 8.64222e-13, -5.6282e+23, -4.57782e-18<br>
+ domain error<br> 6.08465e-28, 1.32249e+26, 1.25536e-30, -1.89097e-14, -223.246<br>
+ domain error<br> 9.50943e-28, 2.49682e-18, 0.000904584, -3.1419e-12, -2.44954e+14<br>
+ domain error<br> 1.20779e-27, 35383.2, 1.35533e-15, -4.67834e-24, 3.20581e+15<br>
+ domain error<br> 2.29822e-27, 3.35258e-16, 2.60689e+08, -9.99161e-20, -5.4924e+11<br>
+ domain error<br> 3.0926e-27, 3.11839e-13, 3.37883e-23, -1.94349e+26, -3.55191e-19<br>
+ domain error<br> 3.12803e-27, 1.15118e+16, 1.52495e+10, -4.2399e+13, -3.07515e-21<br>
+ domain error<br> 4.49747e-27, 716.685, 1.69018e-23, -1.32558e-14, -9.2291e+13<br>
+ domain error<br> 4.84575e-27, 3.44028e-27, 3.42665e+09, -812.399, -2.12767e-06<br>
+ domain error<br> 5.81424e-27, 3.70845e-15, 3.69338e+11, -4.15794e+06, -2.95944e-11<br>
+ domain error<br> 6.08654e-27, 1.23742e+08, 1.09124e-26, -2.19946e+16, -4.90896e-19<br>
+ domain error<br> 7.71967e-27, 9.46115e-26, 1.24324e+25, -522800, -5.83203e-17<br>
+ domain error<br> 9.20037e-27, 207550, 2.45782e-17, -6.06901e+29, -2.88945e-31<br>
+ domain error<br> 1.75502e-26, 5.81507e+16, 8.83063e+21, -1.11214e-21, 1.57697e-11<br>
+ domain error<br> 2.29965e-26, 2.9716e-21, 1.81059e-25, -5.23972e-08, -6.23302e+18<br>
+ domain error<br> 2.32628e-26, 0.0655133, 1.62901e-21, -7.15441e-17, -9.88586e+17<br>
+ domain error<br> 3.49194e-26, 2.53343e+14, 756.217, -1.3359e+10, -1.275e-16<br>
+ domain error<br> 1.009e-25, 0.0694304, 1.20267e-14, -1.55746e-22, 2.10701e+17<br>
+ domain error<br> 3.54771e-25, 1.67999e-27, 2.3917e+24, -9.98754e+25, -1.11704e-36<br>
+ domain error<br> 6.31714e-25, 3.4594e-28, 6.37951e-24, -1.25529e-24, -9.56292e+35<br>
+ domain error<br> 6.74086e-25, 2.47169e+12, 1.32962e+23, -6.78845e+06, -3.32861e-24<br>
+ domain error<br> 1.8099e-24, 4.5215e-06, 8.66937e-11, -3.70795e-08, -1.41893e+11<br>
+ domain error<br> 2.29798e-24, 9.30454e-30, 6.56584e-17, -9890.38, -373149<br>
+ domain error<br> 2.88161e-24, 8.82377e-05, 1.57747e+21, -4.25068e-24, 2260.61<br>
+ domain error<br> 3.25991e-24, 1.92923e+29, 3.09752e-05, -1.00986e+11, -1.25485e-24<br>
+ domain error<br> 6.36705e-24, 2.8074e+22, 1.75569e-13, -1.53152e+24, -4.89823e-34<br>
+ domain error<br> 7.90772e-24, 2.11611e-30, 1.42682e-07, -0.00296297, -5.38814e+07<br>
+ domain error<br> 1.05302e-23, 4.83473e+26, 4.43149e-30, -1.56818e+13, -3.6836e-25<br>
+ *** FURTHER CONTENT HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h83"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ellint_1_with_c"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ellint_1_with_c">Error
+ Output For ellint_1 with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Elliptic Integral F: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_ellint_1__cmath__Elliptic_Integral_F_Mathworld_Data"></a>CAUTION:
+ Gross error found at entry 9.<br> Found: -7.02862e+09 Expected 1.04181e+20
+ Error: 1.18973e+4932<br> 1e+20, 0.390625, 1.04181e+20<br> CAUTION: Gross
+ error found at entry 10.<br> Found: -9.3866e+09 Expected 1.39133e+50 Error:
+ 1.18973e+4932<br> 1e+50, 0.875, 1.39133e+50<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h84"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ellint_2_comple"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ellint_2_comple">Error
+ Output For ellint_2 (complete) with compiler GNU C++ version 7.1.0 and library
+ GSL 2.1 and test data Elliptic Integral E: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_ellint_2_complete__GSL_2_1_Elliptic_Integral_E_Mathworld_Data"></a>domain
+ error<br> -1, 1<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h85"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ellint_2_with_c"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ellint_2_with_c">Error
+ Output For ellint_2 with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Elliptic Integral E: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_ellint_2__cmath__Elliptic_Integral_E_Mathworld_Data"></a>CAUTION:
+ Gross error found at entry 7.<br> Found: -6.3027e+09 Expected 9.34215e+09
+ Error: 1.18973e+4932<br> 1e+10, -0.5, 9.34215e+09<br> CAUTION: Gross error
+ found at entry 8.<br> Found: -6.48129e+09 Expected 7.08861e+19 Error: 1.18973e+4932<br>
+ 7.3787e+19, 0.390625, 7.08861e+19<br> CAUTION: Gross error found at entry
+ 9.<br> Found: -5.13973e+09 Expected 7.1259e+49 Error: 1.18973e+4932<br>
+ 9.35361e+49, 0.878906, 7.1259e+49<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h86"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ellint_3_comple"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ellint_3_comple">Error
+ Output For ellint_3 (complete) with compiler GNU C++ version 7.1.0 and library
+ GSL 2.1 and test data Complete Elliptic Integral PI: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_ellint_3_complete__GSL_2_1_Complete_Elliptic_Integral_PI_Mathworld_Data"></a>domain
+ error<br> -4.14952e+180, 0.5, 7.71119e-91<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h87"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ellint_3_with_c"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ellint_3_with_c">Error
+ Output For ellint_3 with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Elliptic Integral PI: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_ellint_3_GSL_2_1_Elliptic_Integral_PI_Mathworld_Data"></a>domain
+ error<br> 1.125, 10, 0.25, 0.662468<br> domain error<br> 1.125, 3, 0.25,
+ -0.142697<br> domain error<br> 1.00391, 21.5, 0.125, -0.535406<br> domain
+ error<br> 1, 2, 0.5, -2.87535<br> domain error<br> 1, -2, 0.5, 2.87535<br>
+ domain error<br> 1, 2, 6.22302e-61, -2.18504<br> domain error<br> 1,
+ -2, 6.22302e-61, 2.18504<br> domain error<br> 20, 3.14257, 0.5, 0.000975941<br>
+ domain error<br> 20, -3.14257, 0.5, -0.000975941<br> domain error<br>
+ 1.01562, 1.6958, 0.5, -27.1647<br> domain error<br> 1.01562, -1.6958, 0.5,
+ 27.1647<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h88"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ellint_3_compl0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ellint_3_compl0">Error
+ Output For ellint_3 (complete) with compiler GNU C++ version 7.1.0 and library
+ &lt;cmath&gt; and test data Complete Elliptic Integral PI: Random Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_ellint_3_complete___cmath__Complete_Elliptic_Integral_PI_Random_Data"></a>Argument
+ too small in __ellint_rj<br> -87.1743, 0.126987, 0.167413<br> Argument
+ too small in __ellint_rj<br> -87.1743, 0.135477, 0.167431<br> Argument
+ too small in __ellint_rj<br> -87.1743, 0.221034, 0.167683<br> Argument
+ too small in __ellint_rj<br> -87.1743, 0.308167, 0.168078<br> Argument
+ too small in __ellint_rj<br> -87.1743, 0.632359, 0.17122<br> Argument too
+ small in __ellint_rj<br> -87.1743, 0.814724, 0.175341<br> Argument too
+ small in __ellint_rj<br> -87.1743, 0.835009, 0.176056<br> Argument too
+ small in __ellint_rj<br> -87.1743, 0.905792, 0.179501<br> Argument too
+ small in __ellint_rj<br> -87.1743, 0.913376, 0.180014<br> Argument too
+ small in __ellint_rj<br> -87.1743, 0.968868, 0.186162<br> Argument too
+ small in __ellint_rj<br> -86.3168, 0.126987, 0.168233<br> Argument too
+ small in __ellint_rj<br> -86.3168, 0.135477, 0.168252<br> Argument too
+ small in __ellint_rj<br> -86.3168, 0.221034, 0.168506<br> Argument too
+ small in __ellint_rj<br> -86.3168, 0.308167, 0.168905<br> Argument too
+ small in __ellint_rj<br> -86.3168, 0.632359, 0.172077<br> Argument too
+ small in __ellint_rj<br> -86.3168, 0.814724, 0.176237<br> Argument too
+ small in __ellint_rj<br> -86.3168, 0.835009, 0.176958<br> Argument too
+ small in __ellint_rj<br> -86.3168, 0.905792, 0.180437<br> Argument too
+ small in __ellint_rj<br> -86.3168, 0.913376, 0.180955<br> Argument too
+ small in __ellint_rj<br> -86.3168, 0.968868, 0.187163<br> Argument too
+ small in __ellint_rj<br> -77.6756, 0.126987, 0.177238<br> Argument too
+ small in __ellint_rj<br> -77.6756, 0.135477, 0.177258<br> Argument too
+ small in __ellint_rj<br> -77.6756, 0.221034, 0.17754<br> Argument too small
+ in __ellint_rj<br> -77.6756, 0.308167, 0.17798<br> Argument too small in
+ __ellint_rj<br> -77.6756, 0.632359, 0.181485<br> Argument too small in
+ __ellint_rj<br> -77.6756, 0.814724, 0.186089<br> Argument too small in
+ __ellint_rj<br> -77.6756, 0.835009, 0.186888<br> Argument too small in
+ __ellint_rj<br> -77.6756, 0.905792, 0.190742<br> Argument too small in
+ __ellint_rj<br> -77.6756, 0.913376, 0.191315<br> Argument too small in
+ __ellint_rj<br> -77.6756, 0.968868, 0.1982<br> Argument too small in __ellint_rj<br>
+ -68.8751, 0.126987, 0.188077<br> Argument too small in __ellint_rj<br>
+ -68.8751, 0.135477, 0.188099<br> Argument too small in __ellint_rj<br>
+ -68.8751, 0.221034, 0.188414<br> Argument too small in __ellint_rj<br>
+ -68.8751, 0.308167, 0.188907<br> Argument too small in __ellint_rj<br>
+ -68.8751, 0.632359, 0.192834<br> Argument too small in __ellint_rj<br>
+ -68.8751, 0.814724, 0.198<br> Argument too small in __ellint_rj<br> -68.8751,
+ 0.835009, 0.198896<br> Argument too small in __ellint_rj<br> -68.8751,
+ 0.905792, 0.203226<br> Argument too small in __ellint_rj<br> -68.8751,
+ 0.913376, 0.203871<br> Argument too small in __ellint_rj<br> -68.8751,
+ 0.968868, 0.211615<br> Argument too small in __ellint_rj<br> -36.1317,
+ 0.126987, 0.258074<br> Argument too small in __ellint_rj<br> -36.1317,
+ 0.135477, 0.258115<br> Argument too small in __ellint_rj<br> -36.1317,
+ 0.221034, 0.258686<br> Argument too small in __ellint_rj<br> -36.1317,
+ 0.308167, 0.259579<br> Argument too small in __ellint_rj<br> -36.1317,
+ 0.632359, 0.266738<br> Argument too small in __ellint_rj<br> -36.1317,
+ 0.814724, 0.276242<br> Argument too small in __ellint_rj<br> -36.1317,
+ 0.835009, 0.2779<br> Argument too small in __ellint_rj<br> -36.1317, 0.905792,
+ 0.285938<br> Argument too small in __ellint_rj<br> -36.1317, 0.913376,
+ 0.287139<br> Argument too small in __ellint_rj<br> -36.1317, 0.968868,
+ 0.301608<br> Argument too small in __ellint_rj<br> -17.7129, 0.126987,
+ 0.363673<br> Argument too small in __ellint_rj<br> -17.7129, 0.135477,
+ 0.36375<br> Argument too small in __ellint_rj<br> -17.7129, 0.221034, 0.364822<br>
+ Argument too small in __ellint_rj<br> -17.7129, 0.308167, 0.366503<br>
+ Argument too small in __ellint_rj<br> -17.7129, 0.632359, 0.380066<br>
+ Argument too small in __ellint_rj<br> -17.7129, 0.814724, 0.398311<br>
+ Argument too small in __ellint_rj<br> -17.7129, 0.835009, 0.401518<br>
+ Argument too small in __ellint_rj<br> -17.7129, 0.905792, 0.417145<br>
+ Argument too small in __ellint_rj<br> -17.7129, 0.913376, 0.41949<br> Argument
+ too small in __ellint_rj<br> -17.7129, 0.968868, 0.447893<br> Argument
+ too small in __ellint_rj<br> -15.6641, 0.126987, 0.385409<br> Argument
+ too small in __ellint_rj<br> -15.6641, 0.135477, 0.385495<br> Argument
+ too small in __ellint_rj<br> -15.6641, 0.221034, 0.386686<br> Argument
+ too small in __ellint_rj<br> -15.6641, 0.308167, 0.388553<br> Argument
+ too small in __ellint_rj<br> -15.6641, 0.632359, 0.403643<br> Argument
+ too small in __ellint_rj<br> *** FURTHER CONTENT HAS BEEN TRUNCATED FOR BREVITY
+ ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h89"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ellint_3_compl1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ellint_3_compl1">Error
+ Output For ellint_3 (complete) with compiler GNU C++ version 7.1.0 and library
+ &lt;cmath&gt; and test data Complete Elliptic Integral PI: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_ellint_3_complete___cmath__Complete_Elliptic_Integral_PI_Mathworld_Data"></a>CAUTION:
+ Gross error found at entry 3.<br> Found: 1.28255 Expected 2.22144 Error:
+ 0.732051<br> 0.5, 0, 2.22144<br> Argument too small in __ellint_rj<br>
+ -4, 0.3, 0.712709<br> Argument too small in __ellint_rj<br> -100000, -0.5,
+ 0.00496945<br> Argument too small in __ellint_rj<br> -1e+10, -0.75, 1.5708e-05<br>
+ CAUTION: Gross error found at entry 8.<br> Found: 1.45615 Expected 101.045
+ Error: 68.3919<br> 0.999023, -0.875, 101.045<br> Argument too small in
+ __ellint_rj<br> -4.14952e+180, 0.5, 7.71119e-91<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h90"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ellint_3_with_0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ellint_3_with_0">Error
+ Output For ellint_3 with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Elliptic Integral PI: Large Random Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_ellint_3__cmath__Elliptic_Integral_PI_Large_Random_Data"></a>Argument
+ too small in __ellint_rj<br> -88.2952, -8.04919, 0.814724, -0.874724<br>
+ Argument too small in __ellint_rj<br> -88.2952, -7.46026, 0.135477, -0.827189<br>
+ Argument too small in __ellint_rj<br> -88.2952, -7.29046, 0.905792, -0.877476<br>
+ Argument too small in __ellint_rj<br> -88.2952, -6.23236, 0.835009, -0.652152<br>
+ Argument too small in __ellint_rj<br> -88.2952, -5.57932, 0.126987, -0.512276<br>
+ Argument too small in __ellint_rj<br> -88.2952, -4.43004, 0.968868, -0.543324<br>
+ Argument too small in __ellint_rj<br> -88.2952, -3.83666, 0.913376, -0.513389<br>
+ Argument too small in __ellint_rj<br> -88.2952, 0.93763, 0.221034, 0.158243<br>
+ Argument too small in __ellint_rj<br> -88.2952, 0.944412, 0.632359, 0.160101<br>
+ Argument too small in __ellint_rj<br> -88.2952, 2.64719, 0.308167, 0.188127<br>
+ Argument too small in __ellint_rj<br> -88.2952, 6.29447, 0.0975404, 0.676465<br>
+ Argument too small in __ellint_rj<br> -88.2952, 6.70017, 0.547221, 0.817785<br>
+ Argument too small in __ellint_rj<br> -88.2952, 8.11584, 0.278498, 0.837452<br>
+ Argument too small in __ellint_rj<br> -88.2952, 8.26752, 0.188382, 0.837571<br>
+ Argument too small in __ellint_rj<br> -88.2952, 9.15014, 0.546881, 0.885365<br>
+ Argument too small in __ellint_rj<br> -88.2952, 9.29777, 0.992881, 1.06701<br>
+ Argument too small in __ellint_rj<br> -88.2952, 9.3539, 0.957507, 1.03573<br>
+ Argument too small in __ellint_rj<br> -88.2952, 9.37736, 0.996461, 1.13933<br>
+ Argument too small in __ellint_rj<br> -88.2952, 9.85763, 0.964889, 1.24906<br>
+ Argument too small in __ellint_rj<br> -88.2952, 9.92923, 0.967695, 1.25621<br>
+ Argument too small in __ellint_rj<br> -86.8166, -8.04919, 0.157613, -0.841405<br>
+ Argument too small in __ellint_rj<br> -86.8166, -7.46026, 0.725839, -0.859877<br>
+ Argument too small in __ellint_rj<br> -86.8166, -7.29046, 0.970593, -0.914439<br>
+ Argument too small in __ellint_rj<br> -86.8166, -6.23236, 0.98111, -0.710627<br>
+ Argument too small in __ellint_rj<br> -86.8166, -5.57932, 0.957167, -0.58106<br>
+ Argument too small in __ellint_rj<br> -86.8166, -4.43004, 0.109862, -0.499839<br>
+ Argument too small in __ellint_rj<br> -86.8166, -3.83666, 0.485376, -0.494286<br>
+ Argument too small in __ellint_rj<br> -86.8166, 0.93763, 0.798106, 0.162644<br>
+ Argument too small in __ellint_rj<br> -86.8166, 0.944412, 0.80028, 0.16282<br>
+ Argument too small in __ellint_rj<br> -86.8166, 2.64719, 0.297029, 0.18978<br>
+ Argument too small in __ellint_rj<br> -86.8166, 6.29447, 0.141886, 0.682392<br>
+ Argument too small in __ellint_rj<br> -86.8166, 6.70017, 0.00478348, 0.812885<br>
+ Argument too small in __ellint_rj<br> -86.8166, 8.11584, 0.421761, 0.849249<br>
+ Argument too small in __ellint_rj<br> -86.8166, 8.26752, 0.112465, 0.843648<br>
+ Argument too small in __ellint_rj<br> -86.8166, 9.15014, 0.915736, 0.953733<br>
+ Argument too small in __ellint_rj<br> -86.8166, 9.29777, 0.639763, 0.936743<br>
+ Argument too small in __ellint_rj<br> -86.8166, 9.3539, 0.792207, 0.987359<br>
+ Argument too small in __ellint_rj<br> -86.8166, 9.37736, 0.878431, 1.02525<br>
+ Argument too small in __ellint_rj<br> -86.8166, 9.85763, 0.959492, 1.25508<br>
+ Argument too small in __ellint_rj<br> -86.8166, 9.92923, 0.503663, 1.16735<br>
+ Argument too small in __ellint_rj<br> -84.7616, -8.04919, 0.655741, -0.873305<br>
+ Argument too small in __ellint_rj<br> -84.7616, -7.46026, 0.797929, -0.879044<br>
+ Argument too small in __ellint_rj<br> -84.7616, -7.29046, 0.0357117, -0.840785<br>
+ Argument too small in __ellint_rj<br> -84.7616, -6.23236, 0.361294, -0.635502<br>
+ Argument too small in __ellint_rj<br> -84.7616, -5.57932, 0.849129, -0.558231<br>
+ Argument too small in __ellint_rj<br> -84.7616, -4.43004, 0.211924, -0.506533<br>
+ Argument too small in __ellint_rj<br> -84.7616, -3.83666, 0.933993, -0.527681<br>
+ Argument too small in __ellint_rj<br> -84.7616, 0.93763, 0.68136, 0.163458<br>
+ Argument too small in __ellint_rj<br> -84.7616, 0.944412, 0.678735, 0.163582<br>
+ Argument too small in __ellint_rj<br> -84.7616, 2.64719, 0.398739, 0.193458<br>
+ Argument too small in __ellint_rj<br> -84.7616, 6.29447, 0.75774, 0.716086<br>
+ Argument too small in __ellint_rj<br> -84.7616, 6.70017, 0.740647, 0.847849<br>
+ Argument too small in __ellint_rj<br> -84.7616, 8.11584, 0.743132, 0.883827<br>
+ Argument too small in __ellint_rj<br> -84.7616, 8.26752, 0.474759, 0.864181<br>
+ Argument too small in __ellint_rj<br> -84.7616, 9.15014, 0.392227, 0.895646<br>
+ Argument too small in __ellint_rj<br> -84.7616, 9.29777, 0.422088, 0.933423<br>
+ Argument too small in __ellint_rj<br> *** FURTHER CONTENT HAS BEEN TRUNCATED
+ FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h91"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ellint_3_with_1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ellint_3_with_1">Error
+ Output For ellint_3 with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Elliptic Integral PI: Random Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_ellint_3__cmath__Elliptic_Integral_PI_Random_Data"></a>CAUTION:
+ Gross error found at entry 150.<br> Found: 1.09748 Expected 1.76311 Error:
+ 0.606506<br> 0.546881, 1.27977, 0.349984, 1.76311<br> CAUTION: Gross error
+ found at entry 151.<br> Found: 1.39529 Expected 2.4686 Error: 0.769232<br>
+ 0.546881, 1.31163, 0.907365, 2.4686<br> CAUTION: Gross error found at entry
+ 152.<br> Found: 1.17627 Expected 2.03097 Error: 0.726615<br> 0.546881,
+ 1.42281, 0.196595, 2.03097<br> CAUTION: Gross error found at entry 153.<br>
+ Found: 1.47192 Expected 2.76894 Error: 0.881179<br> 0.546881, 1.43473, 0.848468,
+ 2.76894<br> CAUTION: Gross error found at entry 154.<br> Found: 1.23674
+ Expected 2.22733 Error: 0.800966<br> 0.546881, 1.50405, 0.251084, 2.22733<br>
+ CAUTION: Gross error found at entry 155.<br> Found: 1.87704 Expected 3.98415
+ Error: 1.12257<br> 0.546881, 1.51564, 0.955018, 3.98415<br> CAUTION: Gross
+ error found at entry 156.<br> Found: 1.35817 Expected 2.53989 Error: 0.870091<br>
+ 0.546881, 1.52005, 0.616045, 2.53989<br> CAUTION: Gross error found at entry
+ 157.<br> Found: 1.48427 Expected 2.87082 Error: 0.934166<br> 0.546881,
+ 1.52189, 0.778898, 2.87082<br> CAUTION: Gross error found at entry 158.<br>
+ Found: 1.32687 Expected 2.48679 Error: 0.874176<br> 0.546881, 1.55961, 0.473289,
+ 2.48679<br> CAUTION: Gross error found at entry 159.<br> Found: 2.37485
+ Expected 5.58805 Error: 1.35301<br> 0.546881, 1.56524, 0.98746, 5.58805<br>
+ CAUTION: Gross error found at entry 170.<br> Found: 1.08889 Expected 1.74565
+ Error: 0.603142<br> 0.547221, 1.27977, 0.285839, 1.74565<br> CAUTION: Gross
+ error found at entry 171.<br> Found: 1.21346 Expected 2.03956 Error: 0.680778<br>
+ 0.547221, 1.31163, 0.67982, 2.03956<br> CAUTION: Gross error found at entry
+ 172.<br> Found: 1.36407 Expected 2.48392 Error: 0.820965<br> 0.547221,
+ 1.42281, 0.7572, 2.48392<br> CAUTION: Gross error found at entry 173.<br>
+ Found: 1.21442 Expected 2.12881 Error: 0.752947<br> 0.547221, 1.43473, 0.39232,
+ 2.12881<br> CAUTION: Gross error found at entry 174.<br> Found: 1.4409
+ Expected 2.74399 Error: 0.904352<br> 0.547221, 1.50405, 0.753729, 2.74399<br>
+ CAUTION: Gross error found at entry 175.<br> Found: 1.32796 Expected 2.46156
+ Error: 0.853642<br> 0.547221, 1.51564, 0.561557, 2.46156<br> CAUTION: Gross
+ error found at entry 176.<br> Found: 1.27163 Expected 2.32413 Error: 0.82767<br>
+ 0.547221, 1.52005, 0.380446, 2.32413<br> CAUTION: Gross error found at entry
+ 177.<br> Found: 1.24298 Expected 2.25511 Error: 0.814274<br> 0.547221,
+ 1.52189, 0.208068, 2.25511<br> CAUTION: Gross error found at entry 178.<br>
+ Found: 1.36528 Expected 2.58635 Error: 0.894379<br> 0.547221, 1.55961, 0.567822,
+ 2.58635<br> CAUTION: Gross error found at entry 179.<br> Found: 1.35151
+ Expected 2.55463 Error: 0.890206<br> 0.547221, 1.56524, 0.527371, 2.55463<br>
+ CAUTION: Gross error found at entry 189.<br> Found: 1.01047 Expected 1.52344
+ Error: 0.507658<br> 0.632359, 0.993308, 0.964966, 1.52344<br> CAUTION:
+ Gross error found at entry 190.<br> Found: 1.05231 Expected 1.84135 Error:
+ 0.749817<br> 0.632359, 1.27977, 0.129906, 1.84135<br> CAUTION: Gross error
+ found at entry 191.<br> Found: 1.07393 Expected 1.92224 Error: 0.789918<br>
+ 0.632359, 1.31163, 0.154438, 1.92224<br> CAUTION: Gross error found at entry
+ 192.<br> Found: 1.22616 Expected 2.43657 Error: 0.987156<br> 0.632359,
+ 1.42281, 0.568824, 2.43657<br> CAUTION: Gross error found at entry 193.<br>
+ Found: 1.18462 Expected 2.33142 Error: 0.968083<br> 0.632359, 1.43473, 0.394908,
+ 2.33142<br> CAUTION: Gross error found at entry 194.<br> Found: 1.25094
+ Expected 2.59169 Error: 1.0718<br> 0.632359, 1.50405, 0.469391, 2.59169<br>
+ CAUTION: Gross error found at entry 195.<br> Found: 1.23693 Expected 2.56158
+ Error: 1.07091<br> 0.632359, 1.51564, 0.387296, 2.56158<br> CAUTION: Gross
+ error found at entry 196.<br> Found: 1.19839 Expected 2.45293 Error: 1.04685<br>
+ 0.632359, 1.52005, 0.0119021, 2.45293<br> CAUTION: Gross error found at entry
+ 197.<br> Found: 1.39415 Expected 3.05228 Error: 1.18935<br> 0.632359, 1.52189,
+ 0.726955, 3.05228<br> CAUTION: Gross error found at entry 198.<br> Found:
+ 1.25489 Expected 2.6569 Error: 1.11723<br> 0.632359, 1.55961, 0.337123, 2.6569<br>
+ CAUTION: Gross error found at entry 199.<br> Found: 1.27021 Expected 2.70857
+ Error: 1.13237<br> 0.632359, 1.56524, 0.38857, 2.70857<br> CAUTION: Gross
+ error found at entry 209.<br> Found: 0.83304 Expected 1.35947 Error: 0.631944<br>
+ 0.814724, 0.993308, 0.119547, 1.35947<br> CAUTION: Gross error found at entry
+ 210.<br> Found: 1.07764 Expected 2.50291 Error: 1.32258<br> *** FURTHER
+ CONTENT HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h92"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ellint_3_with_2"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ellint_3_with_2">Error
+ Output For ellint_3 with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Elliptic Integral PI: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_ellint_3__cmath__Elliptic_Integral_PI_Mathworld_Data"></a>CAUTION:
+ Gross error found at entry 0.<br> Found: -0.809353 Expected -1.55741 Error:
+ 0.924263<br> 1, -1, 0, -1.55741<br> CAUTION: Gross error found at entry
+ 11.<br> Found: 1.07555 Expected 13.2822 Error: 11.3492<br> 0.999023, 1.5,
+ 0, 13.2822<br> CAUTION: Gross error found at entry 13.<br> Found: -5.86896e+09
+ Expected 1.53659e+10 Error: 1.18973e+4932<br> 0.5, 1e+10, 0.5, 1.53659e+10<br>
+ Argument too small in __ellint_rj<br> -100000, 10, 0.75, 0.0347926<br>
+ Argument too small in __ellint_rj<br> -1e+10, 10, 0.875, 0.000109956<br>
+ Argument too small in __ellint_rj<br> -1e+10, 1e+20, 0.875, 1.00001e+15<br>
+ Argument too small in __ellint_rj<br> -1e+10, 1.57031, 0.875, 1.57081e-05<br>
+ CAUTION: Gross error found at entry 18.<br> Found: -6.25413e+09 Expected
+ 6.43274e+21 Error: 1.18973e+4932<br> 0.999023, 1e+20, 0.875, 6.43274e+21<br>
+ CAUTION: Gross error found at entry 19.<br> Found: 0.102424 Expected 0.196321
+ Error: 0.916748<br> 50, 0.125, 0.25, 0.196321<br> CAUTION: Gross error
+ found at entry 20.<br> Found: 0.798807 Expected 1.773 Error: 1.21956<br>
+ 1.125, 1, 0.25, 1.773<br> CAUTION: Gross error found at entry 21.<br> Found:
+ 7.07138 Expected 0.662468 Error: 9.6743<br> 1.125, 10, 0.25, 0.662468<br>
+ CAUTION: Gross error found at entry 22.<br> Found: 2.04288 Expected -0.142697
+ Error: 1.18973e+4932<br> 1.125, 3, 0.25, -0.142697<br> CAUTION: Gross error
+ found at entry 23.<br> Found: 1.07762 Expected 22.2699 Error: 19.6659<br>
+ 1.00391, 1.5, 0.125, 22.2699<br> CAUTION: Gross error found at entry 24.<br>
+ Found: 15.1275 Expected -0.535406 Error: 1.18973e+4932<br> 1.00391, 21.5,
+ 0.125, -0.535406<br> CAUTION: Gross error found at entry 41.<br> Found:
+ 1.57454 Expected 3.0338 Error: 0.926787<br> 0.5, 2, 0, 3.0338<br> CAUTION:
+ Gross error found at entry 42.<br> Found: 3.0338 Expected 1.57454 Error:
+ 0.926787<br> -0.5, 2, 0, 1.57454<br> CAUTION: Gross error found at entry
+ 43.<br> Found: -1.57454 Expected -3.0338 Error: 0.926787<br> 0.5, -2, 0,
+ -3.0338<br> CAUTION: Gross error found at entry 44.<br> Found: -3.0338
+ Expected -1.57454 Error: 0.926787<br> -0.5, -2, 0, -1.57454<br> CAUTION:
+ Found non-finite result, when a finite value was expected at entry 51<br>
+ Found: inf Expected -2.87535 Error: 1.18973e+4932<br> 1, 2, 0.5, -2.87535<br>
+ CAUTION: Gross error found at entry 51.<br> Found: inf Expected -2.87535
+ Error: 1.18973e+4932<br> 1, 2, 0.5, -2.87535<br> CAUTION: Found non-finite
+ result, when a finite value was expected at entry 52<br> Found: -inf Expected
+ 2.87535 Error: 1.18973e+4932<br> 1, -2, 0.5, 2.87535<br> CAUTION: Gross
+ error found at entry 52.<br> Found: -inf Expected 2.87535 Error: 1.18973e+4932<br>
+ 1, -2, 0.5, 2.87535<br> CAUTION: Found non-finite result, when a finite value
+ was expected at entry 53<br> Found: inf Expected -2.18504 Error: 1.18973e+4932<br>
+ 1, 2, 6.22302e-61, -2.18504<br> CAUTION: Gross error found at entry 53.<br>
+ Found: inf Expected -2.18504 Error: 1.18973e+4932<br> 1, 2, 6.22302e-61,
+ -2.18504<br> CAUTION: Found non-finite result, when a finite value was expected
+ at entry 54<br> Found: -inf Expected 2.18504 Error: 1.18973e+4932<br> 1,
+ -2, 6.22302e-61, 2.18504<br> CAUTION: Gross error found at entry 54.<br>
+ Found: -inf Expected 2.18504 Error: 1.18973e+4932<br> 1, -2, 6.22302e-61,
+ 2.18504<br> CAUTION: Gross error found at entry 57.<br> Found: 0.703907
+ Expected 0.000975941 Error: 720.259<br> 20, 3.14257, 0.5, 0.000975941<br>
+ CAUTION: Gross error found at entry 58.<br> Found: -0.703907 Expected -0.000975941
+ Error: 720.259<br> 20, -3.14257, 0.5, -0.000975941<br> CAUTION: Gross error
+ found at entry 59.<br> Found: 1.24445 Expected -27.1647 Error: 1.18973e+4932<br>
+ 1.01562, 1.6958, 0.5, -27.1647<br> CAUTION: Gross error found at entry 60.<br>
+ Found: -1.24445 Expected 27.1647 Error: 1.18973e+4932<br> 1.01562, -1.6958,
+ 0.5, 27.1647<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h93"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_expint_ei_with_"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_expint_ei_with_">Error
+ Output For expint (Ei) with compiler GNU C++ version 7.1.0 and library &lt;cmath&gt;
+ and test data Exponential Integral Ei</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_long_double_expint_Ei___cmath__Exponential_Integral_Ei"></a>Continued
+ fraction failed in __expint_En_cont_frac.<br> -1.30539, -0.134326<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h94"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_ibeta_with_comp"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_ibeta_with_comp">Error
+ Output For ibeta with compiler GNU C++ version 7.1.0 and library GSL 2.1 and
+ test data Incomplete Beta Function: Large and Diverse Values</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_ibeta_GSL_2_1_Incomplete_Beta_Function_Large_and_Diverse_Values"></a>underflow<br>
+ 1.04761e-05, 39078.2, 0.913384, 95444.4, 0, 1, 0<br> underflow<br> 1.2158e-05,
+ 24110.5, 0.135563, 82239.7, 0, 1, 0<br> underflow<br> 1.30342e-05, 26168.3,
+ 0.127074, 76710.7, 0, 1, 0<br> underflow<br> 1.51962e-05, 16177.5, 0.814742,
+ 65795.4, 0, 1, 0<br> underflow<br> 1.64873e-05, 470997, 0.127074, 60639.1,
+ 0, 1, 0<br> underflow<br> 1.66259e-05, 147819, 0.632396, 60134.5, 0, 1,
+ 0<br> underflow<br> 1.78638e-05, 439.387, 0.835025, 55972.4, 0, 1, 0<br>
+ underflow<br> 2.00434e-05, 482.007, 0.905801, 49885.1, 0, 1, 0<br> underflow<br>
+ 2.05189e-05, 236088, 0.835025, 48722.7, 0, 1, 0<br> underflow<br> 2.14336e-05,
+ 3719.28, 0.814742, 46647, 0, 1, 0<br> underflow<br> 2.24486e-05, 445071,
+ 0.221112, 44532.6, 0, 1, 0<br> underflow<br> 2.34849e-05, 25542.8, 0.968871,
+ 42569.8, 0, 1, 0<br> underflow<br> 2.39993e-05, 462.946, 0.814742, 41661.1,
+ 0, 1, 0<br> underflow<br> 2.52178e-05, 1832.27, 0.913384, 39646.4, 0, 1,
+ 0<br> underflow<br> 2.87756e-05, 25491.8, 0.905801, 34740.9, 0, 1, 0<br>
+ underflow<br> 2.89316e-05, 494.984, 0.968871, 34557.6, 0, 1, 0<br> underflow<br>
+ 3.11413e-05, 348144, 0.308236, 32098.3, 0, 1, 0<br> underflow<br> 3.12319e-05,
+ 33713, 0.221112, 32007.5, 0, 1, 0<br> underflow<br> 3.19889e-05, 3931.19,
+ 0.308236, 31251.9, 0, 1, 0<br> underflow<br> 3.27129e-05, 3109.49, 0.968871,
+ 30560.4, 0, 1, 0<br> underflow<br> 3.27529e-05, 25796.3, 0.835025, 30520.9,
+ 0, 1, 0<br> underflow<br> 3.34106e-05, 3378.01, 0.221112, 29922, 0, 1,
+ 0<br> underflow<br> 3.40793e-05, 288783, 0.814742, 29330.2, 0, 1, 0<br>
+ underflow<br> 3.46418e-05, 411.559, 0.913384, 28860.3, 0, 1, 0<br> underflow<br>
+ 3.61632e-05, 311937, 0.905801, 27639.2, 0, 1, 0<br> underflow<br> 3.75686e-05,
+ 386440, 0.913384, 26604.5, 0, 1, 0<br> underflow<br> 3.99261e-05, 495352,
+ 0.968871, 25032.6, 0, 1, 0<br> underflow<br> 4.01492e-05, 3246.23, 0.905801,
+ 24898.5, 0, 1, 0<br> underflow<br> 4.0288e-05, 2569.28, 0.835025, 24812.9,
+ 0, 1, 0<br> underflow<br> 4.11667e-05, 24253.8, 0.308236, 24280.8, 0, 1,
+ 0<br> underflow<br> 4.17714e-05, 274447, 0.135563, 23926.7, 0, 1, 0<br>
+ underflow<br> 4.66877e-05, 3780.93, 0.632396, 21410.1, 0, 1, 0<br> underflow<br>
+ 4.73604e-05, 48598.7, 0.632396, 21103.3, 0, 1, 0<br> underflow<br> 0.00013245,
+ 251.768, 0.968871, 7543.9, 0, 1, 0<br> underflow<br> 0.000168283, 195801,
+ 0.905801, 5929.61, 0, 1, 0<br> underflow<br> 0.000177906, 276489, 0.814742,
+ 5607.86, 0, 1, 0<br> underflow<br> 0.000183097, 316055, 0.127074, 5448.36,
+ 0, 1, 0<br> underflow<br> 0.000190369, 159132, 0.835025, 5240.42, 0, 1,
+ 0<br> underflow<br> 0.000191066, 419861, 0.913384, 5220.29, 0, 1, 0<br>
+ underflow<br> 0.000192195, 177798, 0.308236, 5190.39, 0, 1, 0<br> underflow<br>
+ 0.000220499, 107380, 0.135563, 4523.03, 0, 1, 0<br> underflow<br> 0.00022254,
+ 1432.25, 0.814742, 4485.74, 0, 1, 0<br> underflow<br> 0.000240291, 49604.4,
+ 0.632396, 4150.25, 0, 1, 0<br> underflow<br> 0.000251444, 15605.8, 0.135563,
+ 3966.81, 0, 1, 0<br> underflow<br> 0.000274279, 289206, 0.968871, 3632.79,
+ 0, 1, 0<br> underflow<br> 0.000274343, 2954.47, 0.308236, 3636.51, 0, 1,
+ 0<br> underflow<br> 0.000278714, 4023.16, 0.632396, 3579.05, 0, 1, 0<br>
+ underflow<br> 0.000288369, 460073, 0.221112, 3454.19, 0, 1, 0<br> underflow<br>
+ 0.000294717, 4642.26, 0.221112, 3384.08, 0, 1, 0<br> underflow<br> 0.000303403,
+ 2574.36, 0.835025, 3287.52, 0, 1, 0<br> underflow<br> 0.000304309, 4480.75,
+ 0.905801, 3277.17, 0, 1, 0<br> underflow<br> 0.00031313, 47957, 0.308236,
+ 3182.22, 0, 1, 0<br> underflow<br> 0.000320063, 25544.6, 0.905801, 3113.68,
+ 0, 1, 0<br> underflow<br> 0.000334818, 29065.5, 0.968871, 2975.86, 0, 1,
+ 0<br> underflow<br> 0.00034899, 41187.6, 0.913384, 2854.23, 0, 1, 0<br>
+ underflow<br> 0.000350247, 426.308, 0.905801, 2848.5, 0, 1, 0<br> underflow<br>
+ 0.000357727, 31752.2, 0.127074, 2784.5, 0, 1, 0<br> underflow<br> 0.000412091,
+ 367.714, 0.913384, 2420.17, 0, 1, 0<br> underflow<br> 0.000417933, 4668.47,
+ 0.968871, 2383.72, 0, 1, 0<br> underflow<br> 0.000424632, 17994.9, 0.221112,
+ 2344.63, 0, 1, 0<br> underflow<br> 0.000427051, 2443.44, 0.913384, 2333.28,
+ 0, 1, 0<br> underflow<br> 0.000437724, 454399, 0.632396, 2270.98, 0, 1,
+ 0<br> underflow<br> 0.000450377, 10660.8, 0.835025, 2210.53, 0, 1, 0<br>
+ underflow<br> 0.000475601, 19603, 0.814742, 2092.17, 0, 1, 0<br> underflow<br>
+ 0.00116972, 4487.22, 0.221112, 845.964, 0, 1, 0<br> underflow<br> 0.00124188,
+ 211066, 0.632396, 792.493, 0, 1, 0<br> underflow<br> 0.00128578, 4738.41,
+ 0.308236, 768.75, 0, 1, 0<br> underflow<br> 0.00133388, 46277.8, 0.913384,
+ 738.46, 0, 1, 0<br> underflow<br> 0.00138692, 2158.76, 0.814742, 712.816,
+ 0, 1, 0<br> underflow<br> 0.00153268, 13060.2, 0.968871, 642.474, 0, 1,
+ 0<br> underflow<br> 0.00159946, 1780.43, 0.968871, 617.202, 0, 1, 0<br>
+ *** FURTHER CONTENT HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h95"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_jacobi_dn_with_"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_jacobi_dn_with_">Error
+ Output For jacobi_dn with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Jacobi Elliptic: Modulus near 1</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_jacobi_dn_GSL_2_1_Jacobi_Elliptic_Modulus_near_1"></a>|m|
+ &gt; 1.0<br> -4.0246, 1, -0.999361, 0.0357365, 0.0357231<br> |m| &gt; 1.0<br>
+ -4.0246, 1, -0.999361, 0.0357497, 0.0357097<br> |m| &gt; 1.0<br> -4.0246,
+ 1, -0.99936, 0.0357762, 0.0356829<br> |m| &gt; 1.0<br> -4.0246, 1, -0.999359,
+ 0.0357895, 0.0356695<br> |m| &gt; 1.0<br> -4.0246, 1.00001, -0.999354,
+ 0.0359354, 0.0355222<br> |m| &gt; 1.0<br> -4.0246, 1.00003, -0.999347,
+ 0.0361343, 0.0353212<br> |m| &gt; 1.0<br> -4.0246, 1.00004, -0.999343,
+ 0.036247, 0.0352073<br> |m| &gt; 1.0<br> -4.0246, 1.0001, -0.999311, 0.0371157,
+ 0.0343296<br> |m| &gt; 1.0<br> -4.0246, 1.00016, -0.99928, 0.0379513, 0.0334851<br>
+ |m| &gt; 1.0<br> -4.0246, 1.00027, -0.999221, 0.0394571, 0.0319634<br>
+ |m| &gt; 1.0<br> -4.0246, 1.00076, -0.99893, 0.0462407, 0.0251046<br> |m|
+ &gt; 1.0<br> -4.0246, 1.00125, -0.998589, 0.0531109, 0.0181532<br> |m|
+ &gt; 1.0<br> -4.0246, 1.00232, -0.99768, 0.0680761, 0.0029944<br> |m| &gt;
+ 1.0<br> -4.0246, 1.00604, -0.992752, 0.120179, -0.049966<br> |m| &gt; 1.0<br>
+ -4.0246, 1.01557, -0.967356, 0.25342, -0.186698<br> |m| &gt; 1.0<br> -4.0246,
+ 1.03059, -0.890373, 0.455232, -0.397492<br> |m| &gt; 1.0<br> -4.0246, 1.06239,
+ -0.607191, 0.794556, -0.76412<br> |m| &gt; 1.0<br> -3.73013, 1, -0.998849,
+ 0.0479567, 0.0479467<br> |m| &gt; 1.0<br> -3.73013, 1, -0.998849, 0.0479665,
+ 0.0479367<br> |m| &gt; 1.0<br> -3.73013, 1, -0.998848, 0.0479862, 0.0479167<br>
+ |m| &gt; 1.0<br> -3.73013, 1, -0.998848, 0.047996, 0.0479067<br> |m| &gt;
+ 1.0<br> -3.73013, 1.00001, -0.998842, 0.0481042, 0.0477966<br> |m| &gt;
+ 1.0<br> -3.73013, 1.00003, -0.998835, 0.0482517, 0.0476465<br> |m| &gt;
+ 1.0<br> -3.73013, 1.00004, -0.998831, 0.0483354, 0.0475615<br> |m| &gt;
+ 1.0<br> -3.73013, 1.0001, -0.9988, 0.0489797, 0.0469059<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00016, -0.998769, 0.0495995, 0.0462752<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00027, -0.998713, 0.0507164, 0.0451386<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00076, -0.998445, 0.0557477, 0.0400164<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00125, -0.998147, 0.0608429, 0.0348257<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00232, -0.997409, 0.0719406, 0.0235071<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00604, -0.993866, 0.110593, -0.016048<br> |m| &gt; 1.0<br>
+ -3.73013, 1.01557, -0.977708, 0.209971, -0.118704<br> |m| &gt; 1.0<br>
+ -3.73013, 1.03059, -0.931162, 0.364606, -0.281224<br> |m| &gt; 1.0<br>
+ -3.73013, 1.06239, -0.753495, 0.657453, -0.599326<br> |m| &gt; 1.0<br>
+ -3.64523, 1, -0.998637, 0.0521997, 0.0521906<br> |m| &gt; 1.0<br> -3.64523,
+ 1, -0.998636, 0.0522087, 0.0521814<br> |m| &gt; 1.0<br> -3.64523, 1, -0.998635,
+ 0.0522268, 0.052163<br> |m| &gt; 1.0<br> -3.64523, 1, -0.998635, 0.0522358,
+ 0.0521538<br> |m| &gt; 1.0<br> -3.64523, 1.00001, -0.99863, 0.052335, 0.0520526<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00003, -0.998622, 0.0524703, 0.0519145<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00004, -0.998618, 0.052547, 0.0518363<br>
+ |m| &gt; 1.0<br> -3.64523, 1.0001, -0.998587, 0.0531379, 0.0512335<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00016, -0.998557, 0.0537063, 0.0506536<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00027, -0.998501, 0.0547305, 0.0496084<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00076, -0.998238, 0.0593443, 0.0448986<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00125, -0.997949, 0.0640165, 0.0401258<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00232, -0.997244, 0.0741927, 0.0297191<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00604, -0.993972, 0.109636, -0.00664888<br>
+ |m| &gt; 1.0<br> -3.64523, 1.01557, -0.979623, 0.200844, -0.101111<br>
+ |m| &gt; 1.0<br> -3.64523, 1.03059, -0.939163, 0.343472, -0.251382<br>
+ |m| &gt; 1.0<br> -3.64523, 1.06239, -0.784719, 0.619852, -0.552253<br>
+ |m| &gt; 1.0<br> -3.11618, 1, -0.996078, 0.0884811, 0.0884757<br> |m| &gt;
+ 1.0<br> -3.11618, 1, -0.996077, 0.0884863, 0.0884702<br> |m| &gt; 1.0<br>
+ -3.11618, 1, -0.996076, 0.0884967, 0.0884593<br> |m| &gt; 1.0<br> -3.11618,
+ 1, -0.996076, 0.0885019, 0.0884538<br> |m| &gt; 1.0<br> -3.11618, 1.00001,
+ -0.996071, 0.0885593, 0.0883936<br> |m| &gt; 1.0<br> -3.11618, 1.00003,
+ -0.996064, 0.0886376, 0.0883114<br> |m| &gt; 1.0<br> -3.11618, 1.00004,
+ -0.99606, 0.0886819, 0.0882648<br> |m| &gt; 1.0<br> -3.11618, 1.0001, -0.99603,
+ 0.0890236, 0.0879059<br> |m| &gt; 1.0<br> -3.11618, 1.00016, -0.996, 0.0893523,
+ 0.0875607<br> |m| &gt; 1.0<br> -3.11618, 1.00027, -0.995947, 0.0899445,
+ 0.0869386<br> |m| &gt; 1.0<br> -3.11618, 1.00076, -0.995702, 0.092612,
+ 0.0841353<br> |m| &gt; 1.0<br> -3.11618, 1.00125, -0.995447, 0.0953126,
+ 0.0812953<br> |m| &gt; 1.0<br> -3.11618, 1.00232, -0.994867, 0.101193,
+ 0.0751049<br> |m| &gt; 1.0<br> -3.11618, 1.00604, -0.992571, 0.121667,
+ 0.0534858<br> |m| &gt; 1.0<br> -3.11618, 1.01557, -0.984666, 0.174451,
+ -0.00273723<br> |m| &gt; 1.0<br> -3.11618, 1.03059, -0.966077, 0.258253,
+ -0.0934336<br> |m| &gt; 1.0<br> -3.11618, 1.06239, -0.901067, 0.433681,
+ -0.289151<br> |m| &gt; 1.0<br> -2.78966, 1, -0.992478, 0.122424, 0.12242<br>
+ |m| &gt; 1.0<br> -2.78966, 1, -0.992477, 0.122428, 0.122416<br> *** FURTHER
+ CONTENT HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h96"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_jacobi_cn_with_"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_jacobi_cn_with_">Error
+ Output For jacobi_cn with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Jacobi Elliptic: Modulus near 1</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_jacobi_cn_GSL_2_1_Jacobi_Elliptic_Modulus_near_1"></a>|m|
+ &gt; 1.0<br> -4.0246, 1, -0.999361, 0.0357365, 0.0357231<br> |m| &gt; 1.0<br>
+ -4.0246, 1, -0.999361, 0.0357497, 0.0357097<br> |m| &gt; 1.0<br> -4.0246,
+ 1, -0.99936, 0.0357762, 0.0356829<br> |m| &gt; 1.0<br> -4.0246, 1, -0.999359,
+ 0.0357895, 0.0356695<br> |m| &gt; 1.0<br> -4.0246, 1.00001, -0.999354,
+ 0.0359354, 0.0355222<br> |m| &gt; 1.0<br> -4.0246, 1.00003, -0.999347,
+ 0.0361343, 0.0353212<br> |m| &gt; 1.0<br> -4.0246, 1.00004, -0.999343,
+ 0.036247, 0.0352073<br> |m| &gt; 1.0<br> -4.0246, 1.0001, -0.999311, 0.0371157,
+ 0.0343296<br> |m| &gt; 1.0<br> -4.0246, 1.00016, -0.99928, 0.0379513, 0.0334851<br>
+ |m| &gt; 1.0<br> -4.0246, 1.00027, -0.999221, 0.0394571, 0.0319634<br>
+ |m| &gt; 1.0<br> -4.0246, 1.00076, -0.99893, 0.0462407, 0.0251046<br> |m|
+ &gt; 1.0<br> -4.0246, 1.00125, -0.998589, 0.0531109, 0.0181532<br> |m|
+ &gt; 1.0<br> -4.0246, 1.00232, -0.99768, 0.0680761, 0.0029944<br> |m| &gt;
+ 1.0<br> -4.0246, 1.00604, -0.992752, 0.120179, -0.049966<br> |m| &gt; 1.0<br>
+ -4.0246, 1.01557, -0.967356, 0.25342, -0.186698<br> |m| &gt; 1.0<br> -4.0246,
+ 1.03059, -0.890373, 0.455232, -0.397492<br> |m| &gt; 1.0<br> -4.0246, 1.06239,
+ -0.607191, 0.794556, -0.76412<br> |m| &gt; 1.0<br> -3.73013, 1, -0.998849,
+ 0.0479567, 0.0479467<br> |m| &gt; 1.0<br> -3.73013, 1, -0.998849, 0.0479665,
+ 0.0479367<br> |m| &gt; 1.0<br> -3.73013, 1, -0.998848, 0.0479862, 0.0479167<br>
+ |m| &gt; 1.0<br> -3.73013, 1, -0.998848, 0.047996, 0.0479067<br> |m| &gt;
+ 1.0<br> -3.73013, 1.00001, -0.998842, 0.0481042, 0.0477966<br> |m| &gt;
+ 1.0<br> -3.73013, 1.00003, -0.998835, 0.0482517, 0.0476465<br> |m| &gt;
+ 1.0<br> -3.73013, 1.00004, -0.998831, 0.0483354, 0.0475615<br> |m| &gt;
+ 1.0<br> -3.73013, 1.0001, -0.9988, 0.0489797, 0.0469059<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00016, -0.998769, 0.0495995, 0.0462752<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00027, -0.998713, 0.0507164, 0.0451386<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00076, -0.998445, 0.0557477, 0.0400164<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00125, -0.998147, 0.0608429, 0.0348257<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00232, -0.997409, 0.0719406, 0.0235071<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00604, -0.993866, 0.110593, -0.016048<br> |m| &gt; 1.0<br>
+ -3.73013, 1.01557, -0.977708, 0.209971, -0.118704<br> |m| &gt; 1.0<br>
+ -3.73013, 1.03059, -0.931162, 0.364606, -0.281224<br> |m| &gt; 1.0<br>
+ -3.73013, 1.06239, -0.753495, 0.657453, -0.599326<br> |m| &gt; 1.0<br>
+ -3.64523, 1, -0.998637, 0.0521997, 0.0521906<br> |m| &gt; 1.0<br> -3.64523,
+ 1, -0.998636, 0.0522087, 0.0521814<br> |m| &gt; 1.0<br> -3.64523, 1, -0.998635,
+ 0.0522268, 0.052163<br> |m| &gt; 1.0<br> -3.64523, 1, -0.998635, 0.0522358,
+ 0.0521538<br> |m| &gt; 1.0<br> -3.64523, 1.00001, -0.99863, 0.052335, 0.0520526<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00003, -0.998622, 0.0524703, 0.0519145<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00004, -0.998618, 0.052547, 0.0518363<br>
+ |m| &gt; 1.0<br> -3.64523, 1.0001, -0.998587, 0.0531379, 0.0512335<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00016, -0.998557, 0.0537063, 0.0506536<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00027, -0.998501, 0.0547305, 0.0496084<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00076, -0.998238, 0.0593443, 0.0448986<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00125, -0.997949, 0.0640165, 0.0401258<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00232, -0.997244, 0.0741927, 0.0297191<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00604, -0.993972, 0.109636, -0.00664888<br>
+ |m| &gt; 1.0<br> -3.64523, 1.01557, -0.979623, 0.200844, -0.101111<br>
+ |m| &gt; 1.0<br> -3.64523, 1.03059, -0.939163, 0.343472, -0.251382<br>
+ |m| &gt; 1.0<br> -3.64523, 1.06239, -0.784719, 0.619852, -0.552253<br>
+ |m| &gt; 1.0<br> -3.11618, 1, -0.996078, 0.0884811, 0.0884757<br> |m| &gt;
+ 1.0<br> -3.11618, 1, -0.996077, 0.0884863, 0.0884702<br> |m| &gt; 1.0<br>
+ -3.11618, 1, -0.996076, 0.0884967, 0.0884593<br> |m| &gt; 1.0<br> -3.11618,
+ 1, -0.996076, 0.0885019, 0.0884538<br> |m| &gt; 1.0<br> -3.11618, 1.00001,
+ -0.996071, 0.0885593, 0.0883936<br> |m| &gt; 1.0<br> -3.11618, 1.00003,
+ -0.996064, 0.0886376, 0.0883114<br> |m| &gt; 1.0<br> -3.11618, 1.00004,
+ -0.99606, 0.0886819, 0.0882648<br> |m| &gt; 1.0<br> -3.11618, 1.0001, -0.99603,
+ 0.0890236, 0.0879059<br> |m| &gt; 1.0<br> -3.11618, 1.00016, -0.996, 0.0893523,
+ 0.0875607<br> |m| &gt; 1.0<br> -3.11618, 1.00027, -0.995947, 0.0899445,
+ 0.0869386<br> |m| &gt; 1.0<br> -3.11618, 1.00076, -0.995702, 0.092612,
+ 0.0841353<br> |m| &gt; 1.0<br> -3.11618, 1.00125, -0.995447, 0.0953126,
+ 0.0812953<br> |m| &gt; 1.0<br> -3.11618, 1.00232, -0.994867, 0.101193,
+ 0.0751049<br> |m| &gt; 1.0<br> -3.11618, 1.00604, -0.992571, 0.121667,
+ 0.0534858<br> |m| &gt; 1.0<br> -3.11618, 1.01557, -0.984666, 0.174451,
+ -0.00273723<br> |m| &gt; 1.0<br> -3.11618, 1.03059, -0.966077, 0.258253,
+ -0.0934336<br> |m| &gt; 1.0<br> -3.11618, 1.06239, -0.901067, 0.433681,
+ -0.289151<br> |m| &gt; 1.0<br> -2.78966, 1, -0.992478, 0.122424, 0.12242<br>
+ |m| &gt; 1.0<br> -2.78966, 1, -0.992477, 0.122428, 0.122416<br> *** FURTHER
+ CONTENT HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h97"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_jacobi_sn_with_"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_jacobi_sn_with_">Error
+ Output For jacobi_sn with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Jacobi Elliptic: Modulus near 1</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_jacobi_sn_GSL_2_1_Jacobi_Elliptic_Modulus_near_1"></a>|m|
+ &gt; 1.0<br> -4.0246, 1, -0.999361, 0.0357365, 0.0357231<br> |m| &gt; 1.0<br>
+ -4.0246, 1, -0.999361, 0.0357497, 0.0357097<br> |m| &gt; 1.0<br> -4.0246,
+ 1, -0.99936, 0.0357762, 0.0356829<br> |m| &gt; 1.0<br> -4.0246, 1, -0.999359,
+ 0.0357895, 0.0356695<br> |m| &gt; 1.0<br> -4.0246, 1.00001, -0.999354,
+ 0.0359354, 0.0355222<br> |m| &gt; 1.0<br> -4.0246, 1.00003, -0.999347,
+ 0.0361343, 0.0353212<br> |m| &gt; 1.0<br> -4.0246, 1.00004, -0.999343,
+ 0.036247, 0.0352073<br> |m| &gt; 1.0<br> -4.0246, 1.0001, -0.999311, 0.0371157,
+ 0.0343296<br> |m| &gt; 1.0<br> -4.0246, 1.00016, -0.99928, 0.0379513, 0.0334851<br>
+ |m| &gt; 1.0<br> -4.0246, 1.00027, -0.999221, 0.0394571, 0.0319634<br>
+ |m| &gt; 1.0<br> -4.0246, 1.00076, -0.99893, 0.0462407, 0.0251046<br> |m|
+ &gt; 1.0<br> -4.0246, 1.00125, -0.998589, 0.0531109, 0.0181532<br> |m|
+ &gt; 1.0<br> -4.0246, 1.00232, -0.99768, 0.0680761, 0.0029944<br> |m| &gt;
+ 1.0<br> -4.0246, 1.00604, -0.992752, 0.120179, -0.049966<br> |m| &gt; 1.0<br>
+ -4.0246, 1.01557, -0.967356, 0.25342, -0.186698<br> |m| &gt; 1.0<br> -4.0246,
+ 1.03059, -0.890373, 0.455232, -0.397492<br> |m| &gt; 1.0<br> -4.0246, 1.06239,
+ -0.607191, 0.794556, -0.76412<br> |m| &gt; 1.0<br> -3.73013, 1, -0.998849,
+ 0.0479567, 0.0479467<br> |m| &gt; 1.0<br> -3.73013, 1, -0.998849, 0.0479665,
+ 0.0479367<br> |m| &gt; 1.0<br> -3.73013, 1, -0.998848, 0.0479862, 0.0479167<br>
+ |m| &gt; 1.0<br> -3.73013, 1, -0.998848, 0.047996, 0.0479067<br> |m| &gt;
+ 1.0<br> -3.73013, 1.00001, -0.998842, 0.0481042, 0.0477966<br> |m| &gt;
+ 1.0<br> -3.73013, 1.00003, -0.998835, 0.0482517, 0.0476465<br> |m| &gt;
+ 1.0<br> -3.73013, 1.00004, -0.998831, 0.0483354, 0.0475615<br> |m| &gt;
+ 1.0<br> -3.73013, 1.0001, -0.9988, 0.0489797, 0.0469059<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00016, -0.998769, 0.0495995, 0.0462752<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00027, -0.998713, 0.0507164, 0.0451386<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00076, -0.998445, 0.0557477, 0.0400164<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00125, -0.998147, 0.0608429, 0.0348257<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00232, -0.997409, 0.0719406, 0.0235071<br> |m| &gt; 1.0<br>
+ -3.73013, 1.00604, -0.993866, 0.110593, -0.016048<br> |m| &gt; 1.0<br>
+ -3.73013, 1.01557, -0.977708, 0.209971, -0.118704<br> |m| &gt; 1.0<br>
+ -3.73013, 1.03059, -0.931162, 0.364606, -0.281224<br> |m| &gt; 1.0<br>
+ -3.73013, 1.06239, -0.753495, 0.657453, -0.599326<br> |m| &gt; 1.0<br>
+ -3.64523, 1, -0.998637, 0.0521997, 0.0521906<br> |m| &gt; 1.0<br> -3.64523,
+ 1, -0.998636, 0.0522087, 0.0521814<br> |m| &gt; 1.0<br> -3.64523, 1, -0.998635,
+ 0.0522268, 0.052163<br> |m| &gt; 1.0<br> -3.64523, 1, -0.998635, 0.0522358,
+ 0.0521538<br> |m| &gt; 1.0<br> -3.64523, 1.00001, -0.99863, 0.052335, 0.0520526<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00003, -0.998622, 0.0524703, 0.0519145<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00004, -0.998618, 0.052547, 0.0518363<br>
+ |m| &gt; 1.0<br> -3.64523, 1.0001, -0.998587, 0.0531379, 0.0512335<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00016, -0.998557, 0.0537063, 0.0506536<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00027, -0.998501, 0.0547305, 0.0496084<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00076, -0.998238, 0.0593443, 0.0448986<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00125, -0.997949, 0.0640165, 0.0401258<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00232, -0.997244, 0.0741927, 0.0297191<br>
+ |m| &gt; 1.0<br> -3.64523, 1.00604, -0.993972, 0.109636, -0.00664888<br>
+ |m| &gt; 1.0<br> -3.64523, 1.01557, -0.979623, 0.200844, -0.101111<br>
+ |m| &gt; 1.0<br> -3.64523, 1.03059, -0.939163, 0.343472, -0.251382<br>
+ |m| &gt; 1.0<br> -3.64523, 1.06239, -0.784719, 0.619852, -0.552253<br>
+ |m| &gt; 1.0<br> -3.11618, 1, -0.996078, 0.0884811, 0.0884757<br> |m| &gt;
+ 1.0<br> -3.11618, 1, -0.996077, 0.0884863, 0.0884702<br> |m| &gt; 1.0<br>
+ -3.11618, 1, -0.996076, 0.0884967, 0.0884593<br> |m| &gt; 1.0<br> -3.11618,
+ 1, -0.996076, 0.0885019, 0.0884538<br> |m| &gt; 1.0<br> -3.11618, 1.00001,
+ -0.996071, 0.0885593, 0.0883936<br> |m| &gt; 1.0<br> -3.11618, 1.00003,
+ -0.996064, 0.0886376, 0.0883114<br> |m| &gt; 1.0<br> -3.11618, 1.00004,
+ -0.99606, 0.0886819, 0.0882648<br> |m| &gt; 1.0<br> -3.11618, 1.0001, -0.99603,
+ 0.0890236, 0.0879059<br> |m| &gt; 1.0<br> -3.11618, 1.00016, -0.996, 0.0893523,
+ 0.0875607<br> |m| &gt; 1.0<br> -3.11618, 1.00027, -0.995947, 0.0899445,
+ 0.0869386<br> |m| &gt; 1.0<br> -3.11618, 1.00076, -0.995702, 0.092612,
+ 0.0841353<br> |m| &gt; 1.0<br> -3.11618, 1.00125, -0.995447, 0.0953126,
+ 0.0812953<br> |m| &gt; 1.0<br> -3.11618, 1.00232, -0.994867, 0.101193,
+ 0.0751049<br> |m| &gt; 1.0<br> -3.11618, 1.00604, -0.992571, 0.121667,
+ 0.0534858<br> |m| &gt; 1.0<br> -3.11618, 1.01557, -0.984666, 0.174451,
+ -0.00273723<br> |m| &gt; 1.0<br> -3.11618, 1.03059, -0.966077, 0.258253,
+ -0.0934336<br> |m| &gt; 1.0<br> -3.11618, 1.06239, -0.901067, 0.433681,
+ -0.289151<br> |m| &gt; 1.0<br> -2.78966, 1, -0.992478, 0.122424, 0.12242<br>
+ |m| &gt; 1.0<br> -2.78966, 1, -0.992477, 0.122428, 0.122416<br> *** FURTHER
+ CONTENT HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h98"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_jacobi_dn_with0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_jacobi_dn_with0">Error
+ Output For jacobi_dn with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Jacobi Elliptic: Random Small Values</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_jacobi_dn_GSL_2_1_Jacobi_Elliptic_Random_Small_Values"></a>|m|
+ &gt; 1.0<br> 1.65048e-12, 1.65574, 1.65048e-12, 1, 1<br> |m| &gt; 1.0<br>
+ 2.06542e-12, 1.65574, 2.06542e-12, 1, 1<br> |m| &gt; 1.0<br> 6.93323e-12,
+ 1.65574, 6.93323e-12, 1, 1<br> |m| &gt; 1.0<br> 1.33514e-11, 1.65574, 1.33514e-11,
+ 1, 1<br> |m| &gt; 1.0<br> 1.63998e-11, 1.65574, 1.63998e-11, 1, 1<br>
+ |m| &gt; 1.0<br> 5.73016e-11, 1.65574, 5.73016e-11, 1, 1<br> |m| &gt; 1.0<br>
+ 1.11373e-10, 1.65574, 1.11373e-10, 1, 1<br> |m| &gt; 1.0<br> 1.42147e-10,
+ 1.65574, 1.42147e-10, 1, 1<br> |m| &gt; 1.0<br> 3.80063e-10, 1.65574, 3.80063e-10,
+ 1, 1<br> |m| &gt; 1.0<br> 6.09163e-10, 1.65574, 6.09163e-10, 1, 1<br>
+ |m| &gt; 1.0<br> 1.02216e-09, 1.65574, 1.02216e-09, 1, 1<br> |m| &gt; 1.0<br>
+ 2.88192e-09, 1.65574, 2.88192e-09, 1, 1<br> |m| &gt; 1.0<br> 4.76278e-09,
+ 1.65574, 4.76278e-09, 1, 1<br> |m| &gt; 1.0<br> 8.85413e-09, 1.65574, 8.85413e-09,
+ 1, 1<br> |m| &gt; 1.0<br> 2.30503e-08, 1.65574, 2.30503e-08, 1, 1<br>
+ |m| &gt; 1.0<br> 5.93925e-08, 1.65574, 5.93925e-08, 1, 1<br> |m| &gt; 1.0<br>
+ 1.16676e-07, 1.65574, 1.16676e-07, 1, 1<br> |m| &gt; 1.0<br> 2.37997e-07,
+ 1.65574, 2.37997e-07, 1, 1<br> |m| &gt; 1.0<br> 4.68466e-07, 1.65574, 4.68466e-07,
+ 1, 1<br> |m| &gt; 1.0<br> 9.3827e-07, 1.65574, 9.3827e-07, 1, 1<br> |m|
+ &gt; 1.0<br> 1.10399e-06, 1.65574, 1.10399e-06, 1, 1<br> |m| &gt; 1.0<br>
+ 3.29178e-06, 1.65574, 3.29178e-06, 1, 1<br> |m| &gt; 1.0<br> 7.51721e-06,
+ 1.65574, 7.51721e-06, 1, 1<br> |m| &gt; 1.0<br> 1.51147e-05, 1.65574, 1.51147e-05,
+ 1, 1<br> |m| &gt; 1.0<br> 2.9864e-05, 1.65574, 2.9864e-05, 1, 1<br> |m|
+ &gt; 1.0<br> 3.38703e-05, 1.65574, 3.38703e-05, 1, 1<br> |m| &gt; 1.0<br>
+ 9.06601e-05, 1.65574, 9.06601e-05, 1, 1<br> |m| &gt; 1.0<br> 0.000219495,
+ 1.65574, 0.000219495, 1, 1<br> |m| &gt; 1.0<br> 0.000439522, 1.65574, 0.000439521,
+ 1, 1<br> |m| &gt; 1.0<br> 0.000633315, 1.65574, 0.000633315, 1, 0.999999<br>
+ |m| &gt; 1.0<br> 0.00111512, 1.65574, 0.00111512, 0.999999, 0.999998<br>
+ |m| &gt; 1.0<br> 0.00196247, 1.65574, 0.00196246, 0.999998, 0.999995<br>
+ |m| &gt; 1.0<br> 0.00555375, 1.65574, 0.00555365, 0.999985, 0.999958<br>
+ |m| &gt; 1.0<br> 0.00869113, 1.65574, 0.00869072, 0.999962, 0.999896<br>
+ |m| &gt; 1.0<br> 0.0299334, 1.65574, 0.0299166, 0.999552, 0.998772<br>
+ |m| &gt; 1.0<br> 0.0512426, 1.65574, 0.0511588, 0.998691, 0.996406<br>
+ |m| &gt; 1.0<br> 0.112013, 1.65574, 0.111143, 0.993804, 0.982922<br> |m|
+ &gt; 1.0<br> 0.234804, 1.65574, 0.227, 0.973895, 0.926679<br> |m| &gt;
+ 1.0<br> 0.489873, 1.65574, 0.425971, 0.904737, 0.708912<br> |m| &gt; 1.0<br>
+ 0.751831, 1.65574, 0.553446, 0.832885, 0.400346<br> |m| &gt; 1.0<br> 1.65574,
+ 1.65574, 0.408154, 0.912913, -0.737088<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h99"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_jacobi_cn_with0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_jacobi_cn_with0">Error
+ Output For jacobi_cn with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Jacobi Elliptic: Random Small Values</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_jacobi_cn_GSL_2_1_Jacobi_Elliptic_Random_Small_Values"></a>|m|
+ &gt; 1.0<br> 1.65048e-12, 1.65574, 1.65048e-12, 1, 1<br> |m| &gt; 1.0<br>
+ 2.06542e-12, 1.65574, 2.06542e-12, 1, 1<br> |m| &gt; 1.0<br> 6.93323e-12,
+ 1.65574, 6.93323e-12, 1, 1<br> |m| &gt; 1.0<br> 1.33514e-11, 1.65574, 1.33514e-11,
+ 1, 1<br> |m| &gt; 1.0<br> 1.63998e-11, 1.65574, 1.63998e-11, 1, 1<br>
+ |m| &gt; 1.0<br> 5.73016e-11, 1.65574, 5.73016e-11, 1, 1<br> |m| &gt; 1.0<br>
+ 1.11373e-10, 1.65574, 1.11373e-10, 1, 1<br> |m| &gt; 1.0<br> 1.42147e-10,
+ 1.65574, 1.42147e-10, 1, 1<br> |m| &gt; 1.0<br> 3.80063e-10, 1.65574, 3.80063e-10,
+ 1, 1<br> |m| &gt; 1.0<br> 6.09163e-10, 1.65574, 6.09163e-10, 1, 1<br>
+ |m| &gt; 1.0<br> 1.02216e-09, 1.65574, 1.02216e-09, 1, 1<br> |m| &gt; 1.0<br>
+ 2.88192e-09, 1.65574, 2.88192e-09, 1, 1<br> |m| &gt; 1.0<br> 4.76278e-09,
+ 1.65574, 4.76278e-09, 1, 1<br> |m| &gt; 1.0<br> 8.85413e-09, 1.65574, 8.85413e-09,
+ 1, 1<br> |m| &gt; 1.0<br> 2.30503e-08, 1.65574, 2.30503e-08, 1, 1<br>
+ |m| &gt; 1.0<br> 5.93925e-08, 1.65574, 5.93925e-08, 1, 1<br> |m| &gt; 1.0<br>
+ 1.16676e-07, 1.65574, 1.16676e-07, 1, 1<br> |m| &gt; 1.0<br> 2.37997e-07,
+ 1.65574, 2.37997e-07, 1, 1<br> |m| &gt; 1.0<br> 4.68466e-07, 1.65574, 4.68466e-07,
+ 1, 1<br> |m| &gt; 1.0<br> 9.3827e-07, 1.65574, 9.3827e-07, 1, 1<br> |m|
+ &gt; 1.0<br> 1.10399e-06, 1.65574, 1.10399e-06, 1, 1<br> |m| &gt; 1.0<br>
+ 3.29178e-06, 1.65574, 3.29178e-06, 1, 1<br> |m| &gt; 1.0<br> 7.51721e-06,
+ 1.65574, 7.51721e-06, 1, 1<br> |m| &gt; 1.0<br> 1.51147e-05, 1.65574, 1.51147e-05,
+ 1, 1<br> |m| &gt; 1.0<br> 2.9864e-05, 1.65574, 2.9864e-05, 1, 1<br> |m|
+ &gt; 1.0<br> 3.38703e-05, 1.65574, 3.38703e-05, 1, 1<br> |m| &gt; 1.0<br>
+ 9.06601e-05, 1.65574, 9.06601e-05, 1, 1<br> |m| &gt; 1.0<br> 0.000219495,
+ 1.65574, 0.000219495, 1, 1<br> |m| &gt; 1.0<br> 0.000439522, 1.65574, 0.000439521,
+ 1, 1<br> |m| &gt; 1.0<br> 0.000633315, 1.65574, 0.000633315, 1, 0.999999<br>
+ |m| &gt; 1.0<br> 0.00111512, 1.65574, 0.00111512, 0.999999, 0.999998<br>
+ |m| &gt; 1.0<br> 0.00196247, 1.65574, 0.00196246, 0.999998, 0.999995<br>
+ |m| &gt; 1.0<br> 0.00555375, 1.65574, 0.00555365, 0.999985, 0.999958<br>
+ |m| &gt; 1.0<br> 0.00869113, 1.65574, 0.00869072, 0.999962, 0.999896<br>
+ |m| &gt; 1.0<br> 0.0299334, 1.65574, 0.0299166, 0.999552, 0.998772<br>
+ |m| &gt; 1.0<br> 0.0512426, 1.65574, 0.0511588, 0.998691, 0.996406<br>
+ |m| &gt; 1.0<br> 0.112013, 1.65574, 0.111143, 0.993804, 0.982922<br> |m|
+ &gt; 1.0<br> 0.234804, 1.65574, 0.227, 0.973895, 0.926679<br> |m| &gt;
+ 1.0<br> 0.489873, 1.65574, 0.425971, 0.904737, 0.708912<br> |m| &gt; 1.0<br>
+ 0.751831, 1.65574, 0.553446, 0.832885, 0.400346<br> |m| &gt; 1.0<br> 1.65574,
+ 1.65574, 0.408154, 0.912913, -0.737088<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h100"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_jacobi_sn_with0"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_jacobi_sn_with0">Error
+ Output For jacobi_sn with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Jacobi Elliptic: Random Small Values</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_jacobi_sn_GSL_2_1_Jacobi_Elliptic_Random_Small_Values"></a>|m|
+ &gt; 1.0<br> 1.65048e-12, 1.65574, 1.65048e-12, 1, 1<br> |m| &gt; 1.0<br>
+ 2.06542e-12, 1.65574, 2.06542e-12, 1, 1<br> |m| &gt; 1.0<br> 6.93323e-12,
+ 1.65574, 6.93323e-12, 1, 1<br> |m| &gt; 1.0<br> 1.33514e-11, 1.65574, 1.33514e-11,
+ 1, 1<br> |m| &gt; 1.0<br> 1.63998e-11, 1.65574, 1.63998e-11, 1, 1<br>
+ |m| &gt; 1.0<br> 5.73016e-11, 1.65574, 5.73016e-11, 1, 1<br> |m| &gt; 1.0<br>
+ 1.11373e-10, 1.65574, 1.11373e-10, 1, 1<br> |m| &gt; 1.0<br> 1.42147e-10,
+ 1.65574, 1.42147e-10, 1, 1<br> |m| &gt; 1.0<br> 3.80063e-10, 1.65574, 3.80063e-10,
+ 1, 1<br> |m| &gt; 1.0<br> 6.09163e-10, 1.65574, 6.09163e-10, 1, 1<br>
+ |m| &gt; 1.0<br> 1.02216e-09, 1.65574, 1.02216e-09, 1, 1<br> |m| &gt; 1.0<br>
+ 2.88192e-09, 1.65574, 2.88192e-09, 1, 1<br> |m| &gt; 1.0<br> 4.76278e-09,
+ 1.65574, 4.76278e-09, 1, 1<br> |m| &gt; 1.0<br> 8.85413e-09, 1.65574, 8.85413e-09,
+ 1, 1<br> |m| &gt; 1.0<br> 2.30503e-08, 1.65574, 2.30503e-08, 1, 1<br>
+ |m| &gt; 1.0<br> 5.93925e-08, 1.65574, 5.93925e-08, 1, 1<br> |m| &gt; 1.0<br>
+ 1.16676e-07, 1.65574, 1.16676e-07, 1, 1<br> |m| &gt; 1.0<br> 2.37997e-07,
+ 1.65574, 2.37997e-07, 1, 1<br> |m| &gt; 1.0<br> 4.68466e-07, 1.65574, 4.68466e-07,
+ 1, 1<br> |m| &gt; 1.0<br> 9.3827e-07, 1.65574, 9.3827e-07, 1, 1<br> |m|
+ &gt; 1.0<br> 1.10399e-06, 1.65574, 1.10399e-06, 1, 1<br> |m| &gt; 1.0<br>
+ 3.29178e-06, 1.65574, 3.29178e-06, 1, 1<br> |m| &gt; 1.0<br> 7.51721e-06,
+ 1.65574, 7.51721e-06, 1, 1<br> |m| &gt; 1.0<br> 1.51147e-05, 1.65574, 1.51147e-05,
+ 1, 1<br> |m| &gt; 1.0<br> 2.9864e-05, 1.65574, 2.9864e-05, 1, 1<br> |m|
+ &gt; 1.0<br> 3.38703e-05, 1.65574, 3.38703e-05, 1, 1<br> |m| &gt; 1.0<br>
+ 9.06601e-05, 1.65574, 9.06601e-05, 1, 1<br> |m| &gt; 1.0<br> 0.000219495,
+ 1.65574, 0.000219495, 1, 1<br> |m| &gt; 1.0<br> 0.000439522, 1.65574, 0.000439521,
+ 1, 1<br> |m| &gt; 1.0<br> 0.000633315, 1.65574, 0.000633315, 1, 0.999999<br>
+ |m| &gt; 1.0<br> 0.00111512, 1.65574, 0.00111512, 0.999999, 0.999998<br>
+ |m| &gt; 1.0<br> 0.00196247, 1.65574, 0.00196246, 0.999998, 0.999995<br>
+ |m| &gt; 1.0<br> 0.00555375, 1.65574, 0.00555365, 0.999985, 0.999958<br>
+ |m| &gt; 1.0<br> 0.00869113, 1.65574, 0.00869072, 0.999962, 0.999896<br>
+ |m| &gt; 1.0<br> 0.0299334, 1.65574, 0.0299166, 0.999552, 0.998772<br>
+ |m| &gt; 1.0<br> 0.0512426, 1.65574, 0.0511588, 0.998691, 0.996406<br>
+ |m| &gt; 1.0<br> 0.112013, 1.65574, 0.111143, 0.993804, 0.982922<br> |m|
+ &gt; 1.0<br> 0.234804, 1.65574, 0.227, 0.973895, 0.926679<br> |m| &gt;
+ 1.0<br> 0.489873, 1.65574, 0.425971, 0.904737, 0.708912<br> |m| &gt; 1.0<br>
+ 0.751831, 1.65574, 0.553446, 0.832885, 0.400346<br> |m| &gt; 1.0<br> 1.65574,
+ 1.65574, 0.408154, 0.912913, -0.737088<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h101"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_jacobi_dn_with1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_jacobi_dn_with1">Error
+ Output For jacobi_dn with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Jacobi Elliptic: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_jacobi_dn_GSL_2_1_Jacobi_Elliptic_Mathworld_Data"></a>|m|
+ &gt; 1.0<br> 2.98023e-08, 1.5, 2.98023e-08, 1, 1<br> |m| &gt; 1.0<br>
+ -2.98023e-08, 1.5, -2.98023e-08, 1, 1<br> |m| &gt; 1.0<br> 0.25, 1.5, 0.24183,
+ 0.970319, 0.931888<br> |m| &gt; 1.0<br> -0.25, 1.5, -0.24183, 0.970319,
+ 0.931888<br> |m| &gt; 1.0<br> 1.25, 1.5, 0.665876, 0.746063, -0.0486921<br>
+ |m| &gt; 1.0<br> -1.25, 1.5, -0.665876, 0.746063, -0.0486921<br> |m| &gt;
+ 1.0<br> 25, 1.5, 0.618665, 0.785655, 0.372585<br> |m| &gt; 1.0<br> -25,
+ 1.5, -0.618665, 0.785655, 0.372585<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h102"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_jacobi_cn_with1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_jacobi_cn_with1">Error
+ Output For jacobi_cn with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Jacobi Elliptic: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_jacobi_cn_GSL_2_1_Jacobi_Elliptic_Mathworld_Data"></a>|m|
+ &gt; 1.0<br> 2.98023e-08, 1.5, 2.98023e-08, 1, 1<br> |m| &gt; 1.0<br>
+ -2.98023e-08, 1.5, -2.98023e-08, 1, 1<br> |m| &gt; 1.0<br> 0.25, 1.5, 0.24183,
+ 0.970319, 0.931888<br> |m| &gt; 1.0<br> -0.25, 1.5, -0.24183, 0.970319,
+ 0.931888<br> |m| &gt; 1.0<br> 1.25, 1.5, 0.665876, 0.746063, -0.0486921<br>
+ |m| &gt; 1.0<br> -1.25, 1.5, -0.665876, 0.746063, -0.0486921<br> |m| &gt;
+ 1.0<br> 25, 1.5, 0.618665, 0.785655, 0.372585<br> |m| &gt; 1.0<br> -25,
+ 1.5, -0.618665, 0.785655, 0.372585<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h103"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_jacobi_sn_with1"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_jacobi_sn_with1">Error
+ Output For jacobi_sn with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Jacobi Elliptic: Mathworld Data</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_jacobi_sn_GSL_2_1_Jacobi_Elliptic_Mathworld_Data"></a>|m|
+ &gt; 1.0<br> 2.98023e-08, 1.5, 2.98023e-08, 1, 1<br> |m| &gt; 1.0<br>
+ -2.98023e-08, 1.5, -2.98023e-08, 1, 1<br> |m| &gt; 1.0<br> 0.25, 1.5, 0.24183,
+ 0.970319, 0.931888<br> |m| &gt; 1.0<br> -0.25, 1.5, -0.24183, 0.970319,
+ 0.931888<br> |m| &gt; 1.0<br> 1.25, 1.5, 0.665876, 0.746063, -0.0486921<br>
+ |m| &gt; 1.0<br> -1.25, 1.5, -0.665876, 0.746063, -0.0486921<br> |m| &gt;
+ 1.0<br> 25, 1.5, 0.618665, 0.785655, 0.372585<br> |m| &gt; 1.0<br> -25,
+ 1.5, -0.618665, 0.785655, 0.372585<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h104"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_polygamma_with3"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_polygamma_with3">Error
+ Output For polygamma with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Mathematica Data - Large orders and other bug cases</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_polygamma_GSL_2_1_Mathematica_Data_Large_orders_and_other_bug_cases"></a>underflow<br>
+ 168, 150, -6.52661e-66<br> underflow<br> 169, 202, 9.2734e-88<br> domain
+ error<br> 20, -9.5, -0.00103076<br> domain error<br> 21, -9.5, 4.28582e+26<br>
+ domain error<br> 22, -9.5, -0.00419144<br> domain error<br> 23, -9.5,
+ 8.6745e+29<br> domain error<br> 24, -9.5, -0.0204825<br> domain error<br>
+ 25, -9.5, 2.08188e+33<br> domain error<br> 26, -9.5, -0.118403<br> domain
+ error<br> 27, -9.5, 5.84592e+36<br> domain error<br> 28, -9.5, -0.798969<br>
+ domain error<br> 29, -9.5, 1.89875e+40<br> domain error<br> 30, -9.5,
+ -6.22245<br> underflow<br> 10, 1.32923e+36, -0<br> underflow<br> 15,
+ 1.32923e+36, 0<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h105"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_polygamma_with4"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_polygamma_with4">Error
+ Output For polygamma with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Mathematica Data - large negative arguments</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_polygamma_GSL_2_1_Mathematica_Data_large_negative_arguments"></a>domain
+ error<br> 124, -1.5, 7.63705e+240<br> domain error<br> 124, -2.5, 7.63705e+240<br>
+ domain error<br> 124, -3.5, 7.63705e+240<br> domain error<br> 124, -4.5,
+ 7.63705e+240<br> domain error<br> 124, -5.5, 7.63705e+240<br> domain
+ error<br> 124, -6.5, 7.63705e+240<br> domain error<br> 124, -7.5, 7.63705e+240<br>
+ domain error<br> 124, -8.5, 7.63705e+240<br> domain error<br> 124, -9.5,
+ 7.63705e+240<br> domain error<br> 124, -10.5, 7.63705e+240<br> domain
+ error<br> 124, -11.5, 7.63705e+240<br> domain error<br> 124, -12.5, 7.63705e+240<br>
+ domain error<br> 124, -13.5, 7.63705e+240<br> domain error<br> 124, -14.5,
+ 7.63705e+240<br> domain error<br> 124, -15.5, 7.63705e+240<br> domain
+ error<br> 124, -16.5, 7.63705e+240<br> domain error<br> 124, -17.5, 7.63705e+240<br>
+ domain error<br> 124, -18.5, 7.63705e+240<br> domain error<br> 124, -19.5,
+ 7.63705e+240<br> domain error<br> 124, -20.5, 7.63705e+240<br> domain
+ error<br> 124, -1.5, -7.63705e+240<br> domain error<br> 124, -2.5, -7.63705e+240<br>
+ domain error<br> 124, -3.5, -7.63705e+240<br> domain error<br> 124, -4.5,
+ -7.63705e+240<br> domain error<br> 124, -5.5, -7.63705e+240<br> domain
+ error<br> 124, -6.5, -7.63705e+240<br> domain error<br> 124, -7.5, -7.63705e+240<br>
+ domain error<br> 124, -8.5, -7.63705e+240<br> domain error<br> 124, -9.5,
+ -7.63705e+240<br> domain error<br> 124, -10.5, -7.63705e+240<br> domain
+ error<br> 124, -11.5, -7.63705e+240<br> domain error<br> 124, -12.5,
+ -7.63705e+240<br> domain error<br> 124, -13.5, -7.63705e+240<br> domain
+ error<br> 124, -14.5, -7.63705e+240<br> domain error<br> 124, -15.5,
+ -7.63705e+240<br> domain error<br> 124, -16.5, -7.63705e+240<br> domain
+ error<br> 124, -17.5, -7.63705e+240<br> domain error<br> 124, -18.5,
+ -7.63705e+240<br> domain error<br> 124, -19.5, -7.63705e+240<br> domain
+ error<br> 124, -20.5, -7.63705e+240<br> domain error<br> 2, -0.5, -0.828797<br>
+ domain error<br> 3, -0.5, 193.409<br> domain error<br> 4, -0.5, -3.47425<br>
+ domain error<br> 5, -0.5, 15371.1<br> domain error<br> 6, -0.5, -43.4579<br>
+ domain error<br> 7, -0.5, 2.58068e+06<br> domain error<br> 8, -0.5, -1059.96<br>
+ domain error<br> 9, -0.5, 7.43185e+08<br> domain error<br> 10, -0.5,
+ -42108.9<br> domain error<br> 11, -0.5, 3.26999e+11<br> domain error<br>
+ 12, -0.5, -2.46448e+06<br> domain error<br> 13, -0.5, 2.04047e+14<br>
+ domain error<br> 14, -0.5, -1.9918e+08<br> domain error<br> 15, -0.5,
+ 1.71399e+17<br> domain error<br> 16, -0.5, -2.12394e+10<br> domain error<br>
+ 17, -0.5, 1.86483e+20<br> domain error<br> 18, -0.5, -2.88824e+12<br>
+ domain error<br> 19, -0.5, 2.55108e+23<br> domain error<br> 20, -0.5,
+ -4.87773e+14<br> domain error<br> 21, -0.5, 4.28582e+26<br> domain error<br>
+ 2, -0.5, -0.828843<br> domain error<br> 3, -0.5, 193.409<br> domain error<br>
+ 4, -0.5, -3.47791<br> domain error<br> 5, -0.5, 15371.1<br> domain error<br>
+ 6, -0.5, -44.0732<br> domain error<br> 7, -0.5, 2.58068e+06<br> domain
+ error<br> 8, -0.5, -1237.15<br> domain error<br> 9, -0.5, 7.43185e+08<br>
+ domain error<br> 10, -0.5, -120071<br> domain error<br> 11, -0.5, 3.26999e+11<br>
+ domain error<br> 12, -0.5, -5.11131e+07<br> domain error<br> 13, -0.5,
+ 2.04047e+14<br> domain error<br> 14, -0.5, -4.1064e+10<br> domain error<br>
+ 15, -0.5, 1.71399e+17<br> domain error<br> 16, -0.5, -4.44822e+13<br>
+ domain error<br> 17, -0.5, 1.86483e+20<br> domain error<br> 18, -0.5,
+ -6.08254e+16<br> domain error<br> 19, -0.5, 2.55108e+23<br> domain error<br>
+ 20, -0.5, -1.02182e+20<br> domain error<br> 21, -0.5, 4.28582e+26<br>
+ domain error<br> 2, -0.5, -0.828751<br> domain error<br> 3, -0.5, 193.409<br>
+ domain error<br> 4, -0.5, -3.47059<br> domain error<br> 5, -0.5, 15371.1<br>
+ domain error<br> 6, -0.5, -42.8426<br> domain error<br> 7, -0.5, 2.58068e+06<br>
+ domain error<br> 8, -0.5, -882.773<br> domain error<br> 9, -0.5, 7.43185e+08<br>
+ domain error<br> 10, -0.5, 35853.7<br> domain error<br> 11, -0.5, 3.26999e+11<br>
+ domain error<br> 12, -0.5, 4.61841e+07<br> domain error<br> 13, -0.5,
+ 2.04047e+14<br> domain error<br> 14, -0.5, 4.06656e+10<br> domain error<br>
+ 15, -0.5, 1.71399e+17<br> domain error<br> 16, -0.5, 4.44397e+13<br>
+ domain error<br> 17, -0.5, 1.86483e+20<br> domain error<br> 18, -0.5,
+ 6.08197e+16<br> domain error<br> 19, -0.5, 2.55108e+23<br> domain error<br>
+ 20, -0.5, 1.02181e+20<br> domain error<br> 21, -0.5, 4.28582e+26<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h106"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_polygamma_with5"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_polygamma_with5">Error
+ Output For polygamma with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Mathematica Data - negative arguments</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_polygamma_GSL_2_1_Mathematica_Data_negative_arguments"></a>domain
+ error<br> 2, -12.75, -124.031<br> domain error<br> 2, -12.25, 124.019<br>
+ domain error<br> 2, -11.75, -124.032<br> domain error<br> 2, -11.25,
+ 124.018<br> domain error<br> 2, -10.75, -124.033<br> domain error<br>
+ 2, -10.25, 124.016<br> domain error<br> 2, -9.75, -124.035<br> domain
+ error<br> 2, -9.25, 124.015<br> domain error<br> 2, -8.75, -124.037<br>
+ domain error<br> 2, -8.25, 124.012<br> domain error<br> 2, -7.75, -124.04<br>
+ domain error<br> 2, -7.25, 124.009<br> domain error<br> 2, -6.75, -124.044<br>
+ domain error<br> 2, -6.25, 124.003<br> domain error<br> 2, -5.75, -124.051<br>
+ domain error<br> 2, -5.25, 123.995<br> domain error<br> 2, -4.75, -124.061<br>
+ domain error<br> 2, -4.25, 123.981<br> domain error<br> 2, -3.75, -124.08<br>
+ domain error<br> 2, -3.25, 123.955<br> domain error<br> 2, -2.75, -124.118<br>
+ domain error<br> 2, -2.25, 123.897<br> domain error<br> 2, -1.75, -124.214<br>
+ domain error<br> 2, -1.25, 123.721<br> domain error<br> 2, -0.75, -124.587<br>
+ domain error<br> 2, -0.25, 122.697<br> domain error<br> 3, -12.75, 1558.54<br>
+ domain error<br> 3, -12.25, 1558.54<br> domain error<br> 3, -11.75, 1558.54<br>
+ domain error<br> 3, -11.25, 1558.54<br> domain error<br> 3, -10.75, 1558.54<br>
+ domain error<br> 3, -10.25, 1558.54<br> domain error<br> 3, -9.75, 1558.54<br>
+ domain error<br> 3, -9.25, 1558.54<br> domain error<br> 3, -8.75, 1558.54<br>
+ domain error<br> 3, -8.25, 1558.54<br> domain error<br> 3, -7.75, 1558.54<br>
+ domain error<br> 3, -7.25, 1558.54<br> domain error<br> 3, -6.75, 1558.54<br>
+ domain error<br> 3, -6.25, 1558.54<br> domain error<br> 3, -5.75, 1558.54<br>
+ domain error<br> 3, -5.25, 1558.54<br> domain error<br> 3, -4.75, 1558.53<br>
+ domain error<br> 3, -4.25, 1558.53<br> domain error<br> 3, -3.75, 1558.52<br>
+ domain error<br> 3, -3.25, 1558.51<br> domain error<br> 3, -2.75, 1558.49<br>
+ domain error<br> 3, -2.25, 1558.46<br> domain error<br> 3, -1.75, 1558.38<br>
+ domain error<br> 3, -1.25, 1558.22<br> domain error<br> 3, -0.75, 1557.75<br>
+ domain error<br> 3, -0.25, 1555.76<br> domain error<br> 4, -12.75, -24481.6<br>
+ domain error<br> 4, -12.25, 24481.6<br> domain error<br> 4, -11.75, -24481.6<br>
+ domain error<br> 4, -11.25, 24481.6<br> domain error<br> 4, -10.75, -24481.6<br>
+ domain error<br> 4, -10.25, 24481.6<br> domain error<br> 4, -9.75, -24481.6<br>
+ domain error<br> 4, -9.25, 24481.6<br> domain error<br> 4, -8.75, -24481.6<br>
+ domain error<br> 4, -8.25, 24481.6<br> domain error<br> 4, -7.75, -24481.6<br>
+ domain error<br> 4, -7.25, 24481.6<br> domain error<br> 4, -6.75, -24481.6<br>
+ domain error<br> 4, -6.25, 24481.6<br> domain error<br> 4, -5.75, -24481.6<br>
+ domain error<br> 4, -5.25, 24481.6<br> domain error<br> 4, -4.75, -24481.6<br>
+ domain error<br> 4, -4.25, 24481.6<br> domain error<br> 4, -3.75, -24481.6<br>
+ domain error<br> 4, -3.25, 24481.5<br> domain error<br> 4, -2.75, -24481.6<br>
+ domain error<br> 4, -2.25, 24481.5<br> domain error<br> 4, -1.75, -24481.8<br>
+ domain error<br> 4, -1.25, 24481.1<br> domain error<br> 4, -0.75, -24483.2<br>
+ domain error<br> 4, -0.25, 24473.2<br> domain error<br> 5, -12.75, 492231<br>
+ domain error<br> 5, -12.25, 492231<br> domain error<br> 5, -11.75, 492231<br>
+ domain error<br> 5, -11.25, 492231<br> domain error<br> 5, -10.75, 492231<br>
+ domain error<br> 5, -10.25, 492231<br> domain error<br> 5, -9.75, 492231<br>
+ domain error<br> 5, -9.25, 492231<br> domain error<br> 5, -8.75, 492231<br>
+ domain error<br> 5, -8.25, 492231<br> domain error<br> 5, -7.75, 492231<br>
+ domain error<br> 5, -7.25, 492231<br> domain error<br> 5, -6.75, 492231<br>
+ domain error<br> 5, -6.25, 492231<br> domain error<br> 5, -5.75, 492231<br>
+ domain error<br> 5, -5.25, 492231<br> domain error<br> 5, -4.75, 492231<br>
+ domain error<br> 5, -4.25, 492231<br> domain error<br> 5, -3.75, 492231<br>
+ domain error<br> 5, -3.25, 492231<br> domain error<br> 5, -2.75, 492231<br>
+ domain error<br> 5, -2.25, 492231<br> domain error<br> 5, -1.75, 492231<br>
+ domain error<br> 5, -1.25, 492230<br> domain error<br> 5, -0.75, 492227<br>
+ domain error<br> 5, -0.25, 492199<br> domain error<br> 6, -12.75, -1.17912e+07<br>
+ domain error<br> 6, -12.25, 1.17912e+07<br> domain error<br> 6, -11.75,
+ -1.17912e+07<br> domain error<br> 6, -11.25, 1.17912e+07<br> domain error<br>
+ 6, -10.75, -1.17912e+07<br> domain error<br> 6, -10.25, 1.17912e+07<br>
+ domain error<br> 6, -9.75, -1.17912e+07<br> domain error<br> 6, -9.25,
+ 1.17912e+07<br> domain error<br> 6, -8.75, -1.17912e+07<br> domain error<br>
+ 6, -8.25, 1.17912e+07<br> domain error<br> 6, -7.75, -1.17912e+07<br>
+ domain error<br> 6, -7.25, 1.17912e+07<br> domain error<br> 6, -6.75,
+ -1.17912e+07<br> domain error<br> 6, -6.25, 1.17912e+07<br> domain error<br>
+ 6, -5.75, -1.17912e+07<br> domain error<br> 6, -5.25, 1.17912e+07<br>
+ domain error<br> 6, -4.75, -1.17912e+07<br> domain error<br> 6, -4.25,
+ 1.17912e+07<br> domain error<br> 6, -3.75, -1.17912e+07<br> domain error<br>
+ 6, -3.25, 1.17912e+07<br> domain error<br> 6, -2.75, -1.17912e+07<br>
+ domain error<br> 6, -2.25, 1.17912e+07<br> domain error<br> 6, -1.75,
+ -1.17912e+07<br> domain error<br> 6, -1.25, 1.17912e+07<br> *** FURTHER
+ CONTENT HAS BEEN TRUNCATED FOR BREVITY ***<br>
+ </p>
+<h5>
+<a name="special_function_error_rates_rep.error_logs.h107"></a>
+ <span class="phrase"><a name="special_function_error_rates_rep.error_logs.error_output_for_polygamma_with6"></a></span><a class="link" href="index.html#special_function_error_rates_rep.error_logs.error_output_for_polygamma_with6">Error
+ Output For polygamma with compiler GNU C++ version 7.1.0 and library GSL 2.1
+ and test data Mathematica Data - large arguments</a>
+ </h5>
+<p>
+ <a name="errors_GNU_C_version_7_1_0_linux_double_polygamma_GSL_2_1_Mathematica_Data_large_arguments"></a>underflow<br>
+ 30, 8.58993e+09, -8.44974e-268<br> underflow<br> 30, 1.71799e+10, -7.86943e-277<br>
+ underflow<br> 30, 3.43597e+10, -7.32898e-286<br> underflow<br> 30, 6.87195e+10,
+ -6.82564e-295<br> underflow<br> 30, 1.37439e+11, -6.35687e-304<br> underflow<br>
+ 30, 2.74878e+11, -5.9203e-313<br> underflow<br> 30, 5.49756e+11, -5.53354e-322<br>
+ underflow<br> 30, 1.09951e+12, -0<br> underflow<br> 30, 2.19902e+12,
+ -0<br> underflow<br> 30, 4.39805e+12, -0<br> underflow<br> 30, 8.79609e+12,
+ -0<br> underflow<br> 30, 1.75922e+13, -0<br> underflow<br> 30, 3.51844e+13,
+ -0<br> underflow<br> 30, 7.03687e+13, -0<br> underflow<br> 30, 1.40737e+14,
+ -0<br> underflow<br> 30, 2.81475e+14, -0<br> underflow<br> 30, 5.6295e+14,
+ -0<br> underflow<br> 30, 1.1259e+15, -0<br> underflow<br> 30, 2.2518e+15,
+ -0<br> underflow<br> 30, 4.5036e+15, -0<br> underflow<br> 30, 9.0072e+15,
+ -0<br> underflow<br> 30, 1.80144e+16, -0<br> underflow<br> 30, 3.60288e+16,
+ -0<br> underflow<br> 30, 7.20576e+16, -0<br> underflow<br> 30, 1.44115e+17,
+ -0<br> underflow<br> 30, 2.8823e+17, -0<br> underflow<br> 30, 5.76461e+17,
+ -0<br> underflow<br> 30, 1.15292e+18, -0<br> underflow<br> 30, 2.30584e+18,
+ -0<br> underflow<br> 30, 4.61169e+18, -0<br> underflow<br> 30, 9.22337e+18,
+ -0<br> underflow<br> 30, 1.84467e+19, -0<br> underflow<br> 30, 3.68935e+19,
+ -0<br> underflow<br> 30, 7.3787e+19, -0<br> underflow<br> 30, 1.47574e+20,
+ -0<br> underflow<br> 30, 2.95148e+20, -0<br> underflow<br> 30, 5.90296e+20,
+ -0<br> underflow<br> 30, 1.18059e+21, -0<br> underflow<br> 30, 2.36118e+21,
+ -0<br> underflow<br> 30, 4.72237e+21, -0<br> underflow<br> 30, 9.44473e+21,
+ -0<br> underflow<br> 30, 1.88895e+22, -0<br> underflow<br> 30, 3.77789e+22,
+ -0<br> underflow<br> 30, 7.55579e+22, -0<br> underflow<br> 30, 1.51116e+23,
+ -0<br> underflow<br> 30, 3.02231e+23, -0<br> underflow<br> 30, 6.04463e+23,
+ -0<br> underflow<br> 30, 1.20893e+24, -0<br> underflow<br> 30, 2.41785e+24,
+ -0<br> underflow<br> 30, 4.8357e+24, -0<br> underflow<br> 30, 9.67141e+24,
+ -0<br> underflow<br> 30, 1.93428e+25, -0<br> underflow<br> 30, 3.86856e+25,
+ -0<br> underflow<br> 30, 7.73713e+25, -0<br> underflow<br> 30, 1.54743e+26,
+ -0<br> underflow<br> 30, 3.09485e+26, -0<br> underflow<br> 30, 6.1897e+26,
+ -0<br> underflow<br> 30, 1.23794e+27, -0<br> underflow<br> 30, 2.47588e+27,
+ -0<br> underflow<br> 30, 4.95176e+27, -0<br> underflow<br> 30, 9.90352e+27,
+ -0<br> underflow<br> 30, 1.9807e+28, -0<br> underflow<br> 30, 3.96141e+28,
+ -0<br> underflow<br> 30, 7.92282e+28, -0<br> underflow<br> 30, 1.58456e+29,
+ -0<br> underflow<br> 30, 3.16913e+29, -0<br> underflow<br> 30, 6.33825e+29,
+ -0<br> underflow<br> 30, 1.26765e+30, -0<br>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_error_rates_rep.all_the_tables"></a><a class="link" href="index.html#special_function_error_rates_rep.all_the_tables" title="Tables">Tables</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_beta"></a><p class="title"><b>Table&#160;97.&#160;Error rates for beta</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for beta">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Beta Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> <span class="red">Max = +INF&#949; (Mean = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_beta_GSL_2_1_Beta_Function_Small_Values">And
+ other failures.</a>)</span><br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.14&#949; (Mean = 0.574&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.86&#949; (Mean = 1.22&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 364&#949; (Mean = 76.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.86&#949; (Mean = 1.22&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.23&#949; (Mean = 1.14&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.978&#949; (Mean = 0.0595&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.18e+03&#949; (Mean = 238&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.09e+03&#949; (Mean = 265&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 61.4&#949; (Mean = 19.4&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.07e+03&#949; (Mean = 264&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 107&#949; (Mean = 24.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 96.5&#949; (Mean = 22.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta Function: Divergent Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 12.1&#949; (Mean = 1.99&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 176&#949; (Mean = 28&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.99&#949; (Mean = 2.44&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 128&#949; (Mean = 23.8&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.8&#949; (Mean = 2.71&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.4&#949; (Mean = 2.19&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_beta_incomplete_"></a><p class="title"><b>Table&#160;98.&#160;Error rates for beta (incomplete)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for beta (incomplete)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.1&#949; (Mean = 2.32&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.7&#949; (Mean = 3.19&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.94&#949; (Mean = 2.17&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.568&#949; (Mean = 0.0254&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 69.2&#949; (Mean = 13.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 174&#949; (Mean = 25&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 90&#949; (Mean = 12.7&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Large and Diverse Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.999&#949; (Mean = 0.0325&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.84e+04&#949; (Mean = 2.76e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.86e+04&#949; (Mean = 2.79e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 633&#949; (Mean = 29.7&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Integer Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.0323&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.6&#949; (Mean = 3.6&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 51.8&#949; (Mean = 11&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 26&#949; (Mean = 6.28&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_betac"></a><p class="title"><b>Table&#160;99.&#160;Error rates for betac</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for betac">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.676&#949; (Mean = 0.0302&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.92&#949; (Mean = 2.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.2&#949; (Mean = 2.94&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.94&#949; (Mean = 2.06&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.949&#949; (Mean = 0.098&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 63.5&#949; (Mean = 13.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 97.6&#949; (Mean = 24.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 90.6&#949; (Mean = 14.8&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Large and Diverse Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.12&#949; (Mean = 0.0458&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.05e+05&#949; (Mean = 5.45e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.04e+05&#949; (Mean = 5.46e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.72e+03&#949; (Mean = 113&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Integer Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.586&#949; (Mean = 0.0314&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.1&#949; (Mean = 3.65&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 103&#949; (Mean = 17.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 26.2&#949; (Mean = 6.36&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_binomial_coefficient"></a><p class="title"><b>Table&#160;100.&#160;Error rates for binomial_coefficient</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for binomial_coefficient">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Binomials: small arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.369&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.5&#949; (Mean = 0.339&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.5&#949; (Mean = 0.339&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.369&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomials: large arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.939&#949; (Mean = 0.314&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 26.6&#949; (Mean = 6.13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 53.2&#949; (Mean = 10.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 37.2&#949; (Mean = 7.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_boost_math_powm1"></a><p class="title"><b>Table&#160;101.&#160;Error rates for boost::math::powm1</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for boost::math::powm1">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ powm1
+ </p>
+ </td>
+<td>
+ <p>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 2.04&#949; (Mean = 0.493&#949;))<br>
+ <br> <span class="blue">Max = 2.04&#949; (Mean = 0.493&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.04&#949; (Mean = 0.493&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.06&#949; (Mean = 0.425&#949;))<br>
+ <br> (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.06&#949; (Mean = 0.425&#949;))<br>
+ <br> <span class="blue">Max = 1.06&#949; (Mean = 0.425&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.88&#949; (Mean = 0.49&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.88&#949; (Mean = 0.49&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.84&#949; (Mean = 0.486&#949;))<br>
+ <br> <span class="blue">Max = 1.84&#949; (Mean = 0.486&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cbrt"></a><p class="title"><b>Table&#160;102.&#160;Error rates for cbrt</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cbrt">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ cbrt Function
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.34&#949; (Mean = 0.471&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.34&#949; (Mean = 0.471&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.34&#949; (Mean = 0.471&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.34&#949; (Mean = 0.471&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.34&#949; (Mean = 0.471&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.7&#949; (Mean = 0.565&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.7&#949; (Mean = 0.565&#949;))
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cos_pi"></a><p class="title"><b>Table&#160;103.&#160;Error rates for cos_pi</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cos_pi">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ sin_pi and cos_pi
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.991&#949; (Mean = 0.302&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.991&#949; (Mean = 0.302&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.284&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ sin_pi and cos_pi near integers and half integers
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.976&#949; (Mean = 0.28&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.976&#949; (Mean = 0.28&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.298&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_bessel_i"></a><p class="title"><b>Table&#160;104.&#160;Error rates for cyl_bessel_i</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_i">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel I0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 270&#949; (Mean = 91.6&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_I0_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.52&#949; (Mean = 0.622&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_Rmath_3_2_3_Bessel_I0_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.95&#949; (Mean = 0.738&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 8.49&#949; (Mean = 3.46&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_I0_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.95&#949; (Mean = 0.661&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.762&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 128&#949; (Mean = 41&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_I1_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.53&#949; (Mean = 0.483&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_Rmath_3_2_3_Bessel_I1_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.64&#949; (Mean = 0.202&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 5&#949; (Mean = 2.15&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_I1_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.64&#949; (Mean = 0.202&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.767&#949; (Mean = 0.398&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel In: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.31&#949; (Mean = 0.838&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_In_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.73&#949; (Mean = 0.601&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_Rmath_3_2_3_Bessel_In_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.8&#949; (Mean = 1.33&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 430&#949; (Mean = 163&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_In_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 463&#949; (Mean = 140&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.46&#949; (Mean = 1.32&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Iv: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 5.95&#949; (Mean = 2.08&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_Iv_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 3.53&#949; (Mean = 1.39&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.12&#949; (Mean = 1.85&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 616&#949; (Mean = 221&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_Iv_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.12&#949; (Mean = 1.95&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.97&#949; (Mean = 1.24&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel In: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 261&#949; (Mean = 53.2&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_In_Random_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 7.37&#949; (Mean = 2.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.62&#949; (Mean = 1.06&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 645&#949; (Mean = 132&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 176&#949; (Mean = 39.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.67&#949; (Mean = 1.88&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Iv: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.661&#949; (Mean = 0.0441&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 6.18e+03&#949; (Mean = 1.55e+03&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_Iv_Random_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = 4.28e+08&#949; (Mean = 2.85e+07&#949;))</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.35&#949; (Mean = 1.62&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.05e+03&#949; (Mean = 224&#949;)
+ <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_Iv_Random_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 283&#949; (Mean = 88.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.46&#949; (Mean = 1.71&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Iv: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 37&#949; (Mean = 18&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_GSL_2_1_Bessel_Iv_Mathworld_Data_large_values_">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = 3.77e+168&#949; (Mean = 2.39e+168&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_Rmath_3_2_3_Bessel_Iv_Mathworld_Data_large_values_">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.7&#949; (Mean = 6.66&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 118&#949; (Mean = 57.2&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i__cmath__Bessel_Iv_Mathworld_Data_large_values_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.7&#949; (Mean = 6.59&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.67&#949; (Mean = 1.64&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_bessel_i_integer_orders_"></a><p class="title"><b>Table&#160;105.&#160;Error rates for cyl_bessel_i (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_i (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel I0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.79&#949; (Mean = 0.482&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.52&#949; (Mean = 0.622&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_integer_orders__Rmath_3_2_3_Bessel_I0_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.95&#949; (Mean = 0.738&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 8.49&#949; (Mean = 3.46&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i_integer_orders___cmath__Bessel_I0_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.95&#949; (Mean = 0.661&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.762&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.82&#949; (Mean = 0.456&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.53&#949; (Mean = 0.483&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_integer_orders__Rmath_3_2_3_Bessel_I1_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.64&#949; (Mean = 0.202&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 5&#949; (Mean = 2.15&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i_integer_orders___cmath__Bessel_I1_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.64&#949; (Mean = 0.202&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.767&#949; (Mean = 0.398&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel In: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 5.15&#949; (Mean = 2.13&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_integer_orders__GSL_2_1_Bessel_In_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.73&#949; (Mean = 0.601&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_i_integer_orders__Rmath_3_2_3_Bessel_In_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.8&#949; (Mean = 1.33&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 430&#949; (Mean = 163&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_i_integer_orders___cmath__Bessel_In_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 463&#949; (Mean = 140&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.46&#949; (Mean = 1.32&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_bessel_i_prime"></a><p class="title"><b>Table&#160;106.&#160;Error rates for cyl_bessel_i_prime</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_i_prime">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel I'0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.82&#949; (Mean = 0.259&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.82&#949; (Mean = 0.259&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.82&#949; (Mean = 0.354&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.757&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.757&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.36&#949; (Mean = 0.782&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'n: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.31&#949; (Mean = 1.41&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 701&#949; (Mean = 212&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.61&#949; (Mean = 1.22&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'v: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.62&#949; (Mean = 0.512&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.89e+03&#949; (Mean = 914&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.89e+03&#949; (Mean = 914&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.76e+03&#949; (Mean = 1.19e+03&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'n: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.95&#949; (Mean = 1.06&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 195&#949; (Mean = 37.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.85&#949; (Mean = 1.82&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'v: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.1&#949; (Mean = 2.93&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 336&#949; (Mean = 68.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14&#949; (Mean = 2.5&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'v: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.6&#949; (Mean = 20.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.6&#949; (Mean = 20.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 59.5&#949; (Mean = 26.6&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_bessel_i_prime_integer_orders_"></a><p class="title"><b>Table&#160;107.&#160;Error rates for cyl_bessel_i_prime (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_i_prime (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel I'0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.82&#949; (Mean = 0.259&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.82&#949; (Mean = 0.259&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.82&#949; (Mean = 0.354&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.757&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.757&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.36&#949; (Mean = 0.782&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel I'n: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.31&#949; (Mean = 1.41&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 701&#949; (Mean = 212&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.61&#949; (Mean = 1.22&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_bessel_j"></a><p class="title"><b>Table&#160;108.&#160;Error rates for cyl_bessel_j</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_j">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel J0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.55&#949; (Mean = 2.86&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 5.04&#949; (Mean = 1.78&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_J0_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.629&#949; (Mean = 0.223&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J0_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0.629&#949; (Mean = 0.223&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_Rmath_3_2_3_Bessel_J0_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.55&#949; (Mean = 2.86&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.52&#949; (Mean = 1.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J0: Mathworld Data (Tricky cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.64e+08&#949; (Mean = 6.69e+07&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 4.79e+08&#949; (Mean =
+ 1.96e+08&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8e+04&#949; (Mean = 3.27e+04&#949;)</span><br>
+ <br> (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 6.5e+07&#949; (Mean = 2.66e+07&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.04e+07&#949; (Mean = 4.29e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.64e+08&#949; (Mean = 6.69e+07&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1e+07&#949; (Mean = 4.09e+06&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.59&#949; (Mean = 1.33&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 6.1&#949; (Mean = 2.95&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_J1_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.62&#949; (Mean = 2.35&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J1_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0.946&#949; (Mean = 0.39&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_Rmath_3_2_3_Bessel_J1_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.44&#949; (Mean = 0.637&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.73&#949; (Mean = 0.976&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1: Mathworld Data (tricky cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.18e+05&#949; (Mean = 9.76e+04&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.15e+06&#949; (Mean =
+ 1.58e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 106&#949; (Mean = 47.5&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 8.75e+05&#949; (Mean = 5.32e+05&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 2.93e+06&#949; (Mean = 1.7e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.18e+05&#949; (Mean = 9.76e+04&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.23e+04&#949; (Mean = 1.45e+04&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel JN: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.85&#949; (Mean = 3.35&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 2.13e+19&#949; (Mean
+ = 5.16e+18&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_JN_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.9e+05&#949; (Mean = 2.15e+05&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_JN_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = +INF&#949; (Mean = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_Rmath_3_2_3_Bessel_JN_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 463&#949; (Mean = 112&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.7&#949; (Mean = 5.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.7&#949; (Mean = 4.11&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 3.49e+05&#949; (Mean = 8.09e+04&#949;)
+ <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_J_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10&#949; (Mean = 2.24&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.39e+05&#949; (Mean = 5.37e+04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = +INF&#949; (Mean = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_Rmath_3_2_3_Bessel_J_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.7&#949; (Mean = 4.22&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.9&#949; (Mean = 3.89&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 607&#949; (Mean = 305&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 34.9&#949; (Mean = 17.4&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j__cmath__Bessel_J_Mathworld_Data_large_values_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.536&#949; (Mean = 0.268&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 4.91e+03&#949; (Mean = 2.46e+03&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J_Mathworld_Data_large_values_">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 5.9&#949; (Mean = 3.76&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 607&#949; (Mean = 305&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.31&#949; (Mean = 5.52&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel JN: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 50.8&#949; (Mean = 3.69&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.12e+03&#949; (Mean = 88.7&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 75.7&#949; (Mean = 5.36&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 3.93&#949; (Mean = 1.22&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 99.6&#949; (Mean = 22&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 17.5&#949; (Mean = 1.46&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.4&#949; (Mean = 1.68&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 501&#949; (Mean = 52.3&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 15.5&#949; (Mean = 3.33&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_GSL_2_1_Bessel_J_Random_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 6.74&#949; (Mean = 1.3&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 260&#949; (Mean = 34&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.24&#949; (Mean = 1.17&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J: Random Data (Tricky large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 785&#949; (Mean = 94.2&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 5.01e+17&#949; (Mean
+ = 6.23e+16&#949;))</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.48e+05&#949; (Mean = 5.11e+04&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 71.6&#949; (Mean = 11.7&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 785&#949; (Mean = 97.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 59.2&#949; (Mean = 8.67&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_bessel_j_integer_orders_"></a><p class="title"><b>Table&#160;109.&#160;Error rates for cyl_bessel_j (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_j (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel J0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.55&#949; (Mean = 2.86&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 5.04&#949; (Mean = 1.78&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j_integer_orders___cmath__Bessel_J0_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.12&#949; (Mean = 0.488&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 0.629&#949; (Mean = 0.223&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_integer_orders__Rmath_3_2_3_Bessel_J0_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.55&#949; (Mean = 2.86&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.52&#949; (Mean = 1.2&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.89&#949; (Mean = 0.988&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J0: Mathworld Data (Tricky cases) (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.64e+08&#949; (Mean = 6.69e+07&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 4.79e+08&#949; (Mean =
+ 1.96e+08&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8e+04&#949; (Mean = 3.27e+04&#949;)</span><br>
+ <br> (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1e+07&#949; (Mean = 4.11e+06&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.04e+07&#949; (Mean = 4.29e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.64e+08&#949; (Mean = 6.69e+07&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1e+07&#949; (Mean = 4.09e+06&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> <span class="red">Max
+ = 2.54e+08&#949; (Mean = 1.04e+08&#949;))</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.59&#949; (Mean = 1.33&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 6.1&#949; (Mean = 2.95&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j_integer_orders___cmath__Bessel_J1_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.89&#949; (Mean = 0.721&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 0.946&#949; (Mean = 0.39&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_integer_orders__Rmath_3_2_3_Bessel_J1_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.44&#949; (Mean = 0.637&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.73&#949; (Mean = 0.976&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 11.4&#949; (Mean = 4.15&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1: Mathworld Data (tricky cases) (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.18e+05&#949; (Mean = 9.76e+04&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.15e+06&#949; (Mean =
+ 1.58e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 106&#949; (Mean = 47.5&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.26e+06&#949; (Mean = 6.28e+05&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 2.93e+06&#949; (Mean = 1.7e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.18e+05&#949; (Mean = 9.76e+04&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.23e+04&#949; (Mean = 1.45e+04&#949;)</span><br>
+ <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.44e+07&#949; (Mean
+ = 6.5e+06&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel JN: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.85&#949; (Mean = 3.35&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 2.13e+19&#949; (Mean
+ = 5.16e+18&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_j_integer_orders___cmath__Bessel_JN_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.9e+05&#949; (Mean = 2.53e+05&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_integer_orders__GSL_2_1_Bessel_JN_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = +INF&#949; (Mean = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_j_integer_orders__Rmath_3_2_3_Bessel_JN_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 463&#949; (Mean = 112&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.7&#949; (Mean = 5.4&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_Microsoft_Visual_C_version_14_1_Win32_double_cyl_bessel_j_integer_orders___math_h__Bessel_JN_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_bessel_j_prime"></a><p class="title"><b>Table&#160;110.&#160;Error rates for cyl_bessel_j_prime</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_j_prime">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel J0': Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.9&#949; (Mean = 6.82&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.9&#949; (Mean = 6.72&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.62&#949; (Mean = 2.55&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J0': Mathworld Data (Tricky cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.44&#949; (Mean = 3.34&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.44&#949; (Mean = 3.31&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.67&#949; (Mean = 1.74&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1': Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.9&#949; (Mean = 3.37&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.9&#949; (Mean = 3.37&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.999&#949; (Mean = 0.627&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1': Mathworld Data (tricky cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 287&#949; (Mean = 129&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.88e+05&#949; (Mean = 2.63e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.88e+05&#949; (Mean = 2.63e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 288&#949; (Mean = 129&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel JN': Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.527&#949; (Mean = 0.128&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.29e+03&#949; (Mean = 312&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.29e+03&#949; (Mean = 355&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14&#949; (Mean = 6.13&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J': Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 21.5&#949; (Mean = 4.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.5&#949; (Mean = 9.31&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.5&#949; (Mean = 9.32&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 23.7&#949; (Mean = 8&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J': Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 989&#949; (Mean = 495&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 989&#949; (Mean = 495&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.9&#949; (Mean = 1.61&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel JN': Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.593&#949; (Mean = 0.0396&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.3&#949; (Mean = 1.85&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 79.4&#949; (Mean = 16.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.34&#949; (Mean = 0.999&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J': Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.885&#949; (Mean = 0.033&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 139&#949; (Mean = 6.47&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 279&#949; (Mean = 27.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 176&#949; (Mean = 9.75&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J': Random Data (Tricky large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 474&#949; (Mean = 62.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 474&#949; (Mean = 64.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 379&#949; (Mean = 45.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_bessel_j_prime_integer_orders_"></a><p class="title"><b>Table&#160;111.&#160;Error rates for cyl_bessel_j_prime (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_j_prime (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel J0': Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.9&#949; (Mean = 6.82&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.9&#949; (Mean = 6.72&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.62&#949; (Mean = 2.55&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J0': Mathworld Data (Tricky cases) (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.44&#949; (Mean = 3.34&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.44&#949; (Mean = 3.31&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.67&#949; (Mean = 1.74&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1': Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.9&#949; (Mean = 3.37&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.9&#949; (Mean = 3.37&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.999&#949; (Mean = 0.627&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel J1': Mathworld Data (tricky cases) (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 287&#949; (Mean = 129&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.88e+05&#949; (Mean = 2.63e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.88e+05&#949; (Mean = 2.63e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 288&#949; (Mean = 129&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel JN': Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.527&#949; (Mean = 0.128&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.29e+03&#949; (Mean = 312&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.29e+03&#949; (Mean = 355&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14&#949; (Mean = 6.13&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_bessel_k"></a><p class="title"><b>Table&#160;112.&#160;Error rates for cyl_bessel_k</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_k">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel K0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.436&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 9.33&#949; (Mean = 3.25&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.04&#949; (Mean = 2.16&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0.833&#949; (Mean = 0.601&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.436&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.552&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 8.94&#949; (Mean = 3.19&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.26&#949; (Mean = 2.21&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0.894&#949; (Mean = 0.516&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.39&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Kn: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.6&#949; (Mean = 1.21&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 12.9&#949; (Mean = 4.91&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k__cmath__Bessel_Kn_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3.36&#949; (Mean = 1.43&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kn_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 8.48&#949; (Mean = 2.98&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.6&#949; (Mean = 1.21&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.63&#949; (Mean = 1.46&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Kv: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.58&#949; (Mean = 2.39&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 13&#949; (Mean = 4.81&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k__cmath__Bessel_Kv_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 5.47&#949; (Mean = 2.04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kv_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 3.15&#949; (Mean = 1.35&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.21&#949; (Mean = 2.53&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.78&#949; (Mean = 2.19&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Kv: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.3&#949; (Mean = 21&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 42.3&#949; (Mean = 19.8&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k__cmath__Bessel_Kv_Mathworld_Data_large_values_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 308&#949; (Mean = 142&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kv_Mathworld_Data_large_values_">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 84.6&#949; (Mean = 37.8&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.3&#949; (Mean = 21&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 59.8&#949; (Mean = 26.9&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Kn: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.55&#949; (Mean = 1.12&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 13.9&#949; (Mean = 2.91&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.764&#949; (Mean = 0.0348&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 8.71&#949; (Mean = 1.76&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kn_Random_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 7.47&#949; (Mean = 1.34&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.55&#949; (Mean = 1.12&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.34&#949; (Mean = 1.7&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Kv: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.88&#949; (Mean = 1.48&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 13.6&#949; (Mean = 2.68&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k__cmath__Bessel_Kv_Random_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.507&#949; (Mean = 0.0313&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 9.71&#949; (Mean = 1.47&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_bessel_k_GSL_2_1_Bessel_Kv_Random_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 7.37&#949; (Mean = 1.49&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.88&#949; (Mean = 1.47&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.33&#949; (Mean = 1.62&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_bessel_k_integer_orders_"></a><p class="title"><b>Table&#160;113.&#160;Error rates for cyl_bessel_k (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_k (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel K0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.436&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 9.33&#949; (Mean = 3.25&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.2&#949; (Mean = 0.733&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0.833&#949; (Mean = 0.601&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.436&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.552&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 8.94&#949; (Mean = 3.19&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.626&#949; (Mean = 0.333&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 0.894&#949; (Mean = 0.516&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.39&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel Kn: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.6&#949; (Mean = 1.21&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 12.9&#949; (Mean = 4.91&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_bessel_k_integer_orders___cmath__Bessel_Kn_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 168&#949; (Mean = 59.5&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 8.48&#949; (Mean = 2.98&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.6&#949; (Mean = 1.21&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.63&#949; (Mean = 1.46&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_bessel_k_prime"></a><p class="title"><b>Table&#160;114.&#160;Error rates for cyl_bessel_k_prime</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_k_prime">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel K'0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.39&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.736&#949; (Mean = 0.389&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.736&#949; (Mean = 0.389&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.761&#949; (Mean = 0.444&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'n: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.16&#949; (Mean = 1.08&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.16&#949; (Mean = 1.08&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.17&#949; (Mean = 1.75&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'v: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.94&#949; (Mean = 2.44&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.94&#949; (Mean = 2.34&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.94&#949; (Mean = 1.47&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'v: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 59.2&#949; (Mean = 42.9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 58.7&#949; (Mean = 42.6&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.6&#949; (Mean = 11.8&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'n: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.45&#949; (Mean = 1.19&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.45&#949; (Mean = 1.19&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.67&#949; (Mean = 1.73&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'v: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.95&#949; (Mean = 1.53&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.95&#949; (Mean = 1.52&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.32&#949; (Mean = 1.65&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_bessel_k_prime_integer_orders_"></a><p class="title"><b>Table&#160;115.&#160;Error rates for cyl_bessel_k_prime (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_bessel_k_prime (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Bessel K'0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.329&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.786&#949; (Mean = 0.39&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.736&#949; (Mean = 0.389&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.736&#949; (Mean = 0.389&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.761&#949; (Mean = 0.444&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bessel K'n: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.16&#949; (Mean = 1.08&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.16&#949; (Mean = 1.08&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.17&#949; (Mean = 1.75&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_neumann"></a><p class="title"><b>Table&#160;116.&#160;Error rates for cyl_neumann</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_neumann">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Y0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.53&#949; (Mean = 2.4&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.05e+05&#949; (Mean = 6.87e+04&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 60.9&#949; (Mean = 20.4&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 167&#949; (Mean = 56.5&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.53&#949; (Mean = 2.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.61&#949; (Mean = 2.29&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 2.25&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 9.71e+03&#949; (Mean = 4.08e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 23.4&#949; (Mean = 8.1&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 193&#949; (Mean = 64.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 2.29&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.75&#949; (Mean = 1.72&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Yn: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 55.2&#949; (Mean = 17.8&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 2.2e+20&#949; (Mean
+ = 6.97e+19&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann__cmath__Yn_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.993&#949; (Mean = 0.314&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.41e+05&#949; (Mean = 7.62e+04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_neumann_GSL_2_1_Yn_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.24e+04&#949; (Mean = 4e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 55.2&#949; (Mean = 17.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 35&#949; (Mean = 11.9&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Yv: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.7&#949; (Mean = 4.93&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 3.49e+15&#949; (Mean
+ = 1.05e+15&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann__cmath__Yv_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10&#949; (Mean = 3.02&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.07e+05&#949; (Mean = 3.22e+04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_neumann_GSL_2_1_Yv_Mathworld_Data">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 243&#949; (Mean = 73.9&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.7&#949; (Mean = 5.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.89&#949; (Mean = 3.27&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Yv: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.7&#949; (Mean = 1.33&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 43.2&#949; (Mean = 16.3&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann__cmath__Yv_Mathworld_Data_large_values_">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 60.8&#949; (Mean = 23&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_cyl_neumann_GSL_2_1_Yv_Mathworld_Data_large_values_">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0.682&#949; (Mean = 0.335&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.7&#949; (Mean = 1.33&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.682&#949; (Mean = 0.423&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y0 and Y1: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.8&#949; (Mean = 3.04&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.59e+03&#949; (Mean = 500&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 34.4&#949; (Mean = 8.9&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 83&#949; (Mean = 14.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.8&#949; (Mean = 3.04&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.17&#949; (Mean = 1.24&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Yn: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 338&#949; (Mean = 27.5&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 4.01e+03&#949; (Mean = 348&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 500&#949; (Mean = 47.8&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 691&#949; (Mean = 67.9&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 338&#949; (Mean = 27.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 117&#949; (Mean = 10.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Yv: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.08e+03&#949; (Mean = 149&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann__cmath__Yv_Random_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.53&#949; (Mean = 0.102&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.41e+06&#949; (Mean = 7.67e+04&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.79e+05&#949; (Mean = 9.64e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.08e+03&#949; (Mean = 149&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.23e+03&#949; (Mean = 69.9&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_neumann_integer_orders_"></a><p class="title"><b>Table&#160;117.&#160;Error rates for cyl_neumann (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_neumann (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Y0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.53&#949; (Mean = 2.4&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.05e+05&#949; (Mean = 6.87e+04&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.46&#949; (Mean = 2.38&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 167&#949; (Mean = 56.5&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.53&#949; (Mean = 2.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.61&#949; (Mean = 2.29&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 5.37e+03&#949; (Mean = 1.81e+03&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 2.25&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 9.71e+03&#949; (Mean = 4.08e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.51&#949; (Mean = 0.839&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 193&#949; (Mean = 64.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 2.29&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.75&#949; (Mean = 1.72&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.86e+04&#949; (Mean = 6.2e+03&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Yn: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 55.2&#949; (Mean = 17.8&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 2.2e+20&#949; (Mean
+ = 6.97e+19&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_cyl_neumann_integer_orders___cmath__Yn_Mathworld_Data_Integer_Version_">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.993&#949; (Mean = 0.314&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.41e+05&#949; (Mean = 7.62e+04&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.24e+04&#949; (Mean = 4e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 55.2&#949; (Mean = 17.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 35&#949; (Mean = 11.9&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 2.49e+05&#949; (Mean = 8.14e+04&#949;))
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_neumann_prime"></a><p class="title"><b>Table&#160;118.&#160;Error rates for cyl_neumann_prime</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_neumann_prime">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Y'0: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 3.12&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 3.14&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.75&#949; (Mean = 1.75&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'1: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.58&#949; (Mean = 0.193&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 37.1&#949; (Mean = 12.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 34&#949; (Mean = 11.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.08&#949; (Mean = 1.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'n: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.05&#949; (Mean = 0.677&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 56&#949; (Mean = 18.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 56&#949; (Mean = 21.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 563&#949; (Mean = 178&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'v: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 21.5&#949; (Mean = 6.49&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.5&#949; (Mean = 13.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 42.5&#949; (Mean = 13.6&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 23.7&#949; (Mean = 10.1&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'v: Mathworld Data (large values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 1.24&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 1.24&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.627&#949; (Mean = 0.237&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'0 and Y'1: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 23.8&#949; (Mean = 3.69&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 23.8&#949; (Mean = 3.69&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.95&#949; (Mean = 1.36&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'n: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.53&#949; (Mean = 0.0885&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.35e+03&#949; (Mean = 136&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.35e+03&#949; (Mean = 136&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 621&#949; (Mean = 36&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'v: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 56.8&#949; (Mean = 2.59&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.16e+05&#949; (Mean = 5.28e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.16e+05&#949; (Mean = 5.28e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.23e+04&#949; (Mean = 1.13e+03&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_cyl_neumann_prime_integer_orders_"></a><p class="title"><b>Table&#160;119.&#160;Error rates for cyl_neumann_prime (integer orders)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for cyl_neumann_prime (integer orders)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Y'0: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 3.12&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.33&#949; (Mean = 3.14&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.75&#949; (Mean = 1.75&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'1: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.58&#949; (Mean = 0.193&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 37.1&#949; (Mean = 12.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 34&#949; (Mean = 11.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.08&#949; (Mean = 1.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Y'n: Mathworld Data (Integer Version)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.05&#949; (Mean = 0.677&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 56&#949; (Mean = 18.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 56&#949; (Mean = 21.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 563&#949; (Mean = 178&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_digamma"></a><p class="title"><b>Table&#160;120.&#160;Error rates for digamma</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for digamma">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Digamma Function: Large Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.84&#949; (Mean = 0.71&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.18&#949; (Mean = 0.331&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.39&#949; (Mean = 0.413&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.39&#949; (Mean = 0.413&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.98&#949; (Mean = 0.369&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Digamma Function: Near the Positive Root
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.891&#949; (Mean = 0.0995&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 135&#949; (Mean = 11.9&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 2.02e+03&#949; (Mean = 256&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.37&#949; (Mean = 0.477&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.31&#949; (Mean = 0.471&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.997&#949; (Mean = 0.527&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Digamma Function: Near Zero
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.953&#949; (Mean = 0.348&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.17&#949; (Mean = 0.564&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.984&#949; (Mean = 0.361&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.984&#949; (Mean = 0.361&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.953&#949; (Mean = 0.337&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Digamma Function: Negative Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.56e+04&#949; (Mean = 3.91e+03&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 4.6e+04&#949; (Mean = 3.94e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 180&#949; (Mean = 13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 180&#949; (Mean = 13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 214&#949; (Mean = 16.1&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Digamma Function: Values near 0
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.866&#949; (Mean = 0.387&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 3.58e+05&#949; (Mean = 1.6e+05&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.592&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.592&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Digamma Function: Integer arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.992&#949; (Mean = 0.215&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.18&#949; (Mean = 0.607&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 4.33&#949; (Mean = 0.982&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.888&#949; (Mean = 0.403&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.888&#949; (Mean = 0.403&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.992&#949; (Mean = 0.452&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Digamma Function: Half integer arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.09&#949; (Mean = 0.531&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 46.2&#949; (Mean = 7.24&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.906&#949; (Mean = 0.409&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.906&#949; (Mean = 0.409&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.78&#949; (Mean = 0.314&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_1"></a><p class="title"><b>Table&#160;121.&#160;Error rates for ellint_1</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_1">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral F: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.94&#949; (Mean = 0.509&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_1__cmath__Elliptic_Integral_F_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.919&#949; (Mean = 0.544&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.94&#949; (Mean = 0.509&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.919&#949; (Mean = 0.542&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral F: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 0.56&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.56&#949; (Mean = 0.816&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.99&#949; (Mean = 0.797&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 0.561&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.26&#949; (Mean = 0.631&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_1_complete_"></a><p class="title"><b>Table&#160;122.&#160;Error rates for ellint_1 (complete)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_1 (complete)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral K: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.887&#949; (Mean = 0.296&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.19&#949; (Mean = 0.765&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.623&#949; (Mean = 0.393&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.887&#949; (Mean = 0.296&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.915&#949; (Mean = 0.547&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral K: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.473&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.19&#949; (Mean = 0.694&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.851&#949; (Mean = 0.0851&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.32&#949; (Mean = 0.688&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.473&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.958&#949; (Mean = 0.408&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_2"></a><p class="title"><b>Table&#160;123.&#160;Error rates for ellint_2</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_2">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.63&#949; (Mean = 0.325&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.656&#949; (Mean = 0.317&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_2__cmath__Elliptic_Integral_E_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.656&#949; (Mean = 0.317&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.31&#949; (Mean = 0.727&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.4&#949; (Mean = 1.16&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.05&#949; (Mean = 0.632&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 3.08e+04&#949; (Mean = 3.84e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.05&#949; (Mean = 0.632&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.23&#949; (Mean = 0.639&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Small Angles
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.5&#949; (Mean = 0.118&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.283&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 2&#949; (Mean = 0.333&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.283&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.421&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_2_complete_"></a><p class="title"><b>Table&#160;124.&#160;Error rates for ellint_2 (complete)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_2 (complete)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3.09&#949; (Mean = 1.04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ellint_2_complete__GSL_2_1_Elliptic_Integral_E_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.836&#949; (Mean = 0.469&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 170&#949; (Mean = 55.1&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.836&#949; (Mean = 0.469&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.3&#949; (Mean = 0.615&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.34&#949; (Mean = 1.18&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.629&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.49e+04&#949; (Mean = 3.39e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.629&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.71&#949; (Mean = 0.553&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_3"></a><p class="title"><b>Table&#160;125.&#160;Error rates for ellint_3</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_3">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral PI: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 475&#949; (Mean = 86.3&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3__cmath__Elliptic_Integral_PI_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.48e+05&#949; (Mean = 2.54e+04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ellint_3_GSL_2_1_Elliptic_Integral_PI_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 475&#949; (Mean = 86.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 565&#949; (Mean = 102&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral PI: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.54&#949; (Mean = 0.895&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 3.37e+20&#949; (Mean
+ = 3.47e+19&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3__cmath__Elliptic_Integral_PI_Random_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 633&#949; (Mean = 50.1&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.49&#949; (Mean = 0.885&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.33&#949; (Mean = 0.971&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral PI: Large Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.7&#949; (Mean = 0.893&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 2.52e+18&#949; (Mean
+ = 4.83e+17&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3__cmath__Elliptic_Integral_PI_Large_Random_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.557&#949; (Mean = 0.0389&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 40.1&#949; (Mean = 7.77&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.7&#949; (Mean = 0.892&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.86&#949; (Mean = 0.944&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_3_complete_"></a><p class="title"><b>Table&#160;126.&#160;Error rates for ellint_3 (complete)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_3 (complete)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Complete Elliptic Integral PI: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.4&#949; (Mean = 0.575&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 6.31e+20&#949; (Mean
+ = 1.53e+20&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3_complete___cmath__Complete_Elliptic_Integral_PI_Mathworld_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 6.33e+04&#949; (Mean = 1.54e+04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ellint_3_complete__GSL_2_1_Complete_Elliptic_Integral_PI_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.4&#949; (Mean = 0.575&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.971&#949; (Mean = 0.464&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Complete Elliptic Integral PI: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.45&#949; (Mean = 0.696&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 8.78e+20&#949; (Mean
+ = 1.02e+20&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3_complete___cmath__Complete_Elliptic_Integral_PI_Random_Data">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 24&#949; (Mean = 2.99&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.4&#949; (Mean = 0.677&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.46&#949; (Mean = 0.657&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_d"></a><p class="title"><b>Table&#160;127.&#160;Error rates for ellint_d</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_d">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.862&#949; (Mean = 0.568&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.3&#949; (Mean = 0.813&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.3&#949; (Mean = 0.813&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.862&#949; (Mean = 0.457&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral D: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3.01&#949; (Mean = 0.928&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.51&#949; (Mean = 0.883&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.51&#949; (Mean = 0.883&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.87&#949; (Mean = 0.805&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_d_complete_"></a><p class="title"><b>Table&#160;128.&#160;Error rates for ellint_d (complete)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_d (complete)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral E: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.637&#949; (Mean = 0.368&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.735&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.735&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.637&#949; (Mean = 0.368&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral D: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.334&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.334&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.27&#949; (Mean = 0.355&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_rc"></a><p class="title"><b>Table&#160;129.&#160;Error rates for ellint_rc</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_rc">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ RC: Random data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.4&#949; (Mean = 0.624&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.995&#949; (Mean = 0.433&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.962&#949; (Mean = 0.407&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_rd"></a><p class="title"><b>Table&#160;130.&#160;Error rates for ellint_rd</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_rd">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ RD: Random data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.59&#949; (Mean = 0.878&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.73&#949; (Mean = 0.831&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.16&#949; (Mean = 0.803&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RD: y = z
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.896&#949; (Mean = 0.022&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.88&#949; (Mean = 0.839&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.65&#949; (Mean = 0.82&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 16.5&#949; (Mean = 0.843&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RD: x = y
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.824&#949; (Mean = 0.0272&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 3.74&#949; (Mean = 0.84&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.85&#949; (Mean = 0.865&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.51&#949; (Mean = 0.816&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RD: x = 0, y = z
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2&#949; (Mean = 0.656&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.19&#949; (Mean = 0.522&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.16&#949; (Mean = 0.497&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RD: x = y = z
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.03&#949; (Mean = 0.418&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.387&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.03&#949; (Mean = 0.418&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RD: x = 0
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.85&#949; (Mean = 0.781&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.79&#949; (Mean = 0.883&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.64&#949; (Mean = 0.894&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_rf"></a><p class="title"><b>Table&#160;131.&#160;Error rates for ellint_rf</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_rf">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ RF: Random data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.73&#949; (Mean = 0.804&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.54&#949; (Mean = 0.674&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.02&#949; (Mean = 0.677&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RF: x = y = z
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.999&#949; (Mean = 0.34&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.991&#949; (Mean = 0.345&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.999&#949; (Mean = 0.34&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RF: x = y or y = z or x = z
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.536&#949; (Mean = 0.00658&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.89&#949; (Mean = 0.749&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.95&#949; (Mean = 0.418&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.21&#949; (Mean = 0.394&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RF: x = 0, y = z
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.29&#949; (Mean = 0.527&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.894&#949; (Mean = 0.338&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.999&#949; (Mean = 0.407&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RF: z = 0
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.54&#949; (Mean = 0.781&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.7&#949; (Mean = 0.539&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.89&#949; (Mean = 0.587&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_rg"></a><p class="title"><b>Table&#160;132.&#160;Error rates for ellint_rg</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_rg">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ RG: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.983&#949; (Mean = 0.0172&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 0.983&#949; (Mean = 0.0172&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.95&#949; (Mean = 0.951&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.65&#949; (Mean = 0.929&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RG: two values 0
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RG: All values the same or zero
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.992&#949; (Mean = 0.288&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.06&#949; (Mean = 0.348&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RG: two values the same
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.594&#949; (Mean = 0.0103&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 0.594&#949; (Mean = 0.0103&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.51&#949; (Mean = 0.404&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.96&#949; (Mean = 0.374&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RG: one value zero
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.14&#949; (Mean = 0.722&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.96&#949; (Mean = 0.674&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ellint_rj"></a><p class="title"><b>Table&#160;133.&#160;Error rates for ellint_rj</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ellint_rj">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ RJ: Random data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.52&#949; (Mean = 0.0184&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 3.57&#949; (Mean = 0.704&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ellint_rj_GSL_2_1_RJ_Random_data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 186&#949; (Mean = 6.67&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 215&#949; (Mean = 7.66&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RJ: 4 Equal Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.03&#949; (Mean = 0.418&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.387&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.03&#949; (Mean = 0.418&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RJ: 3 Equal Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3.96&#949; (Mean = 1.06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 20.8&#949; (Mean = 0.986&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 39.9&#949; (Mean = 1.17&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RJ: 2 Equal Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.6&#949; (Mean = 0.0228&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.57&#949; (Mean = 0.754&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 220&#949; (Mean = 6.64&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 214&#949; (Mean = 5.28&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ RJ: Equal z and p
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.742&#949; (Mean = 0.0166&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.62&#949; (Mean = 0.699&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 17.2&#949; (Mean = 1.16&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 16.1&#949; (Mean = 1.14&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_erf"></a><p class="title"><b>Table&#160;134.&#160;Error rates for erf</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for erf">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Erf Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.925&#949; (Mean = 0.193&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.944&#949; (Mean = 0.191&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.944&#949; (Mean = 0.191&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.841&#949; (Mean = 0.0687&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.06&#949; (Mean = 0.319&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.925&#949; (Mean = 0.193&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.944&#949; (Mean = 0.194&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.182&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.57&#949; (Mean = 0.317&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Erf Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.5&#949; (Mean = 0.193&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.921&#949; (Mean = 0.0723&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.921&#949; (Mean = 0.0723&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.119&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.31&#949; (Mean = 0.368&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.5&#949; (Mean = 0.197&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.921&#949; (Mean = 0.071&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.171&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 1.19&#949; (Mean = 0.244&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Erf Function: Large Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))<br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max
+ = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_erf_inv"></a><p class="title"><b>Table&#160;135.&#160;Error rates for erf_inv</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for erf_inv">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse Erf Function
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.389&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.08&#949; (Mean = 0.395&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.09&#949; (Mean = 0.502&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_erfc"></a><p class="title"><b>Table&#160;136.&#160;Error rates for erfc</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for erfc">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Erf Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))<br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max
+ = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.658&#949; (Mean = 0.0537&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.01&#949; (Mean = 0.485&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Erf Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.76&#949; (Mean = 0.365&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.35&#949; (Mean = 0.307&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.35&#949; (Mean = 0.307&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.983&#949; (Mean = 0.213&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.64&#949; (Mean = 0.662&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.76&#949; (Mean = 0.38&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 2.81&#949; (Mean = 0.739&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.65&#949; (Mean = 0.373&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 2.36&#949; (Mean = 0.539&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Erf Function: Large Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 0.542&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.26&#949; (Mean = 0.441&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.26&#949; (Mean = 0.441&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.868&#949; (Mean = 0.147&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 3.9&#949; (Mean = 0.472&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 0.564&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 4.91&#949; (Mean = 1.54&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.14&#949; (Mean = 0.248&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.84&#949; (Mean = 0.331&#949;))
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_erfc_inv"></a><p class="title"><b>Table&#160;137.&#160;Error rates for erfc_inv</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for erfc_inv">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Inverse Erfc Function
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.397&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.08&#949; (Mean = 0.403&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.491&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Inverse Erfc Function: extreme values
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.62&#949; (Mean = 0.383&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.62&#949; (Mean = 0.383&#949;)</span>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_expint_Ei_"></a><p class="title"><b>Table&#160;138.&#160;Error rates for expint (Ei)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for expint (Ei)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Exponential Integral Ei
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.05&#949; (Mean = 0.821&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 14.1&#949; (Mean = 2.43&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_expint_Ei___cmath__Exponential_Integral_Ei">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.994&#949; (Mean = 0.142&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 8.96&#949; (Mean = 0.703&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.05&#949; (Mean = 0.835&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.43&#949; (Mean = 0.54&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential Integral Ei: double exponent range
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.72&#949; (Mean = 0.593&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 3.11&#949; (Mean = 1.13&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.156&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.5&#949; (Mean = 0.612&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.72&#949; (Mean = 0.607&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.7&#949; (Mean = 0.66&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential Integral Ei: long exponent range
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.98&#949; (Mean = 0.595&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.93&#949; (Mean = 0.855&#949;))
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.98&#949; (Mean = 0.575&#949;)</span>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_expint_En_"></a><p class="title"><b>Table&#160;139.&#160;Error rates for expint (En)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for expint (En)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Exponential Integral En
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.589&#949; (Mean = 0.0331&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 58.5&#949; (Mean = 17.1&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.97&#949; (Mean = 2.13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.97&#949; (Mean = 2.13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.16&#949; (Mean = 1.85&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential Integral En: small z values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 115&#949; (Mean = 23.6&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.99&#949; (Mean = 0.559&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.99&#949; (Mean = 0.559&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.62&#949; (Mean = 0.531&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential Integral E1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.556&#949; (Mean = 0.0625&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 0.988&#949; (Mean = 0.469&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.965&#949; (Mean = 0.414&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.965&#949; (Mean = 0.408&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.988&#949; (Mean = 0.486&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_expm1"></a><p class="title"><b>Table&#160;140.&#160;Error rates for expm1</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for expm1">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Random test data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.992&#949; (Mean = 0.402&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.992&#949; (Mean = 0.402&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.992&#949; (Mean = 0.402&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.793&#949; (Mean = 0.126&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 0.793&#949; (Mean = 0.126&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.31&#949; (Mean = 0.428&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.996&#949; (Mean = 0.426&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.31&#949; (Mean = 0.496&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.31&#949; (Mean = 0.496&#949;))
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_gamma_p"></a><p class="title"><b>Table&#160;141.&#160;Error rates for gamma_p</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for gamma_p">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) medium values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.955&#949; (Mean = 0.05&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 342&#949; (Mean = 45.8&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 389&#949; (Mean = 44&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 41.6&#949; (Mean = 8.09&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 239&#949; (Mean = 30.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 35.1&#949; (Mean = 6.98&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) small values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.82&#949; (Mean = 0.758&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.01&#949; (Mean = 0.306&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2&#949; (Mean = 0.464&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2&#949; (Mean = 0.461&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.54&#949; (Mean = 0.439&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) large values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.02e+03&#949; (Mean = 105&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.11e+03&#949; (Mean = 67.5&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.08e+04&#949; (Mean = 1.86e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.02e+04&#949; (Mean = 1.91e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 243&#949; (Mean = 20.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) integer and half integer values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 128&#949; (Mean = 22.6&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 66.2&#949; (Mean = 12.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.8&#949; (Mean = 2.66&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 71.6&#949; (Mean = 9.47&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 13&#949; (Mean = 2.97&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_gamma_p_inv"></a><p class="title"><b>Table&#160;142.&#160;Error rates for gamma_p_inv</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for gamma_p_inv">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ incomplete gamma inverse(a, z) medium values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.993&#949; (Mean = 0.15&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 4.88&#949; (Mean = 0.868&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.8&#949; (Mean = 0.406&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.89&#949; (Mean = 0.466&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.71&#949; (Mean = 0.34&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ incomplete gamma inverse(a, z) large values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 0.816&#949; (Mean = 0.0874&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.509&#949; (Mean = 0.0447&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.509&#949; (Mean = 0.0447&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.924&#949; (Mean = 0.108&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ incomplete gamma inverse(a, z) small values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 441&#949; (Mean = 53.9&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 547&#949; (Mean = 61.6&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.17e+03&#949; (Mean = 1.45e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.09e+04&#949; (Mean = 1.3e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.1e+03&#949; (Mean = 131&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_gamma_p_inva"></a><p class="title"><b>Table&#160;143.&#160;Error rates for gamma_p_inva</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for gamma_p_inva">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Incomplete gamma inverses.
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.87&#949; (Mean = 1.15&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.08&#949; (Mean = 1.12&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.92&#949; (Mean = 1.03&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_gamma_q"></a><p class="title"><b>Table&#160;144.&#160;Error rates for gamma_q</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for gamma_q">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) medium values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.927&#949; (Mean = 0.035&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 201&#949; (Mean = 13.5&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 131&#949; (Mean = 12.7&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 32.3&#949; (Mean = 6.61&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 199&#949; (Mean = 26.6&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 23.7&#949; (Mean = 4&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) small values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> <span class="red">Max = 1.38e+10&#949; (Mean = 1.05e+09&#949;))</span><br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 65.6&#949; (Mean = 11&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.45&#949; (Mean = 0.885&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.45&#949; (Mean = 0.819&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.26&#949; (Mean = 0.74&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) large values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.71e+04&#949; (Mean = 2.16e+03&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.02e+03&#949; (Mean = 62.7&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.82e+03&#949; (Mean = 414&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.15e+04&#949; (Mean = 733&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 469&#949; (Mean = 31.5&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) integer and half integer values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 118&#949; (Mean = 12.5&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 138&#949; (Mean = 16.9&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.1&#949; (Mean = 2.07&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 54.7&#949; (Mean = 6.16&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.72&#949; (Mean = 1.48&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_gamma_q_inv"></a><p class="title"><b>Table&#160;145.&#160;Error rates for gamma_q_inv</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for gamma_q_inv">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ incomplete gamma inverse(a, z) medium values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.912&#949; (Mean = 0.154&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 4.66&#949; (Mean = 0.792&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.2&#949; (Mean = 0.627&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.2&#949; (Mean = 0.683&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.88&#949; (Mean = 0.469&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ incomplete gamma inverse(a, z) large values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.894&#949; (Mean = 0.0915&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 0.894&#949; (Mean = 0.106&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.814&#949; (Mean = 0.0856&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ incomplete gamma inverse(a, z) small values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 292&#949; (Mean = 36.4&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 415&#949; (Mean = 48.7&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.28e+03&#949; (Mean = 1.09e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.98e+03&#949; (Mean = 877&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 451&#949; (Mean = 64.7&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_gamma_q_inva"></a><p class="title"><b>Table&#160;146.&#160;Error rates for gamma_q_inva</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for gamma_q_inva">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Incomplete gamma inverses.
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.42&#949; (Mean = 1.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.86&#949; (Mean = 1.24&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.05&#949; (Mean = 1.08&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_hermite"></a><p class="title"><b>Table&#160;147.&#160;Error rates for hermite</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for hermite">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Hermite Polynomials
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.24&#949; (Mean = 2.07&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.24&#949; (Mean = 2.07&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.46&#949; (Mean = 1.41&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_heuman_lambda"></a><p class="title"><b>Table&#160;148.&#160;Error rates for heuman_lambda</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for heuman_lambda">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral Jacobi Zeta: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.89&#949; (Mean = 0.887&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.89&#949; (Mean = 0.887&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.08&#949; (Mean = 0.734&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral Heuman Lambda: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.82&#949; (Mean = 0.609&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.82&#949; (Mean = 0.608&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.12&#949; (Mean = 0.588&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ibeta"></a><p class="title"><b>Table&#160;149.&#160;Error rates for ibeta</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibeta">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 682&#949; (Mean = 32.6&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 22.9&#949; (Mean = 3.35&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.97&#949; (Mean = 2.09&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 21.3&#949; (Mean = 2.75&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.4&#949; (Mean = 1.93&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 690&#949; (Mean = 151&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 232&#949; (Mean = 27.9&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 50&#949; (Mean = 12.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 124&#949; (Mean = 18.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 106&#949; (Mean = 16.3&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Large and Diverse Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.26&#949; (Mean = 0.063&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 3.9e+05&#949; (Mean = 1.82e+04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ibeta_GSL_2_1_Incomplete_Beta_Function_Large_and_Diverse_Values">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 574&#949; (Mean = 49.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.96e+04&#949; (Mean = 997&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.98e+04&#949; (Mean = 2.07e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.32e+03&#949; (Mean = 68.5&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Integer Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 254&#949; (Mean = 50.9&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 62.2&#949; (Mean = 8.95&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.45&#949; (Mean = 0.814&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 44.5&#949; (Mean = 10.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.85&#949; (Mean = 0.791&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ibeta_inv"></a><p class="title"><b>Table&#160;150.&#160;Error rates for ibeta_inv</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibeta_inv">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse incomplete beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11&#949; (Mean = 0.345&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 1.14e+121&#949; (Mean
+ = 3.28e+119&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ibeta_inv_Rmath_3_2_3_Inverse_incomplete_beta">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.8e+04&#949; (Mean = 2.66e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.07e+04&#949; (Mean = 2.86e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.59e+03&#949; (Mean = 277&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ibeta_inva"></a><p class="title"><b>Table&#160;151.&#160;Error rates for ibeta_inva</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibeta_inva">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse incomplete beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.602&#949; (Mean = 0.0239&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 377&#949; (Mean = 24.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 438&#949; (Mean = 31.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 242&#949; (Mean = 22.9&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ibeta_invb"></a><p class="title"><b>Table&#160;152.&#160;Error rates for ibeta_invb</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibeta_invb">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse incomplete beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.765&#949; (Mean = 0.0422&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 407&#949; (Mean = 27.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 407&#949; (Mean = 24.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 409&#949; (Mean = 19.3&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ibetac"></a><p class="title"><b>Table&#160;153.&#160;Error rates for ibetac</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibetac">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 22.4&#949; (Mean = 3.67&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.6&#949; (Mean = 2.22&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 13.8&#949; (Mean = 2.68&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.94&#949; (Mean = 1.71&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Medium Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 204&#949; (Mean = 25.8&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 73.9&#949; (Mean = 11.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 132&#949; (Mean = 19.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 56.7&#949; (Mean = 14.3&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Large and Diverse Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.981&#949; (Mean = 0.0573&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 889&#949; (Mean = 68.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.45e+04&#949; (Mean = 1.32e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.31e+04&#949; (Mean = 2.04e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.88e+03&#949; (Mean = 82.7&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Incomplete Beta Function: Small Integer Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 84.6&#949; (Mean = 18&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.34&#949; (Mean = 1.11&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 107&#949; (Mean = 17.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.37&#949; (Mean = 1.03&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ibetac_inv"></a><p class="title"><b>Table&#160;154.&#160;Error rates for ibetac_inv</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibetac_inv">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse incomplete beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.977&#949; (Mean = 0.0976&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 3.01e+132&#949; (Mean
+ = 8.65e+130&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_ibetac_inv_Rmath_3_2_3_Inverse_incomplete_beta">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.88e+04&#949; (Mean = 3.16e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.05e+04&#949; (Mean = 3.33e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.93e+03&#949; (Mean = 198&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ibetac_inva"></a><p class="title"><b>Table&#160;155.&#160;Error rates for ibetac_inva</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibetac_inva">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse incomplete beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.683&#949; (Mean = 0.0314&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 382&#949; (Mean = 22.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 315&#949; (Mean = 23.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 408&#949; (Mean = 26.7&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_ibetac_invb"></a><p class="title"><b>Table&#160;156.&#160;Error rates for ibetac_invb</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for ibetac_invb">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Inverse incomplete beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.724&#949; (Mean = 0.0303&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 317&#949; (Mean = 19.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 369&#949; (Mean = 22.6&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 271&#949; (Mean = 16.4&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_jacobi_cn"></a><p class="title"><b>Table&#160;157.&#160;Error rates for jacobi_cn</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for jacobi_cn">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 17.3&#949; (Mean = 4.29&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_cn_GSL_2_1_Jacobi_Elliptic_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 71.6&#949; (Mean = 19.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 71.6&#949; (Mean = 19.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 45.8&#949; (Mean = 11.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.816&#949; (Mean = 0.0563&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 2.43&#949; (Mean = 0.803&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.68&#949; (Mean = 0.443&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.68&#949; (Mean = 0.454&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.83&#949; (Mean = 0.455&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Random Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 55.2&#949; (Mean = 1.64&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_cn_GSL_2_1_Jacobi_Elliptic_Random_Small_Values">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.4&#949; (Mean = 0.594&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.4&#949; (Mean = 0.602&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 26.2&#949; (Mean = 1.17&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Modulus near 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.919&#949; (Mean = 0.127&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_cn_GSL_2_1_Jacobi_Elliptic_Modulus_near_1">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 675&#949; (Mean = 87.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 675&#949; (Mean = 86.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 513&#949; (Mean = 126&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Large Phi
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.2&#949; (Mean = 0.927&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 5.92e+03&#949; (Mean = 477&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.97e+04&#949; (Mean = 1.9e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.97e+04&#949; (Mean = 1.9e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.27e+04&#949; (Mean = 1.93e+03&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_jacobi_dn"></a><p class="title"><b>Table&#160;158.&#160;Error rates for jacobi_dn</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for jacobi_dn">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.82&#949; (Mean = 1.18&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_dn_GSL_2_1_Jacobi_Elliptic_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 49&#949; (Mean = 14&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 49&#949; (Mean = 14&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 34.3&#949; (Mean = 8.71&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3&#949; (Mean = 0.61&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.53&#949; (Mean = 0.473&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.53&#949; (Mean = 0.481&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.52&#949; (Mean = 0.466&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Random Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.5&#949; (Mean = 0.0122&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.5&#949; (Mean = 0.391&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_dn_GSL_2_1_Jacobi_Elliptic_Random_Small_Values">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 22.4&#949; (Mean = 0.777&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 22.4&#949; (Mean = 0.763&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 16.1&#949; (Mean = 0.685&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Modulus near 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.28&#949; (Mean = 0.194&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_dn_GSL_2_1_Jacobi_Elliptic_Modulus_near_1">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.75e+03&#949; (Mean = 293&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.75e+03&#949; (Mean = 293&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.24e+03&#949; (Mean = 482&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Large Phi
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 14.1&#949; (Mean = 0.897&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 121&#949; (Mean = 22&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.82e+04&#949; (Mean = 1.79e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.82e+04&#949; (Mean = 1.79e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.67e+04&#949; (Mean = 1e+03&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_jacobi_sn"></a><p class="title"><b>Table&#160;159.&#160;Error rates for jacobi_sn</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for jacobi_sn">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 588&#949; (Mean = 146&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_sn_GSL_2_1_Jacobi_Elliptic_Mathworld_Data">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 341&#949; (Mean = 80.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 341&#949; (Mean = 80.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 481&#949; (Mean = 113&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.02&#949; (Mean = 1.07&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.01&#949; (Mean = 0.584&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.01&#949; (Mean = 0.593&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.92&#949; (Mean = 0.567&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Random Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 11.7&#949; (Mean = 1.65&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_sn_GSL_2_1_Jacobi_Elliptic_Random_Small_Values">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.99&#949; (Mean = 0.347&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.99&#949; (Mean = 0.347&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.11&#949; (Mean = 0.385&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Modulus near 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_jacobi_sn_GSL_2_1_Jacobi_Elliptic_Modulus_near_1">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 109&#949; (Mean = 7.35&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 109&#949; (Mean = 7.38&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 23.2&#949; (Mean = 1.85&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Jacobi Elliptic: Large Phi
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 12&#949; (Mean = 0.771&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 4.54e+04&#949; (Mean = 2.63e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.45e+04&#949; (Mean = 1.51e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.45e+04&#949; (Mean = 1.51e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.36e+04&#949; (Mean = 2.54e+03&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_jacobi_zeta"></a><p class="title"><b>Table&#160;160.&#160;Error rates for jacobi_zeta</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for jacobi_zeta">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Elliptic Integral Jacobi Zeta: Mathworld Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.66&#949; (Mean = 0.48&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.66&#949; (Mean = 0.48&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.52&#949; (Mean = 0.357&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral Jacobi Zeta: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.99&#949; (Mean = 0.824&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.96&#949; (Mean = 1.06&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.89&#949; (Mean = 0.824&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Elliptic Integral Jacobi Zeta: Large Phi Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.92&#949; (Mean = 0.951&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.05&#949; (Mean = 1.13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.52&#949; (Mean = 0.977&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_laguerre_n_m_x_"></a><p class="title"><b>Table&#160;161.&#160;Error rates for laguerre(n, m, x)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for laguerre(n, m, x)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Associated Laguerre Polynomials
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.84&#949; (Mean = 0.0358&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 434&#949; (Mean = 10.7&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 167&#949; (Mean = 6.38&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 206&#949; (Mean = 6.86&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 167&#949; (Mean = 6.38&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 434&#949; (Mean = 11.1&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_laguerre_n_x_"></a><p class="title"><b>Table&#160;162.&#160;Error rates for laguerre(n, x)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for laguerre(n, x)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Laguerre Polynomials
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.82&#949; (Mean = 0.408&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 3.1e+03&#949; (Mean = 185&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.39e+04&#949; (Mean = 828&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 4.2e+03&#949; (Mean = 251&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.39e+04&#949; (Mean = 828&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.1e+03&#949; (Mean = 185&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_legendre_p"></a><p class="title"><b>Table&#160;163.&#160;Error rates for legendre_p</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for legendre_p">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Legendre Polynomials: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.732&#949; (Mean = 0.0619&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 211&#949; (Mean = 20.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 69.2&#949; (Mean = 9.58&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 124&#949; (Mean = 13.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 69.2&#949; (Mean = 9.58&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 211&#949; (Mean = 20.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Legendre Polynomials: Large Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.632&#949; (Mean = 0.0693&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 300&#949; (Mean = 33.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 699&#949; (Mean = 59.6&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 343&#949; (Mean = 32.1&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 699&#949; (Mean = 59.6&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 300&#949; (Mean = 33.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_legendre_p_associated_"></a><p class="title"><b>Table&#160;164.&#160;Error rates for legendre_p (associated)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for legendre_p (associated)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Associated Legendre Polynomials: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.999&#949; (Mean = 0.05&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 121&#949; (Mean = 6.75&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_legendre_p_associated__GSL_2_1_Associated_Legendre_Polynomials_Small_Values">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 175&#949; (Mean = 9.88&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 175&#949; (Mean = 9.36&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_long_double_legendre_p_associated___cmath__Associated_Legendre_Polynomials_Small_Values">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 77.7&#949; (Mean = 5.59&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 121&#949; (Mean = 7.14&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_legendre_q"></a><p class="title"><b>Table&#160;165.&#160;Error rates for legendre_q</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for legendre_q">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Legendre Polynomials: Small Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.612&#949; (Mean = 0.0517&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 46.4&#949; (Mean = 7.46&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 50.9&#949; (Mean = 9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 50.9&#949; (Mean = 8.98&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 46.4&#949; (Mean = 7.32&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Legendre Polynomials: Large Values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.49&#949; (Mean = 0.202&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 4.6e+03&#949; (Mean = 366&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.98e+03&#949; (Mean = 478&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.98e+03&#949; (Mean = 478&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.6e+03&#949; (Mean = 366&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_lgamma"></a><p class="title"><b>Table&#160;166.&#160;Error rates for lgamma</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for lgamma">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ factorials
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 33.6&#949; (Mean = 2.78&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1.55&#949; (Mean = 0.592&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.991&#949; (Mean = 0.308&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.67&#949; (Mean = 0.487&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.67&#949; (Mean = 0.487&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.991&#949; (Mean = 0.383&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.36&#949; (Mean = 0.476&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.914&#949; (Mean = 0.175&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.958&#949; (Mean = 0.38&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near 0
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 5.21&#949; (Mean = 1.57&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.42&#949; (Mean = 0.566&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.964&#949; (Mean = 0.543&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.964&#949; (Mean = 0.543&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.42&#949; (Mean = 0.566&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.964&#949; (Mean = 0.543&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.964&#949; (Mean = 0.462&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.962&#949; (Mean = 0.372&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 442&#949; (Mean = 88.8&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 7.99e+04&#949; (Mean = 1.68e+04&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.948&#949; (Mean = 0.36&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.615&#949; (Mean = 0.096&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.615&#949; (Mean = 0.096&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.948&#949; (Mean = 0.36&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.71&#949; (Mean = 0.581&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.867&#949; (Mean = 0.468&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.906&#949; (Mean = 0.565&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near 2
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.17e+03&#949; (Mean = 274&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 2.63e+05&#949; (Mean = 5.84e+04&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.878&#949; (Mean = 0.242&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.741&#949; (Mean = 0.263&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.741&#949; (Mean = 0.263&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.878&#949; (Mean = 0.242&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.598&#949; (Mean = 0.235&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.591&#949; (Mean = 0.159&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.741&#949; (Mean = 0.473&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near -10
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 24.9&#949; (Mean = 4.6&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 4.22&#949; (Mean = 1.26&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.81&#949; (Mean = 1.01&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.997&#949; (Mean = 0.412&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.997&#949; (Mean = 0.412&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.81&#949; (Mean = 1.01&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 3.04&#949; (Mean = 1.01&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.22&#949; (Mean = 1.33&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.997&#949; (Mean = 0.444&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near -55
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 7.02&#949; (Mean = 1.47&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 250&#949; (Mean = 60.9&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.821&#949; (Mean = 0.513&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.58&#949; (Mean = 0.672&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.58&#949; (Mean = 0.672&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.59&#949; (Mean = 0.587&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.821&#949; (Mean = 0.674&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.821&#949; (Mean = 0.419&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 249&#949; (Mean = 43.1&#949;))
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_log1p"></a><p class="title"><b>Table&#160;167.&#160;Error rates for log1p</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for log1p">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Random test data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.818&#949; (Mean = 0.227&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.818&#949; (Mean = 0.227&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.818&#949; (Mean = 0.227&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.846&#949; (Mean = 0.153&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 0.846&#949; (Mean = 0.153&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.3&#949; (Mean = 0.66&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.818&#949; (Mean = 0.249&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.509&#949; (Mean = 0.057&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.509&#949; (Mean = 0.057&#949;))
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_non_central_beta_CDF"></a><p class="title"><b>Table&#160;168.&#160;Error rates for non central beta CDF</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for non central beta CDF">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Non Central Beta, medium parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.0649&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 1.46e+26&#949; (Mean
+ = 3.5e+24&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_beta_CDF_Rmath_3_2_3_Non_Central_Beta_medium_parameters">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 824&#949; (Mean = 27.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 832&#949; (Mean = 38.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 242&#949; (Mean = 31&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central Beta, large parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.18&#949; (Mean = 0.175&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 1.01e+36&#949; (Mean
+ = 1.19e+35&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_beta_CDF_Rmath_3_2_3_Non_Central_Beta_large_parameters">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.5e+04&#949; (Mean = 3.78e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.57e+04&#949; (Mean = 4.45e+03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.66e+03&#949; (Mean = 500&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_non_central_beta_CDF_complement"></a><p class="title"><b>Table&#160;169.&#160;Error rates for non central beta CDF complement</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for non central beta CDF complement">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Non Central Beta, medium parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.0936&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 7.5e+97&#949; (Mean
+ = 1.37e+96&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_beta_CDF_complement_Rmath_3_2_3_Non_Central_Beta_medium_parameters">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 396&#949; (Mean = 50.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 554&#949; (Mean = 57.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 624&#949; (Mean = 62.7&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central Beta, large parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.986&#949; (Mean = 0.188&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_beta_CDF_complement_Rmath_3_2_3_Non_Central_Beta_large_parameters">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.83e+03&#949; (Mean = 993&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.56e+03&#949; (Mean = 707&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.25e+04&#949; (Mean = 1.49e+03&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_non_central_chi_squared_CDF"></a><p class="title"><b>Table&#160;170.&#160;Error rates for non central chi squared CDF</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for non central chi squared CDF">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Non Central Chi Squared, medium parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.99&#949; (Mean = 0.0544&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 727&#949; (Mean = 121&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 46.5&#949; (Mean = 10.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 115&#949; (Mean = 13.9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 48.9&#949; (Mean = 10&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central Chi Squared, large parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.07&#949; (Mean = 0.102&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 3.27e+08&#949; (Mean
+ = 2.23e+07&#949;))</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.07e+03&#949; (Mean = 336&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.17e+03&#949; (Mean = 677&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.79e+03&#949; (Mean = 723&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_non_central_chi_squared_CDF_complement"></a><p class="title"><b>Table&#160;171.&#160;Error rates for non central chi squared CDF complement</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for non central chi squared CDF complement">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Non Central Chi Squared, medium parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.96&#949; (Mean = 0.0635&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_chi_squared_CDF_complement_Rmath_3_2_3_Non_Central_Chi_Squared_medium_parameters">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 107&#949; (Mean = 17.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 171&#949; (Mean = 22.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 98.6&#949; (Mean = 15.8&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central Chi Squared, large parameters
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.11&#949; (Mean = 0.278&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = +INF&#949; (Mean
+ = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_chi_squared_CDF_complement_Rmath_3_2_3_Non_Central_Chi_Squared_large_parameters">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.02e+03&#949; (Mean = 630&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.1e+03&#949; (Mean = 577&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.43e+03&#949; (Mean = 705&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_non_central_t_CDF"></a><p class="title"><b>Table&#160;172.&#160;Error rates for non central t CDF</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for non central t CDF">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Non Central T
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.796&#949; (Mean = 0.0691&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 5.28e+15&#949; (Mean
+ = 8.49e+14&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_t_CDF_Rmath_3_2_3_Non_Central_T">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 139&#949; (Mean = 31&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 145&#949; (Mean = 30.9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 135&#949; (Mean = 32.1&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central T (small non-centrality)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 2.09e+03&#949; (Mean = 244&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.86&#949; (Mean = 1.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.15&#949; (Mean = 2.13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.17&#949; (Mean = 1.45&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central T (large parameters)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 257&#949; (Mean = 72.1&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 2.46&#949; (Mean = 0.657&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.26e+05&#949; (Mean = 1.48e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.24e+05&#949; (Mean = 1.47e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 286&#949; (Mean = 62.8&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_non_central_t_CDF_complement"></a><p class="title"><b>Table&#160;173.&#160;Error rates for non central t CDF complement</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for non central t CDF complement">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Non Central T
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.707&#949; (Mean = 0.0497&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> <span class="red">Max = 6.19e+15&#949; (Mean
+ = 6.72e+14&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_non_central_t_CDF_complement_Rmath_3_2_3_Non_Central_T">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 201&#949; (Mean = 31.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 340&#949; (Mean = 43.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 154&#949; (Mean = 32.1&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central T (small non-centrality)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 1.87e+03&#949; (Mean = 263&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.5&#949; (Mean = 2.13&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 10.5&#949; (Mean = 2.39&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.6&#949; (Mean = 1.63&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non Central T (large parameters)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 478&#949; (Mean = 96.3&#949;)</span><br> <br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 2.24&#949; (Mean = 0.945&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.79e+05&#949; (Mean = 1.97e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.79e+05&#949; (Mean = 1.97e+05&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 227&#949; (Mean = 50.4&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_owens_t"></a><p class="title"><b>Table&#160;174.&#160;Error rates for owens_t</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for owens_t">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Owens T (medium small values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.34&#949; (Mean = 0.944&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.34&#949; (Mean = 0.911&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.37&#949; (Mean = 0.98&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Owens T (large and diverse values)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 49&#949; (Mean = 2.16&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 24.5&#949; (Mean = 1.39&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.78&#949; (Mean = 0.621&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_polygamma"></a><p class="title"><b>Table&#160;175.&#160;Error rates for polygamma</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for polygamma">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Mathematica Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.824&#949; (Mean = 0.0574&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 62.9&#949; (Mean = 12.8&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 108&#949; (Mean = 15.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.38&#949; (Mean = 1.84&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 34.3&#949; (Mean = 7.65&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9.32&#949; (Mean = 1.95&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Mathematica Data - large arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.0592&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 244&#949; (Mean = 32.8&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_GSL_2_1_Mathematica_Data_large_arguments">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = 1.71e+56&#949; (Mean = 1.01e+55&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_Rmath_3_2_3_Mathematica_Data_large_arguments">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.23&#949; (Mean = 0.323&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 11.1&#949; (Mean = 0.848&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 150&#949; (Mean = 13.9&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Mathematica Data - negative arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.516&#949; (Mean = 0.022&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 36.6&#949; (Mean = 3.04&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_GSL_2_1_Mathematica_Data_negative_arguments">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0&#949; (Mean = 0&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_Rmath_3_2_3_Mathematica_Data_negative_arguments">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 269&#949; (Mean = 87.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 269&#949; (Mean = 88.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 497&#949; (Mean = 129&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Mathematica Data - large negative arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.79&#949; (Mean = 0.197&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_GSL_2_1_Mathematica_Data_large_negative_arguments">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 0&#949; (Mean = 0&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_Rmath_3_2_3_Mathematica_Data_large_negative_arguments">And
+ other failures.</a>)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 155&#949; (Mean = 96.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 155&#949; (Mean = 96.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 162&#949; (Mean = 101&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Mathematica Data - small arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 15.2&#949; (Mean = 5.03&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 106&#949; (Mean = 20&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.33&#949; (Mean = 0.75&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.33&#949; (Mean = 0.75&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3&#949; (Mean = 0.496&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Mathematica Data - Large orders and other bug cases
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 151&#949; (Mean = 39.3&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_GSL_2_1_Mathematica_Data_Large_orders_and_other_bug_cases">And
+ other failures.</a>)<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ <span class="red">Max = +INF&#949; (Mean = +INF&#949;) <a class="link" href="index.html#errors_GNU_C_version_7_1_0_linux_double_polygamma_Rmath_3_2_3_Mathematica_Data_Large_orders_and_other_bug_cases">And
+ other failures.</a>)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 54.5&#949; (Mean = 13.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 145&#949; (Mean = 55.9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 200&#949; (Mean = 57.2&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_powm1"></a><p class="title"><b>Table&#160;176.&#160;Error rates for powm1</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for powm1">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ powm1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.06&#949; (Mean = 0.425&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.04&#949; (Mean = 0.493&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.88&#949; (Mean = 0.49&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.84&#949; (Mean = 0.486&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_sin_pi"></a><p class="title"><b>Table&#160;177.&#160;Error rates for sin_pi</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for sin_pi">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ sin_pi and cos_pi
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.335&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.336&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.99&#949; (Mean = 0.328&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ sin_pi and cos_pi near integers and half integers
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.976&#949; (Mean = 0.293&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.976&#949; (Mean = 0.293&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.996&#949; (Mean = 0.343&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_sph_bessel"></a><p class="title"><b>Table&#160;178.&#160;Error rates for sph_bessel</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for sph_bessel">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Bessel j: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 243&#949; (Mean = 13.3&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.91e+06&#949; (Mean = 1.09e+05&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.978&#949; (Mean = 0.0445&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.79e+03&#949; (Mean = 107&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 243&#949; (Mean = 33.7&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 245&#949; (Mean = 16.3&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_sph_bessel_prime"></a><p class="title"><b>Table&#160;179.&#160;Error rates for sph_bessel_prime</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for sph_bessel_prime">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Bessel j': Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.753&#949; (Mean = 0.0343&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 167&#949; (Mean = 12&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 167&#949; (Mean = 33.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 307&#949; (Mean = 25.2&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_sph_neumann"></a><p class="title"><b>Table&#160;180.&#160;Error rates for sph_neumann</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for sph_neumann">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ y: Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 234&#949; (Mean = 19.5&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.6e+06&#949; (Mean = 1.4e+05&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.995&#949; (Mean = 0.0665&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 8.5e+04&#949; (Mean = 5.33e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 234&#949; (Mean = 19.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 281&#949; (Mean = 31.1&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_sph_neumann_prime"></a><p class="title"><b>Table&#160;181.&#160;Error rates for sph_neumann_prime</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for sph_neumann_prime">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ y': Random Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.988&#949; (Mean = 0.0869&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 158&#949; (Mean = 18.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 158&#949; (Mean = 20.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 296&#949; (Mean = 25.6&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_spherical_harmonic_i"></a><p class="title"><b>Table&#160;182.&#160;Error rates for spherical_harmonic_i</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for spherical_harmonic_i">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Spherical Harmonics
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.36&#949; (Mean = 0.0765&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.89e+03&#949; (Mean = 108&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.03e+04&#949; (Mean = 327&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.27e+04&#949; (Mean = 725&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_spherical_harmonic_r"></a><p class="title"><b>Table&#160;183.&#160;Error rates for spherical_harmonic_r</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for spherical_harmonic_r">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Spherical Harmonics
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.58&#949; (Mean = 0.0707&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.89e+03&#949; (Mean = 108&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.03e+04&#949; (Mean = 327&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.27e+04&#949; (Mean = 725&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_sqrt1pm1"></a><p class="title"><b>Table&#160;184.&#160;Error rates for sqrt1pm1</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for sqrt1pm1">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ sqrt1pm1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.3&#949; (Mean = 0.404&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.33&#949; (Mean = 0.404&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.54&#949; (Mean = 0.563&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.35&#949; (Mean = 0.497&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_tgamma"></a><p class="title"><b>Table&#160;185.&#160;Error rates for tgamma</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for tgamma">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ factorials
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3.95&#949; (Mean = 0.783&#949;))<br> (<span class="emphasis"><em>Rmath
+ 3.2.3:</em></span> Max = 314&#949; (Mean = 93.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.67&#949; (Mean = 0.617&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.66&#949; (Mean = 0.584&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.66&#949; (Mean = 0.584&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 172&#949; (Mean = 41&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.85&#949; (Mean = 0.566&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 3.17&#949; (Mean = 0.928&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near 0
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.51&#949; (Mean = 1.92&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1&#949; (Mean = 0.335&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2&#949; (Mean = 0.608&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 1&#949; (Mean = 0.376&#949;))<br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 1&#949; (Mean = 0.376&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2&#949; (Mean = 0.647&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0.5&#949; (Mean = 0.0791&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.5&#949; (Mean = 0.635&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1&#949; (Mean = 0.405&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 4.41&#949; (Mean = 1.81&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1&#949; (Mean = 0.32&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.51&#949; (Mean = 1.02&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.918&#949; (Mean = 0.203&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.918&#949; (Mean = 0.203&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.01&#949; (Mean = 1.06&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1&#949; (Mean = 0.175&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.1&#949; (Mean = 0.59&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1&#949; (Mean = 0.4&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near 2
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 7.95&#949; (Mean = 3.12&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 1&#949; (Mean = 0.191&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.1&#949; (Mean = 1.55&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 0.558&#949; (Mean = 0.298&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.558&#949; (Mean = 0.298&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.01&#949; (Mean = 1.89&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2&#949; (Mean = 0.733&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;math.h&gt;:</em></span>
+ Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near -10
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 2.6&#949; (Mean = 1.05&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 34.9&#949; (Mean = 9.2&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.75&#949; (Mean = 0.895&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 2.26&#949; (Mean = 1.08&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 2.26&#949; (Mean = 1.08&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.75&#949; (Mean = 0.819&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.86&#949; (Mean = 0.881&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0.866&#949; (Mean = 0.445&#949;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ near -55
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 1.8&#949; (Mean = 0.782&#949;))<br> (<span class="emphasis"><em>Rmath 3.2.3:</em></span>
+ Max = 3.89e+04&#949; (Mean = 9.52e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.69&#949; (Mean = 1.09&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.79&#949; (Mean = 0.75&#949;))<br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 1.79&#949; (Mean = 0.75&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 98.5&#949; (Mean = 53.4&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.7&#949; (Mean = 1.35&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;math.h&gt;:</em></span> Max = 3.87e+04&#949; (Mean = 6.71e+03&#949;))
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_tgamma1pm1"></a><p class="title"><b>Table&#160;186.&#160;Error rates for tgamma1pm1</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for tgamma1pm1">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ tgamma1pm1(dz)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.12&#949; (Mean = 0.49&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.61&#949; (Mean = 0.84&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.31&#949; (Mean = 0.517&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_tgamma_delta_ratio"></a><p class="title"><b>Table&#160;187.&#160;Error rates for tgamma_delta_ratio</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for tgamma_delta_ratio">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ tgamma + small delta ratios
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.83&#949; (Mean = 1.3&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 15.4&#949; (Mean = 2.09&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.56&#949; (Mean = 1.31&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma + small delta ratios (negative delta)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.94&#949; (Mean = 1.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 18.3&#949; (Mean = 2.03&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.43&#949; (Mean = 1.42&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma + small integer ratios
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.96&#949; (Mean = 0.677&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.96&#949; (Mean = 0.677&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.74&#949; (Mean = 0.736&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma + small integer ratios (negative delta)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.62&#949; (Mean = 0.451&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.62&#949; (Mean = 0.451&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.15&#949; (Mean = 0.685&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ integer tgamma ratios
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.997&#949; (Mean = 0.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.997&#949; (Mean = 0.4&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.968&#949; (Mean = 0.386&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ integer tgamma ratios (negative delta)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.853&#949; (Mean = 0.176&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.853&#949; (Mean = 0.176&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.974&#949; (Mean = 0.175&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_tgamma_incomplete_"></a><p class="title"><b>Table&#160;188.&#160;Error rates for tgamma (incomplete)</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for tgamma (incomplete)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) medium values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 200&#949; (Mean = 13.3&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.47&#949; (Mean = 1.9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 412&#949; (Mean = 95.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 8.14&#949; (Mean = 1.76&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) small values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.753&#949; (Mean = 0.0474&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> <span class="red">Max = 1.38e+10&#949; (Mean
+ = 1.05e+09&#949;))</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.31&#949; (Mean = 0.775&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.13&#949; (Mean = 0.717&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.53&#949; (Mean = 0.66&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) integer and half integer values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 117&#949; (Mean = 12.5&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.52&#949; (Mean = 1.48&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 79.6&#949; (Mean = 20.9&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.16&#949; (Mean = 1.33&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_tgamma_lower"></a><p class="title"><b>Table&#160;189.&#160;Error rates for tgamma_lower</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for tgamma_lower">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) medium values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.833&#949; (Mean = 0.0315&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 0.833&#949; (Mean = 0.0315&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.79&#949; (Mean = 1.46&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 363&#949; (Mean = 63.8&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 5.62&#949; (Mean = 1.49&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) small values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.555&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.97&#949; (Mean = 0.558&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.57&#949; (Mean = 0.525&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma(a, z) integer and half integer values
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0&#949; (Mean = 0&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 4.83&#949; (Mean = 1.15&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 84.7&#949; (Mean = 17.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.69&#949; (Mean = 0.849&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_tgamma_ratio"></a><p class="title"><b>Table&#160;190.&#160;Error rates for tgamma_ratio</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for tgamma_ratio">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ tgamma ratios
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.694&#949; (Mean = 0.0347&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 2.99&#949; (Mean = 1.15&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 174&#949; (Mean = 61.2&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 3.28&#949; (Mean = 1.12&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_trigamma"></a><p class="title"><b>Table&#160;191.&#160;Error rates for trigamma</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for trigamma">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ Mathematica Data
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.105&#949;)</span><br> <br>
+ (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 1.34e+04&#949; (Mean = 1.49e+03&#949;))<br>
+ (<span class="emphasis"><em>Rmath 3.2.3:</em></span> Max = 1.34e+04&#949; (Mean = 1.51e+03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.28&#949; (Mean = 0.449&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1.28&#949; (Mean = 0.449&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 1&#949; (Mean = 0.382&#949;)</span>
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="special_function_error_rates_rep.all_the_tables.table_zeta"></a><p class="title"><b>Table&#160;192.&#160;Error rates for zeta</b></p>
+<div class="table-contents"><table class="table" summary="Error rates for zeta">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 7.1.0<br> linux<br> double
+ </p>
+ </th>
+<th>
+ <p>
+ Sun compiler version 0x5150<br> Sun Solaris<br> long double
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.1<br> Win32<br> double
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Zeta: Random values greater than 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.846&#949; (Mean = 0.0833&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 5.45&#949; (Mean = 1&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 8.69&#949; (Mean = 1.03&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.846&#949; (Mean = 0.0833&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.836&#949; (Mean = 0.093&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Zeta: Random values less than 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 7.03&#949; (Mean = 2.93&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 538&#949; (Mean = 59.3&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 137&#949; (Mean = 13.8&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 70.1&#949; (Mean = 17.1&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 6.84&#949; (Mean = 3.12&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Zeta: Values close to and greater than 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.995&#949; (Mean = 0.5&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 1.9e+06&#949; (Mean = 5.11e+05&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 7.73&#949; (Mean = 4.07&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.995&#949; (Mean = 0.5&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.994&#949; (Mean = 0.421&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Zeta: Values close to and less than 1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.508&#949;)</span><br> <br>
+ (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> Max = 8.53e+06&#949; (Mean = 1.87e+06&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 0.991&#949; (Mean = 0.28&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.998&#949; (Mean = 0.508&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0.991&#949; (Mean = 0.375&#949;)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Zeta: Integer arguments
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9&#949; (Mean = 3.06&#949;)</span><br> <br> (<span class="emphasis"><em>&lt;cmath&gt;:</em></span>
+ Max = 70.3&#949; (Mean = 17.4&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 0&#949; (Mean = 0&#949;)</span><br> <br> (<span class="emphasis"><em>GSL
+ 2.1:</em></span> Max = 3.75&#949; (Mean = 1.1&#949;))
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 28&#949; (Mean = 5.62&#949;)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">Max = 9&#949; (Mean = 3&#949;)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: March 09, 2018 at 13:43:44 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"></div>
+</body>
+</html>
diff --git a/src/boost/libs/math/reporting/accuracy/test_bessel_i.cpp b/src/boost/libs/math/reporting/accuracy/test_bessel_i.cpp
new file mode 100644
index 000000000..877dc9772
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_bessel_i.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_bessel_i.hpp"
+#include <boost/math/special_functions/bessel.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_bessel(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_bessel(0.0f, "float");
+ if(test_double)
+ test_bessel(0.0, "double");
+ if(test_long_double)
+ test_bessel(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_bessel(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_bessel_i_prime.cpp b/src/boost/libs/math/reporting/accuracy/test_bessel_i_prime.cpp
new file mode 100644
index 000000000..70a454d46
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_bessel_i_prime.cpp
@@ -0,0 +1,64 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
+#include "bindings.hpp"
+#include "../../test/test_bessel_i_prime.hpp"
+#include <boost/math/special_functions/bessel_prime.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_bessel(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_bessel(0.0f, "float");
+ if(test_double)
+ test_bessel(0.0, "double");
+ if(test_long_double)
+ test_bessel(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_bessel(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_bessel_j.cpp b/src/boost/libs/math/reporting/accuracy/test_bessel_j.cpp
new file mode 100644
index 000000000..dd4cef2b5
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_bessel_j.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_bessel_j.hpp"
+#include <boost/math/special_functions/bessel.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_bessel(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_bessel(0.0f, "float");
+ if(test_double)
+ test_bessel(0.0, "double");
+ if(test_long_double)
+ test_bessel(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_bessel(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_bessel_j_prime.cpp b/src/boost/libs/math/reporting/accuracy/test_bessel_j_prime.cpp
new file mode 100644
index 000000000..b39020cbf
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_bessel_j_prime.cpp
@@ -0,0 +1,64 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
+#include "bindings.hpp"
+#include "../../test/test_bessel_j_prime.hpp"
+#include <boost/math/special_functions/bessel_prime.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_bessel_prime(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_bessel_prime(0.0f, "float");
+ if(test_double)
+ test_bessel_prime(0.0, "double");
+ if(test_long_double)
+ test_bessel_prime(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_bessel_prime(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_bessel_k.cpp b/src/boost/libs/math/reporting/accuracy/test_bessel_k.cpp
new file mode 100644
index 000000000..010555d67
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_bessel_k.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_bessel_k.hpp"
+#include <boost/math/special_functions/bessel.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_bessel(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_bessel(0.0f, "float");
+ if(test_double)
+ test_bessel(0.0, "double");
+ if(test_long_double)
+ test_bessel(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_bessel(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_bessel_k_prime.cpp b/src/boost/libs/math/reporting/accuracy/test_bessel_k_prime.cpp
new file mode 100644
index 000000000..7678b56a4
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_bessel_k_prime.cpp
@@ -0,0 +1,64 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
+#include "bindings.hpp"
+#include "../../test/test_bessel_k_prime.hpp"
+#include <boost/math/special_functions/bessel_prime.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_bessel(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_bessel(0.0f, "float");
+ if(test_double)
+ test_bessel(0.0, "double");
+ if(test_long_double)
+ test_bessel(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_bessel(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_bessel_y.cpp b/src/boost/libs/math/reporting/accuracy/test_bessel_y.cpp
new file mode 100644
index 000000000..684a1bb51
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_bessel_y.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_bessel_y.hpp"
+#include <boost/math/special_functions/bessel.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_bessel(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_bessel(0.0f, "float");
+ if(test_double)
+ test_bessel(0.0, "double");
+ if(test_long_double)
+ test_bessel(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_bessel(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_bessel_y_prime.cpp b/src/boost/libs/math/reporting/accuracy/test_bessel_y_prime.cpp
new file mode 100644
index 000000000..eff8b8bf7
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_bessel_y_prime.cpp
@@ -0,0 +1,64 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
+#include "bindings.hpp"
+#include "../../test/test_bessel_y_prime.hpp"
+#include <boost/math/special_functions/bessel_prime.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_bessel_prime(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_bessel_prime(0.0f, "float");
+ if(test_double)
+ test_bessel_prime(0.0, "double");
+ if(test_long_double)
+ test_bessel_prime(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_bessel_prime(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_beta.cpp b/src/boost/libs/math/reporting/accuracy/test_beta.cpp
new file mode 100644
index 000000000..7c9dbb1ad
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_beta.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_beta.hpp"
+#include <boost/math/special_functions/beta.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_beta(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_beta(0.0f, "float");
+ if(test_double)
+ test_beta(0.0, "double");
+ if(test_long_double)
+ test_beta(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_beta(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_binomial_coeff.cpp b/src/boost/libs/math/reporting/accuracy/test_binomial_coeff.cpp
new file mode 100644
index 000000000..cd79e9c8f
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_binomial_coeff.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_binomial_coeff.hpp"
+#include <boost/math/special_functions/binomial.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_binomial(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_binomial(0.0f, "float");
+ if(test_double)
+ test_binomial(0.0, "double");
+ if(test_long_double)
+ test_binomial(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_binomial(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_carlson.cpp b/src/boost/libs/math/reporting/accuracy/test_carlson.cpp
new file mode 100644
index 000000000..3a23a6fc6
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_carlson.cpp
@@ -0,0 +1,67 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_carlson.hpp"
+#include <boost/math/special_functions/ellint_rc.hpp>
+#include <boost/math/special_functions/ellint_rg.hpp>
+#include <boost/math/special_functions/ellint_rf.hpp>
+#include <boost/math/special_functions/ellint_rd.hpp>
+#include <boost/math/special_functions/ellint_rj.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_spots(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_spots(0.0f, "float");
+ if(test_double)
+ test_spots(0.0, "double");
+ if(test_long_double)
+ test_spots(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_spots(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_cbrt.cpp b/src/boost/libs/math/reporting/accuracy/test_cbrt.cpp
new file mode 100644
index 000000000..35108c3e9
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_cbrt.cpp
@@ -0,0 +1,66 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/cbrt.hpp>
+#include "bindings.hpp"
+#include "../../test/test_cbrt.hpp"
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_cbrt(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_cbrt(0.0f, "float");
+ if(test_double)
+ test_cbrt(0.0, "double");
+ if(test_long_double)
+ test_cbrt(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_cbrt(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_digamma.cpp b/src/boost/libs/math/reporting/accuracy/test_digamma.cpp
new file mode 100644
index 000000000..a211bc66f
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_digamma.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_digamma.hpp"
+#include <boost/math/special_functions/digamma.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_digamma(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_digamma(0.0f, "float");
+ if(test_double)
+ test_digamma(0.0, "double");
+ if(test_long_double)
+ test_digamma(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_digamma(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_ellint_1.cpp b/src/boost/libs/math/reporting/accuracy/test_ellint_1.cpp
new file mode 100644
index 000000000..ab19f2725
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_ellint_1.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_ellint_1.hpp"
+#include <boost/math/special_functions/ellint_1.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_spots(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_spots(0.0f, "float");
+ if(test_double)
+ test_spots(0.0, "double");
+ if(test_long_double)
+ test_spots(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_spots(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_ellint_2.cpp b/src/boost/libs/math/reporting/accuracy/test_ellint_2.cpp
new file mode 100644
index 000000000..27b3f2177
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_ellint_2.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_ellint_2.hpp"
+#include <boost/math/special_functions/ellint_2.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_spots(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_spots(0.0f, "float");
+ if(test_double)
+ test_spots(0.0, "double");
+ if(test_long_double)
+ test_spots(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_spots(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_ellint_3.cpp b/src/boost/libs/math/reporting/accuracy/test_ellint_3.cpp
new file mode 100644
index 000000000..cfc5e98f9
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_ellint_3.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_ellint_3.hpp"
+#include <boost/math/special_functions/ellint_3.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_spots(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_spots(0.0f, "float");
+ if(test_double)
+ test_spots(0.0, "double");
+ if(test_long_double)
+ test_spots(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_spots(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_ellint_d.cpp b/src/boost/libs/math/reporting/accuracy/test_ellint_d.cpp
new file mode 100644
index 000000000..d06d0390d
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_ellint_d.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_ellint_d.hpp"
+#include <boost/math/special_functions/ellint_d.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_spots(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_spots(0.0f, "float");
+ if(test_double)
+ test_spots(0.0, "double");
+ if(test_long_double)
+ test_spots(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_spots(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_erf.cpp b/src/boost/libs/math/reporting/accuracy/test_erf.cpp
new file mode 100644
index 000000000..6edd6119c
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_erf.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <boost/math/special_functions/erf.hpp>
+#include "bindings.hpp"
+#include "../../test/test_erf.hpp"
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_erf(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_erf(0.0f, "float");
+ if(test_double)
+ test_erf(0.0, "double");
+ if(test_long_double)
+ test_erf(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_erf(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_expint.cpp b/src/boost/libs/math/reporting/accuracy/test_expint.cpp
new file mode 100644
index 000000000..adc3c406f
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_expint.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_expint.hpp"
+#include <boost/math/special_functions/expint.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_expint(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_expint(0.0f, "float");
+ if(test_double)
+ test_expint(0.0, "double");
+ if(test_long_double)
+ test_expint(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_expint(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_gamma.cpp b/src/boost/libs/math/reporting/accuracy/test_gamma.cpp
new file mode 100644
index 000000000..f7dbb3cb3
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_gamma.cpp
@@ -0,0 +1,66 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/gamma.hpp>
+#include "bindings.hpp"
+#include "../../test/test_gamma.hpp"
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_gamma(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_gamma(0.0f, "float");
+ if(test_double)
+ test_gamma(0.0, "double");
+ if(test_long_double)
+ test_gamma(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_cbrt(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_hermite.cpp b/src/boost/libs/math/reporting/accuracy/test_hermite.cpp
new file mode 100644
index 000000000..9c7c6d20b
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_hermite.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_hermite.hpp"
+#include <boost/math/special_functions/hermite.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_hermite(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_hermite(0.0f, "float");
+ if(test_double)
+ test_hermite(0.0, "double");
+ if(test_long_double)
+ test_hermite(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_hermite(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_heuman_lambda.cpp b/src/boost/libs/math/reporting/accuracy/test_heuman_lambda.cpp
new file mode 100644
index 000000000..64a61a7bd
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_heuman_lambda.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_heuman_lambda.hpp"
+#include <boost/math/special_functions/heuman_lambda.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_spots(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_spots(0.0f, "float");
+ if(test_double)
+ test_spots(0.0, "double");
+ if(test_long_double)
+ test_spots(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_spots(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_ibeta.cpp b/src/boost/libs/math/reporting/accuracy/test_ibeta.cpp
new file mode 100644
index 000000000..285049d4f
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_ibeta.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_ibeta.hpp"
+#include <boost/math/special_functions/beta.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_beta(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_beta(0.0f, "float");
+ if(test_double)
+ test_beta(0.0, "double");
+ if(test_long_double)
+ test_beta(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_beta(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_ibeta_inv.cpp b/src/boost/libs/math/reporting/accuracy/test_ibeta_inv.cpp
new file mode 100644
index 000000000..6abe55be4
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_ibeta_inv.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_ibeta_inv.hpp"
+#include <boost/math/special_functions/beta.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_beta(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_beta(0.0f, "float");
+ if(test_double)
+ test_beta(0.0, "double");
+ if(test_long_double)
+ test_beta(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_beta(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_ibeta_inva.cpp b/src/boost/libs/math/reporting/accuracy/test_ibeta_inva.cpp
new file mode 100644
index 000000000..ff2f290b1
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_ibeta_inva.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_ibeta_inv_ab.hpp"
+#include <boost/math/special_functions/beta.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_beta(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_beta(0.0f, "float");
+ if(test_double)
+ test_beta(0.0, "double");
+ if(test_long_double)
+ test_beta(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_beta(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_igamma.cpp b/src/boost/libs/math/reporting/accuracy/test_igamma.cpp
new file mode 100644
index 000000000..c4a4efccf
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_igamma.cpp
@@ -0,0 +1,61 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_igamma.hpp"
+#include <boost/math/special_functions/gamma.hpp>
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_gamma(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_gamma(0.0f, "float");
+ if(test_double)
+ test_gamma(0.0, "double");
+ if(test_long_double)
+ test_gamma(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_gamma(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_igamma_inv.cpp b/src/boost/libs/math/reporting/accuracy/test_igamma_inv.cpp
new file mode 100644
index 000000000..aa96cd34b
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_igamma_inv.cpp
@@ -0,0 +1,61 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_igamma_inv.hpp"
+#include <boost/math/special_functions/gamma.hpp>
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_gamma(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_gamma(0.0f, "float");
+ if(test_double)
+ test_gamma(0.0, "double");
+ if(test_long_double)
+ test_gamma(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_gamma(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_igamma_inva.cpp b/src/boost/libs/math/reporting/accuracy/test_igamma_inva.cpp
new file mode 100644
index 000000000..125b2141a
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_igamma_inva.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_igamma_inva.hpp"
+#include <boost/math/special_functions/gamma.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_gamma(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_gamma(0.0f, "float");
+ if(test_double)
+ test_gamma(0.0, "double");
+ if(test_long_double)
+ test_gamma(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_gamma(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_jacobi.cpp b/src/boost/libs/math/reporting/accuracy/test_jacobi.cpp
new file mode 100644
index 000000000..4c9650ae0
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_jacobi.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_jacobi.hpp"
+#include <boost/math/special_functions/jacobi_elliptic.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_spots(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_spots(0.0f, "float");
+ if(test_double)
+ test_spots(0.0, "double");
+ if(test_long_double)
+ test_spots(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_spots(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_jacobi_zeta.cpp b/src/boost/libs/math/reporting/accuracy/test_jacobi_zeta.cpp
new file mode 100644
index 000000000..7e31f1e5e
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_jacobi_zeta.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_jacobi_zeta.hpp"
+#include <boost/math/special_functions/jacobi_zeta.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_spots(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_spots(0.0f, "float");
+ if(test_double)
+ test_spots(0.0, "double");
+ if(test_long_double)
+ test_spots(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_spots(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_laguerre.cpp b/src/boost/libs/math/reporting/accuracy/test_laguerre.cpp
new file mode 100644
index 000000000..b59891bb3
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_laguerre.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_laguerre.hpp"
+#include <boost/math/special_functions/laguerre.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_laguerre(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_laguerre(0.0f, "float");
+ if(test_double)
+ test_laguerre(0.0, "double");
+ if(test_long_double)
+ test_laguerre(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_laguerre(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_legendre.cpp b/src/boost/libs/math/reporting/accuracy/test_legendre.cpp
new file mode 100644
index 000000000..4b080fb0a
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_legendre.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_legendre.hpp"
+#include <boost/math/special_functions/legendre.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_legendre_p(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_legendre_p(0.0f, "float");
+ if(test_double)
+ test_legendre_p(0.0, "double");
+ if(test_long_double)
+ test_legendre_p(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_legendre_p(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_log1p_expm1.cpp b/src/boost/libs/math/reporting/accuracy/test_log1p_expm1.cpp
new file mode 100644
index 000000000..24016e385
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_log1p_expm1.cpp
@@ -0,0 +1,67 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
+#include "bindings.hpp"
+#include "../../test/log1p_expm1_test.hpp"
+#include <boost/math/special_functions/expm1.hpp>
+#include <boost/math/special_functions/log1p.hpp>
+#define BOOST_TEST_MAIN
+#include <boost/test/unit_test.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test(0.0f, "float");
+ if(test_double)
+ test(0.0, "double");
+ if(test_long_double)
+ test(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_nc_beta.cpp b/src/boost/libs/math/reporting/accuracy/test_nc_beta.cpp
new file mode 100644
index 000000000..6a23b923e
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_nc_beta.cpp
@@ -0,0 +1,65 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#define BOOST_TEST_MAIN
+#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
+#include "bindings.hpp"
+#include "../../test/test_nc_beta.hpp"
+#include <boost/test/unit_test.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_accuracy(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_accuracy(0.0f, "float");
+ if(test_double)
+ test_accuracy(0.0, "double");
+ if(test_long_double)
+ test_accuracy(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_accuracy(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_nc_chi_squared.cpp b/src/boost/libs/math/reporting/accuracy/test_nc_chi_squared.cpp
new file mode 100644
index 000000000..03e226443
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_nc_chi_squared.cpp
@@ -0,0 +1,65 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#define BOOST_TEST_MAIN
+#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
+#include "bindings.hpp"
+#include "../../test/test_nc_chi_squared.hpp"
+#include <boost/test/unit_test.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_accuracy(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_accuracy(0.0f, "float");
+ if(test_double)
+ test_accuracy(0.0, "double");
+ if(test_long_double)
+ test_accuracy(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_accuracy(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_nc_t.cpp b/src/boost/libs/math/reporting/accuracy/test_nc_t.cpp
new file mode 100644
index 000000000..cf6be89a5
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_nc_t.cpp
@@ -0,0 +1,65 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#define BOOST_TEST_MAIN
+#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
+#include "bindings.hpp"
+#include "../../test/test_nc_t.hpp"
+#include <boost/test/unit_test.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_accuracy(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_accuracy(0.0f, "float");
+ if(test_double)
+ test_accuracy(0.0, "double");
+ if(test_long_double)
+ test_accuracy(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_accuracy(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_owens_t.cpp b/src/boost/libs/math/reporting/accuracy/test_owens_t.cpp
new file mode 100644
index 000000000..4aa790cab
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_owens_t.cpp
@@ -0,0 +1,65 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#define BOOST_TEST_MAIN
+#include "bindings.hpp"
+#include "../../test/test_owens_t.hpp"
+#include <boost/math/special_functions/owens_t.hpp> // for owens_t function.
+#include <boost/test/unit_test.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_owens_t(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_owens_t(0.0f, "float");
+ if(test_double)
+ test_owens_t(0.0, "double");
+ if(test_long_double)
+ test_owens_t(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_owens_t(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_polygamma.cpp b/src/boost/libs/math/reporting/accuracy/test_polygamma.cpp
new file mode 100644
index 000000000..e0447fe38
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_polygamma.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_polygamma.hpp"
+#include <boost/math/special_functions/polygamma.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_polygamma(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_polygamma(0.0f, "float");
+ if(test_double)
+ test_polygamma(0.0, "double");
+ if(test_long_double)
+ test_polygamma(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_polygamma(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_powm1.cpp b/src/boost/libs/math/reporting/accuracy/test_powm1.cpp
new file mode 100644
index 000000000..378a11d32
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_powm1.cpp
@@ -0,0 +1,66 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#define BOOST_TEST_MAIN
+#include "bindings.hpp"
+#include "../../test/powm1_sqrtp1m1_test.hpp"
+#include <boost/math/special_functions/powm1.hpp>
+#include <boost/math/special_functions/sqrt1pm1.hpp>
+#include <boost/test/unit_test.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_powm1_sqrtp1m1(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_powm1_sqrtp1m1(0.0f, "float");
+ if(test_double)
+ test_powm1_sqrtp1m1(0.0, "double");
+ if(test_long_double)
+ test_powm1_sqrtp1m1(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_powm1_sqrtp1m1(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_spherical_harmonic.cpp b/src/boost/libs/math/reporting/accuracy/test_spherical_harmonic.cpp
new file mode 100644
index 000000000..fa1ebef4e
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_spherical_harmonic.cpp
@@ -0,0 +1,65 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_spherical_harmonic.hpp"
+#include <boost/math/special_functions/spherical_harmonic.hpp>
+#define BOOST_TEST_MAIN
+#include <boost/test/unit_test.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_spherical_harmonic(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_spherical_harmonic(0.0f, "float");
+ if(test_double)
+ test_spherical_harmonic(0.0, "double");
+ if(test_long_double)
+ test_spherical_harmonic(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_spherical_harmonic(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_tgamma_ratio.cpp b/src/boost/libs/math/reporting/accuracy/test_tgamma_ratio.cpp
new file mode 100644
index 000000000..19673b374
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_tgamma_ratio.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_tgamma_ratio.hpp"
+#include <boost/math/special_functions/gamma.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_tgamma_ratio(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_tgamma_ratio(0.0f, "float");
+ if(test_double)
+ test_tgamma_ratio(0.0, "double");
+ if(test_long_double)
+ test_tgamma_ratio(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_tgamma_ratio(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_trig.cpp b/src/boost/libs/math/reporting/accuracy/test_trig.cpp
new file mode 100644
index 000000000..f5095179a
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_trig.cpp
@@ -0,0 +1,64 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_trig.hpp"
+#include <boost/math/special_functions/sin_pi.hpp>
+#include <boost/math/special_functions/cos_pi.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_trig(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_trig(0.0f, "float");
+ if(test_double)
+ test_trig(0.0, "double");
+ if(test_long_double)
+ test_trig(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_trig(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_trigamma.cpp b/src/boost/libs/math/reporting/accuracy/test_trigamma.cpp
new file mode 100644
index 000000000..33a2d063b
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_trigamma.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_trigamma.hpp"
+#include <boost/math/special_functions/trigamma.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_trigamma(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_trigamma(0.0f, "float");
+ if(test_double)
+ test_trigamma(0.0, "double");
+ if(test_long_double)
+ test_trigamma(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_trigamma(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/test_zeta.cpp b/src/boost/libs/math/reporting/accuracy/test_zeta.cpp
new file mode 100644
index 000000000..619d4350c
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/test_zeta.cpp
@@ -0,0 +1,63 @@
+// Copyright John Maddock 2006-15.
+// Copyright Paul A. Bristow 2007
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include "bindings.hpp"
+#include "../../test/test_zeta.hpp"
+#include <boost/math/special_functions/zeta.hpp>
+
+BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(test_main, 10000);
+
+BOOST_AUTO_TEST_CASE(test_main)
+{
+ BOOST_MATH_CONTROL_FP;
+
+ error_stream_replacer rep;
+
+#ifdef TYPE_TO_TEST
+
+ test_zeta(static_cast<TYPE_TO_TEST>(0), NAME_OF_TYPE_TO_TEST);
+
+#else
+ bool test_float = false;
+ bool test_double = false;
+ bool test_long_double = false;
+
+ if(std::numeric_limits<long double>::digits == std::numeric_limits<double>::digits)
+ {
+ //
+ // Don't bother with long double, it's the same as double:
+ //
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ test_double = true;
+ }
+ else
+ {
+ if(BOOST_MATH_PROMOTE_FLOAT_POLICY == false)
+ test_float = true;
+ if(BOOST_MATH_PROMOTE_DOUBLE_POLICY == false)
+ test_double = true;
+ test_long_double = true;
+ }
+
+#ifdef ALWAYS_TEST_DOUBLE
+ test_double = true;
+#endif
+
+ if(test_float)
+ test_zeta(0.0f, "float");
+ if(test_double)
+ test_zeta(0.0, "double");
+ if(test_long_double)
+ test_zeta(0.0L, "long double");
+#ifdef BOOST_MATH_USE_FLOAT128
+ //test_zeta(0.0Q, "__float128");
+#endif
+
+
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/accuracy/third_party/cephes_double/readme.txt b/src/boost/libs/math/reporting/accuracy/third_party/cephes_double/readme.txt
new file mode 100644
index 000000000..f5f49d0b1
--- /dev/null
+++ b/src/boost/libs/math/reporting/accuracy/third_party/cephes_double/readme.txt
@@ -0,0 +1,7 @@
+Place the source for the Cephes double precision library here if you want bjam to
+build and test it when reporting accuracy results.
+
+Copyright 2015 John Maddock and Paul A. Bristow.
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt).
diff --git a/src/boost/libs/math/reporting/performance/Jamfile.v2 b/src/boost/libs/math/reporting/performance/Jamfile.v2
new file mode 100644
index 000000000..6ea5bc8a2
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/Jamfile.v2
@@ -0,0 +1,188 @@
+# Copyright Daryle Walker, Hubert Holin, John Maddock 2006 - 2007
+# copyright Paul A. Bristow 2006 - 2010
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt.
+# \math_toolkit\libs\math\test\jamfile.v2
+# Runs all math toolkit tests, functions & distributions,
+# and build math examples.
+
+# bring in the rules for testing
+import testing ;
+import modules ;
+import path ;
+import pch ;
+import ../../../config/checks/config : requires ;
+using quickbook ;
+using auto-index ;
+
+import ../../../predef/check/predef
+ : check require
+ : predef-check predef-require ;
+
+project
+ : requirements
+ <include>../../include_private
+ ;
+
+if $(is_unix)
+{
+ local osname = [ SHELL uname ] ;
+
+ switch $(osname)
+ {
+ case "Sun*" : OTHERFLAGS = "-lpthread -lrt" ;
+ case "*BSD*" : OTHERFLAGS = "-lpthread" ;
+ }
+}
+
+#
+# Configuration first:
+#
+lib gsl ;
+lib gslcblas ;
+lib Rmath ;
+obj has_libstdcxx_tr1 : ../accuracy/has_libstdcxx_tr1.cpp ;
+explicit has_libstdcxx_tr1 ;
+obj has_c99_cmath : has_c99_cmath.cpp ;
+explicit has_c99_cmath ;
+exe has_gsl : has_gsl.cpp gsl gslcblas ;
+explicit has_gsl ;
+exe has_rmath : has_rmath.cpp Rmath ;
+explicit has_rmath ;
+obj is_intel_win : is_intel_win.cpp ;
+explicit is_intel_win ;
+
+CEPHES_SOURCE = acosh.c airy.c asin.c asinh.c atan.c atanh.c bdtr.c beta.c
+btdtr.c cbrt.c chbevl.c chdtr.c clog.c cmplx.c const.c
+cosh.c dawsn.c drand.c ei.c ellie.c ellik.c ellpe.c ellpj.c ellpk.c
+exp.c exp10.c exp2.c expn.c expx2.c fabs.c fac.c fdtr.c
+fresnl.c gamma.c gdtr.c hyp2f1.c hyperg.c i0.c i1.c igami.c incbet.c
+incbi.c igam.c isnan.c iv.c j0.c j1.c jn.c jv.c k0.c k1.c kn.c kolmogorov.c
+log.c log2.c log10.c lrand.c nbdtr.c ndtr.c ndtri.c pdtr.c planck.c
+polevl.c polmisc.c polylog.c polyn.c pow.c powi.c psi.c rgamma.c round.c
+shichi.c sici.c sin.c sindg.c sinh.c spence.c stdtr.c struve.c
+tan.c tandg.c tanh.c unity.c yn.c zeta.c zetac.c
+sqrt.c floor.c setprec.c mtherr.c ;
+
+DCDFLIB_SOURCE = dcdflib.c ipmpar.c ;
+
+path-constant here : . ;
+make $(here)/third_party/cephes_double/acosh.c : : @check_exists ;
+make $(here)/third_party/dcdflib/dcdflib.c : : @check_exists ;
+actions check_exists
+{
+ stat $(<)
+}
+explicit $(here)/third_party/cephes_double/acosh.c ;
+explicit $(here)/third_party/dcdflib/dcdflib.c ;
+
+lib cephes_double : $(here)/third_party/cephes_double/$(CEPHES_SOURCE)
+ :
+ release
+ <link>static
+ [ check-target-builds $(here)/third_party/cephes_double/acosh.c : : <build>no ]
+ ;
+
+explicit cephes_double ;
+
+lib dcdflib : $(here)/third_party/dcdflib/$(DCDFLIB_SOURCE)
+ :
+ release
+ <link>static
+ [ check-target-builds $(here)/third_party/dcdflib/dcdflib.c : : <build>no ]
+ ;
+
+explicit dcdflib ;
+
+obj table_helper : table_helper.cpp ;
+
+rule all-tests {
+ local result ;
+ for local source in [ glob test*.cpp ]
+ {
+ result += [ run $(source) /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : release <include>../../test
+ [ check-target-builds ../accuracy//has_c99_cmath : <define>TEST_C99 ]
+ [ check-target-builds has_libstdcxx_tr1 : <define>TEST_LIBSTDCXX ]
+ [ check-target-builds ../accuracy//has_gsl : <define>TEST_GSL <source>gsl <source>gslcblas ]
+ [ check-target-builds ../accuracy//has_rmath : <define>TEST_RMATH <source>Rmath ]
+ # [ check-target-builds is_intel_win : <build>no : ]
+ [ check-target-builds $(here)/third_party/dcdflib/dcdflib.c : <define>TEST_DCDFLIB <source>dcdflib ]
+ <target-os>linux:<linkflags>-lpthread <target-os>linux:<linkflags>-lrt
+ #<toolset>msvc:<address-model>64
+ ] ;
+ }
+ return $(result) ;
+}
+
+#
+# Special cases to test different compiler options,
+# cbrt first as an example of a trivial function:
+#
+run test_cbrt.cpp /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : debug <define>COMPILER_COMPARISON_TABLES [ predef-require "BOOST_COMP_MSVC" ] <address-model>32 : test_cbrt_msvc_debug ;
+run test_cbrt.cpp /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : release <define>COMPILER_COMPARISON_TABLES [ predef-require "BOOST_COMP_MSVC" ] <cxxflags>-Ox <address-model>32 : test_cbrt_msvc_release_32 ;
+run test_cbrt.cpp /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : release <define>COMPILER_COMPARISON_TABLES [ predef-require "BOOST_COMP_MSVC" ] <cxxflags>-Ox <address-model>64 : test_cbrt_msvc_release_64 ;
+run test_cbrt.cpp /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : release <define>COMPILER_COMPARISON_TABLES [ check-target-builds is_intel_win : : <build>no ] <toolset>intel:<cxxflags>-Ox <address-model>64 : test_cbrt_intel_release ;
+#
+# Now jn as a little more complex:
+#
+run test_jn.cpp /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : debug <define>COMPILER_COMPARISON_TABLES <include>../../test [ predef-require "BOOST_COMP_MSVC" ] <address-model>32 : test_jn_msvc_debug ;
+run test_jn.cpp /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : release <define>COMPILER_COMPARISON_TABLES <include>../../test [ predef-require "BOOST_COMP_MSVC" ] <cxxflags>-Ox <address-model>32 : test_jn_msvc_release_32 ;
+run test_jn.cpp /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : release <define>COMPILER_COMPARISON_TABLES <include>../../test [ predef-require "BOOST_COMP_MSVC" ] <cxxflags>-Ox <address-model>64 : test_jn_msvc_release_64 ;
+run test_jn.cpp /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : release <define>COMPILER_COMPARISON_TABLES <include>../../test [ check-target-builds is_intel_win : : <build>no ] <address-model>64 : test_jn_intel_release ;
+#
+# Then something really expensive, like the inverse-incomplete-beta:
+#
+run test_ibeta_inv.cpp /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : debug <define>COMPILER_COMPARISON_TABLES <include>../../test [ predef-require "BOOST_COMP_MSVC" ] <address-model>32 : test_ibeta_inv_msvc_debug ;
+run test_ibeta_inv.cpp /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : release <define>COMPILER_COMPARISON_TABLES <include>../../test [ predef-require "BOOST_COMP_MSVC" ] <cxxflags>-Ox <address-model>32 : test_ibeta_inv_msvc_release_32 ;
+run test_ibeta_inv.cpp /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : release <define>COMPILER_COMPARISON_TABLES <include>../../test [ predef-require "BOOST_COMP_MSVC" ] <cxxflags>-Ox <address-model>64 : test_ibeta_inv_msvc_release_64 ;
+run test_ibeta_inv.cpp /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem table_helper
+ : : : release <define>COMPILER_COMPARISON_TABLES <include>../../test [ check-target-builds is_intel_win : : <build>no ] <toolset>intel:<cxxflags>-Ox <address-model>64 : test_ibeta_inv_intel_release ;
+
+test-suite report_gen : [ all-tests ] test_cbrt_msvc_debug test_cbrt_msvc_release_32 test_cbrt_msvc_release_64 test_cbrt_intel_release
+ test_jn_msvc_debug test_jn_msvc_release_32 test_jn_msvc_release_64 test_jn_intel_release test_ibeta_inv_msvc_debug
+ test_ibeta_inv_msvc_release_32 test_ibeta_inv_msvc_release_64 test_ibeta_inv_intel_release ;
+
+path-constant images_location : html ;
+path-constant here : . ;
+
+xml report : doc/report.qbk : <dependency>report_gen ;
+boostbook standalone
+ :
+ report
+ :
+ # Path for links to Boost:
+ <xsl:param>boost.root=../../../../..
+
+ # Some general style settings:
+ <xsl:param>table.footnote.number.format=1
+ <xsl:param>footnote.number.format=1
+ <xsl:param>html.stylesheet=boostbook.css
+
+ # HTML options first:
+ # Use graphics not text for navigation:
+ <xsl:param>navig.graphics=1
+ # How far down we chunk nested sections, basically all of them:
+ <xsl:param>chunk.section.depth=0
+ # Don't put the first section on the same page as the TOC:
+ <xsl:param>chunk.first.sections=0
+ # How far down sections get TOC's
+ <xsl:param>toc.section.depth=2
+ # Max depth in each TOC:
+ <xsl:param>toc.max.depth=4
+ # How far down we go with TOC's
+ <xsl:param>generate.section.toc.level=10
+ ;
+
diff --git a/src/boost/libs/math/reporting/performance/fibonacci.hpp b/src/boost/libs/math/reporting/performance/fibonacci.hpp
new file mode 100644
index 000000000..cc5895b8f
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/fibonacci.hpp
@@ -0,0 +1,1245 @@
+// Copyright (c) 2015 John Maddock
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#pragma once
+
+#include <vector>
+#include <boost/multiprecision/cpp_int.hpp>
+#include <boost/lexical_cast.hpp>
+
+template <class T>
+std::vector<T> const& fibonacci_numbers(const boost::integral_constant<int, 16>&)
+{
+ static const boost::uint16_t numbers[] = {
+ static_cast<boost::uint16_t>(21u),
+ static_cast<boost::uint16_t>(34u),
+ static_cast<boost::uint16_t>(55u),
+ static_cast<boost::uint16_t>(89u),
+ static_cast<boost::uint16_t>(144u),
+ static_cast<boost::uint16_t>(233u),
+ static_cast<boost::uint16_t>(377u),
+ static_cast<boost::uint16_t>(610u),
+ static_cast<boost::uint16_t>(987u),
+ static_cast<boost::uint16_t>(1597u),
+ static_cast<boost::uint16_t>(2584u),
+ static_cast<boost::uint16_t>(4181u),
+ static_cast<boost::uint16_t>(6765u),
+ static_cast<boost::uint16_t>(17711u),
+ static_cast<boost::uint16_t>(10946u),
+ static_cast<boost::uint16_t>(17711u),
+ static_cast<boost::uint16_t>(28657u),
+ static_cast<boost::uint16_t>(46368u)
+ };
+ static const std::vector<T> data(numbers, numbers + sizeof(numbers) / sizeof(numbers[0]));
+
+ return data;
+}
+
+template <class T>
+std::vector<T> const& fibonacci_numbers(const boost::integral_constant<int, 32>&)
+{
+ static const boost::uint32_t numbers[] = {
+ 21u,
+ 34u,
+ 55u,
+ 89u,
+ 144u,
+ 233u,
+ 377u,
+ 610u,
+ 987u,
+ 1597u,
+ 2584u,
+ 4181u,
+ 6765u,
+ 10946u,
+ 17711u,
+ 28657u,
+ 46368u,
+ 75025u,
+ 121393u,
+ 196418u,
+ 317811u,
+ 514229u,
+ 832040u,
+ 1346269u,
+ 2178309u,
+ 3524578u,
+ 5702887u,
+ 9227465u,
+ 14930352u,
+ 24157817u,
+ 39088169u,
+ 63245986u,
+ 102334155u,
+ 165580141u,
+ 267914296u,
+ 433494437u,
+ 701408733u,
+ 1134903170u,
+ 1836311903u,
+ 2971215073u
+ };
+ static const std::vector<T> data(numbers, numbers + sizeof(numbers) / sizeof(numbers[0]));
+
+ return data;
+}
+
+template <class T>
+std::vector<T> const& fibonacci_numbers(const boost::integral_constant<int, 64>&)
+{
+ static const boost::uint64_t numbers[] = {
+ 21uLL,
+ 34uLL,
+ 55uLL,
+ 89uLL,
+ 144uLL,
+ 233uLL,
+ 377uLL,
+ 610uLL,
+ 987uLL,
+ 1597uLL,
+ 2584uLL,
+ 4181uLL,
+ 6765uLL,
+ 10946uLL,
+ 17711uLL,
+ 28657uLL,
+ 46368uLL,
+ 75025uLL,
+ 121393uLL,
+ 196418uLL,
+ 317811uLL,
+ 514229uLL,
+ 832040uLL,
+ 1346269uLL,
+ 2178309uLL,
+ 3524578uLL,
+ 5702887uLL,
+ 9227465uLL,
+ 14930352uLL,
+ 24157817uLL,
+ 39088169uLL,
+ 63245986uLL,
+ 102334155uLL,
+ 165580141uLL,
+ 267914296uLL,
+ 433494437uLL,
+ 701408733uLL,
+ 1134903170uLL,
+ 1836311903uLL,
+ 2971215073uLL,
+ 4807526976uLL,
+ 7778742049uLL,
+ 12586269025uLL,
+ 20365011074uLL,
+ 32951280099uLL,
+ 53316291173uLL,
+ 86267571272uLL,
+ 139583862445uLL,
+ 225851433717uLL,
+ 365435296162uLL,
+ 591286729879uLL,
+ 956722026041uLL,
+ 1548008755920uLL,
+ 2504730781961uLL,
+ 4052739537881uLL,
+ 6557470319842uLL,
+ 10610209857723uLL,
+ 17167680177565uLL,
+ 27777890035288uLL,
+ 44945570212853uLL,
+ 72723460248141uLL,
+ 117669030460994uLL,
+ 190392490709135uLL,
+ 308061521170129uLL,
+ 498454011879264uLL,
+ 806515533049393uLL,
+ 1304969544928657uLL,
+ 2111485077978050uLL,
+ 3416454622906707uLL,
+ 5527939700884757uLL,
+ 8944394323791464uLL,
+ 14472334024676221uLL,
+ 23416728348467685uLL,
+ 37889062373143906uLL,
+ 61305790721611591uLL,
+ 99194853094755497uLL,
+ 160500643816367088uLL,
+ 259695496911122585uLL,
+ 420196140727489673uLL,
+ 679891637638612258uLL,
+ 1100087778366101931uLL,
+ 1779979416004714189uLL,
+ 2880067194370816120uLL,
+ 4660046610375530309uLL,
+ 7540113804746346429uLL,
+ 12200160415121876738uLL,
+ };
+ static const std::vector<T> data(numbers, numbers + sizeof(numbers) / sizeof(numbers[0]));
+
+ return data;
+}
+
+template <class T>
+std::vector<T> const& fibonacci_numbers(const boost::integral_constant<int, 0>&)
+{
+ static const T numbers[] = {
+ boost::lexical_cast<T>("21"),
+ boost::lexical_cast<T>("34"),
+ boost::lexical_cast<T>("55"),
+ boost::lexical_cast<T>("89"),
+ boost::lexical_cast<T>("144"),
+ boost::lexical_cast<T>("233"),
+ boost::lexical_cast<T>("377"),
+ boost::lexical_cast<T>("610"),
+ boost::lexical_cast<T>("987"),
+ boost::lexical_cast<T>("1597"),
+ boost::lexical_cast<T>("2584"),
+ boost::lexical_cast<T>("4181"),
+ boost::lexical_cast<T>("6765"),
+ boost::lexical_cast<T>("10946"),
+ boost::lexical_cast<T>("17711"),
+ boost::lexical_cast<T>("28657"),
+ boost::lexical_cast<T>("46368"),
+ boost::lexical_cast<T>("75025"),
+ boost::lexical_cast<T>("121393"),
+ boost::lexical_cast<T>("196418"),
+ boost::lexical_cast<T>("317811"),
+ boost::lexical_cast<T>("514229"),
+ boost::lexical_cast<T>("832040"),
+ boost::lexical_cast<T>("1346269"),
+ boost::lexical_cast<T>("2178309"),
+ boost::lexical_cast<T>("3524578"),
+ boost::lexical_cast<T>("5702887"),
+ boost::lexical_cast<T>("9227465"),
+ boost::lexical_cast<T>("14930352"),
+ boost::lexical_cast<T>("24157817"),
+ boost::lexical_cast<T>("39088169"),
+ boost::lexical_cast<T>("63245986"),
+ boost::lexical_cast<T>("102334155"),
+ boost::lexical_cast<T>("165580141"),
+ boost::lexical_cast<T>("267914296"),
+ boost::lexical_cast<T>("433494437"),
+ boost::lexical_cast<T>("701408733"),
+ boost::lexical_cast<T>("1134903170"),
+ boost::lexical_cast<T>("1836311903"),
+ boost::lexical_cast<T>("2971215073"),
+ // 64-bit:
+ boost::lexical_cast<T>("4807526976"),
+ boost::lexical_cast<T>("7778742049"),
+ boost::lexical_cast<T>("12586269025"),
+ boost::lexical_cast<T>("20365011074"),
+ boost::lexical_cast<T>("32951280099"),
+ boost::lexical_cast<T>("53316291173"),
+ boost::lexical_cast<T>("86267571272"),
+ boost::lexical_cast<T>("139583862445"),
+ boost::lexical_cast<T>("225851433717"),
+ boost::lexical_cast<T>("365435296162"),
+ boost::lexical_cast<T>("591286729879"),
+ boost::lexical_cast<T>("956722026041"),
+ boost::lexical_cast<T>("1548008755920"),
+ boost::lexical_cast<T>("2504730781961"),
+ boost::lexical_cast<T>("4052739537881"),
+ boost::lexical_cast<T>("6557470319842"),
+ boost::lexical_cast<T>("10610209857723"),
+ boost::lexical_cast<T>("17167680177565"),
+ boost::lexical_cast<T>("27777890035288"),
+ boost::lexical_cast<T>("44945570212853"),
+ boost::lexical_cast<T>("72723460248141"),
+ boost::lexical_cast<T>("117669030460994"),
+ boost::lexical_cast<T>("190392490709135"),
+ boost::lexical_cast<T>("308061521170129"),
+ boost::lexical_cast<T>("498454011879264"),
+ boost::lexical_cast<T>("806515533049393"),
+ boost::lexical_cast<T>("1304969544928657"),
+ boost::lexical_cast<T>("2111485077978050"),
+ boost::lexical_cast<T>("3416454622906707"),
+ boost::lexical_cast<T>("5527939700884757"),
+ boost::lexical_cast<T>("8944394323791464"),
+ boost::lexical_cast<T>("14472334024676221"),
+ boost::lexical_cast<T>("23416728348467685"),
+ boost::lexical_cast<T>("37889062373143906"),
+ boost::lexical_cast<T>("61305790721611591"),
+ boost::lexical_cast<T>("99194853094755497"),
+ boost::lexical_cast<T>("160500643816367088"),
+ boost::lexical_cast<T>("259695496911122585"),
+ boost::lexical_cast<T>("420196140727489673"),
+ boost::lexical_cast<T>("679891637638612258"),
+ boost::lexical_cast<T>("1100087778366101931"),
+ boost::lexical_cast<T>("1779979416004714189"),
+ boost::lexical_cast<T>("2880067194370816120"),
+ boost::lexical_cast<T>("4660046610375530309"),
+ boost::lexical_cast<T>("7540113804746346429"),
+ boost::lexical_cast<T>("12200160415121876738"),
+ // 128-bit:
+ boost::lexical_cast<T>("19740274219868223167"),
+ boost::lexical_cast<T>("31940434634990099905"),
+ boost::lexical_cast<T>("51680708854858323072"),
+ boost::lexical_cast<T>("83621143489848422977"),
+ boost::lexical_cast<T>("135301852344706746049"),
+ boost::lexical_cast<T>("218922995834555169026"),
+ boost::lexical_cast<T>("354224848179261915075"),
+ boost::lexical_cast<T>("573147844013817084101"),
+ boost::lexical_cast<T>("927372692193078999176"),
+ boost::lexical_cast<T>("1500520536206896083277"),
+ boost::lexical_cast<T>("2427893228399975082453"),
+ boost::lexical_cast<T>("3928413764606871165730"),
+ boost::lexical_cast<T>("6356306993006846248183"),
+ boost::lexical_cast<T>("10284720757613717413913"),
+ boost::lexical_cast<T>("16641027750620563662096"),
+ boost::lexical_cast<T>("26925748508234281076009"),
+ boost::lexical_cast<T>("43566776258854844738105"),
+ boost::lexical_cast<T>("70492524767089125814114"),
+ boost::lexical_cast<T>("114059301025943970552219"),
+ boost::lexical_cast<T>("184551825793033096366333"),
+ boost::lexical_cast<T>("298611126818977066918552"),
+ boost::lexical_cast<T>("483162952612010163284885"),
+ boost::lexical_cast<T>("781774079430987230203437"),
+ boost::lexical_cast<T>("1264937032042997393488322"),
+ boost::lexical_cast<T>("2046711111473984623691759"),
+ boost::lexical_cast<T>("3311648143516982017180081"),
+ boost::lexical_cast<T>("5358359254990966640871840"),
+ boost::lexical_cast<T>("8670007398507948658051921"),
+ boost::lexical_cast<T>("14028366653498915298923761"),
+ boost::lexical_cast<T>("22698374052006863956975682"),
+ boost::lexical_cast<T>("36726740705505779255899443"),
+ boost::lexical_cast<T>("59425114757512643212875125"),
+ boost::lexical_cast<T>("96151855463018422468774568"),
+ boost::lexical_cast<T>("155576970220531065681649693"),
+ boost::lexical_cast<T>("251728825683549488150424261"),
+ boost::lexical_cast<T>("407305795904080553832073954"),
+ boost::lexical_cast<T>("659034621587630041982498215"),
+ boost::lexical_cast<T>("1066340417491710595814572169"),
+ boost::lexical_cast<T>("1725375039079340637797070384"),
+ boost::lexical_cast<T>("2791715456571051233611642553"),
+ boost::lexical_cast<T>("4517090495650391871408712937"),
+ boost::lexical_cast<T>("7308805952221443105020355490"),
+ boost::lexical_cast<T>("11825896447871834976429068427"),
+ boost::lexical_cast<T>("19134702400093278081449423917"),
+ boost::lexical_cast<T>("30960598847965113057878492344"),
+ boost::lexical_cast<T>("50095301248058391139327916261"),
+ boost::lexical_cast<T>("81055900096023504197206408605"),
+ boost::lexical_cast<T>("131151201344081895336534324866"),
+ boost::lexical_cast<T>("212207101440105399533740733471"),
+ boost::lexical_cast<T>("343358302784187294870275058337"),
+ boost::lexical_cast<T>("555565404224292694404015791808"),
+ boost::lexical_cast<T>("898923707008479989274290850145"),
+ boost::lexical_cast<T>("1454489111232772683678306641953"),
+ boost::lexical_cast<T>("2353412818241252672952597492098"),
+ boost::lexical_cast<T>("3807901929474025356630904134051"),
+ boost::lexical_cast<T>("6161314747715278029583501626149"),
+ boost::lexical_cast<T>("9969216677189303386214405760200"),
+ boost::lexical_cast<T>("16130531424904581415797907386349"),
+ boost::lexical_cast<T>("26099748102093884802012313146549"),
+ boost::lexical_cast<T>("42230279526998466217810220532898"),
+ boost::lexical_cast<T>("68330027629092351019822533679447"),
+ boost::lexical_cast<T>("110560307156090817237632754212345"),
+ boost::lexical_cast<T>("178890334785183168257455287891792"),
+ boost::lexical_cast<T>("289450641941273985495088042104137"),
+ boost::lexical_cast<T>("468340976726457153752543329995929"),
+ boost::lexical_cast<T>("757791618667731139247631372100066"),
+ boost::lexical_cast<T>("1226132595394188293000174702095995"),
+ boost::lexical_cast<T>("1983924214061919432247806074196061"),
+ boost::lexical_cast<T>("3210056809456107725247980776292056"),
+ boost::lexical_cast<T>("5193981023518027157495786850488117"),
+ boost::lexical_cast<T>("8404037832974134882743767626780173"),
+ boost::lexical_cast<T>("13598018856492162040239554477268290"),
+ boost::lexical_cast<T>("22002056689466296922983322104048463"),
+ boost::lexical_cast<T>("35600075545958458963222876581316753"),
+ boost::lexical_cast<T>("57602132235424755886206198685365216"),
+ boost::lexical_cast<T>("93202207781383214849429075266681969"),
+ boost::lexical_cast<T>("150804340016807970735635273952047185"),
+ boost::lexical_cast<T>("244006547798191185585064349218729154"),
+ boost::lexical_cast<T>("394810887814999156320699623170776339"),
+ boost::lexical_cast<T>("638817435613190341905763972389505493"),
+ boost::lexical_cast<T>("1033628323428189498226463595560281832"),
+ boost::lexical_cast<T>("1672445759041379840132227567949787325"),
+ boost::lexical_cast<T>("2706074082469569338358691163510069157"),
+ boost::lexical_cast<T>("4378519841510949178490918731459856482"),
+ boost::lexical_cast<T>("7084593923980518516849609894969925639"),
+ boost::lexical_cast<T>("11463113765491467695340528626429782121"),
+ boost::lexical_cast<T>("18547707689471986212190138521399707760"),
+ boost::lexical_cast<T>("30010821454963453907530667147829489881"),
+ boost::lexical_cast<T>("48558529144435440119720805669229197641"),
+ boost::lexical_cast<T>("78569350599398894027251472817058687522"),
+ boost::lexical_cast<T>("127127879743834334146972278486287885163"),
+ boost::lexical_cast<T>("205697230343233228174223751303346572685"),
+ boost::lexical_cast<T>("332825110087067562321196029789634457848"),
+ boost::lexical_cast<T>("538522340430300790495419781092981030533"),
+ boost::lexical_cast<T>("871347450517368352816615810882615488381"),
+ boost::lexical_cast<T>("1409869790947669143312035591975596518914"),
+ boost::lexical_cast<T>("2281217241465037496128651402858212007295"),
+ boost::lexical_cast<T>("3691087032412706639440686994833808526209"),
+ boost::lexical_cast<T>("5972304273877744135569338397692020533504"),
+ boost::lexical_cast<T>("9663391306290450775010025392525829059713"),
+ boost::lexical_cast<T>("15635695580168194910579363790217849593217"),
+ boost::lexical_cast<T>("25299086886458645685589389182743678652930"),
+ boost::lexical_cast<T>("40934782466626840596168752972961528246147"),
+ boost::lexical_cast<T>("66233869353085486281758142155705206899077"),
+ boost::lexical_cast<T>("107168651819712326877926895128666735145224"),
+ boost::lexical_cast<T>("173402521172797813159685037284371942044301"),
+ boost::lexical_cast<T>("280571172992510140037611932413038677189525"),
+ boost::lexical_cast<T>("453973694165307953197296969697410619233826"),
+ boost::lexical_cast<T>("734544867157818093234908902110449296423351"),
+ boost::lexical_cast<T>("1188518561323126046432205871807859915657177"),
+ boost::lexical_cast<T>("1923063428480944139667114773918309212080528"),
+ boost::lexical_cast<T>("3111581989804070186099320645726169127737705"),
+ boost::lexical_cast<T>("5034645418285014325766435419644478339818233"),
+ boost::lexical_cast<T>("8146227408089084511865756065370647467555938"),
+ boost::lexical_cast<T>("13180872826374098837632191485015125807374171"),
+ boost::lexical_cast<T>("21327100234463183349497947550385773274930109"),
+ boost::lexical_cast<T>("34507973060837282187130139035400899082304280"),
+ boost::lexical_cast<T>("55835073295300465536628086585786672357234389"),
+ boost::lexical_cast<T>("90343046356137747723758225621187571439538669"),
+ boost::lexical_cast<T>("146178119651438213260386312206974243796773058"),
+ boost::lexical_cast<T>("236521166007575960984144537828161815236311727"),
+ boost::lexical_cast<T>("382699285659014174244530850035136059033084785"),
+ boost::lexical_cast<T>("619220451666590135228675387863297874269396512"),
+ boost::lexical_cast<T>("1001919737325604309473206237898433933302481297"),
+ boost::lexical_cast<T>("1621140188992194444701881625761731807571877809"),
+ boost::lexical_cast<T>("2623059926317798754175087863660165740874359106"),
+ boost::lexical_cast<T>("4244200115309993198876969489421897548446236915"),
+ boost::lexical_cast<T>("6867260041627791953052057353082063289320596021"),
+ boost::lexical_cast<T>("11111460156937785151929026842503960837766832936"),
+ boost::lexical_cast<T>("17978720198565577104981084195586024127087428957"),
+ boost::lexical_cast<T>("29090180355503362256910111038089984964854261893"),
+ boost::lexical_cast<T>("47068900554068939361891195233676009091941690850"),
+ boost::lexical_cast<T>("76159080909572301618801306271765994056795952743"),
+ boost::lexical_cast<T>("123227981463641240980692501505442003148737643593"),
+ boost::lexical_cast<T>("199387062373213542599493807777207997205533596336"),
+ boost::lexical_cast<T>("322615043836854783580186309282650000354271239929"),
+ boost::lexical_cast<T>("522002106210068326179680117059857997559804836265"),
+ boost::lexical_cast<T>("844617150046923109759866426342507997914076076194"),
+ boost::lexical_cast<T>("1366619256256991435939546543402365995473880912459"),
+ boost::lexical_cast<T>("2211236406303914545699412969744873993387956988653"),
+ boost::lexical_cast<T>("3577855662560905981638959513147239988861837901112"),
+ boost::lexical_cast<T>("5789092068864820527338372482892113982249794889765"),
+ boost::lexical_cast<T>("9366947731425726508977331996039353971111632790877"),
+ boost::lexical_cast<T>("15156039800290547036315704478931467953361427680642"),
+ boost::lexical_cast<T>("24522987531716273545293036474970821924473060471519"),
+ boost::lexical_cast<T>("39679027332006820581608740953902289877834488152161"),
+ boost::lexical_cast<T>("64202014863723094126901777428873111802307548623680"),
+ boost::lexical_cast<T>("103881042195729914708510518382775401680142036775841"),
+ boost::lexical_cast<T>("168083057059453008835412295811648513482449585399521"),
+ boost::lexical_cast<T>("271964099255182923543922814194423915162591622175362"),
+ boost::lexical_cast<T>("440047156314635932379335110006072428645041207574883"),
+ boost::lexical_cast<T>("712011255569818855923257924200496343807632829750245"),
+ boost::lexical_cast<T>("1152058411884454788302593034206568772452674037325128"),
+ boost::lexical_cast<T>("1864069667454273644225850958407065116260306867075373"),
+ boost::lexical_cast<T>("3016128079338728432528443992613633888712980904400501"),
+ boost::lexical_cast<T>("4880197746793002076754294951020699004973287771475874"),
+ boost::lexical_cast<T>("7896325826131730509282738943634332893686268675876375"),
+ boost::lexical_cast<T>("12776523572924732586037033894655031898659556447352249"),
+ boost::lexical_cast<T>("20672849399056463095319772838289364792345825123228624"),
+ boost::lexical_cast<T>("33449372971981195681356806732944396691005381570580873"),
+ boost::lexical_cast<T>("54122222371037658776676579571233761483351206693809497"),
+ boost::lexical_cast<T>("87571595343018854458033386304178158174356588264390370"),
+ boost::lexical_cast<T>("141693817714056513234709965875411919657707794958199867"),
+ boost::lexical_cast<T>("229265413057075367692743352179590077832064383222590237"),
+ boost::lexical_cast<T>("370959230771131880927453318055001997489772178180790104"),
+ boost::lexical_cast<T>("600224643828207248620196670234592075321836561403380341"),
+ boost::lexical_cast<T>("971183874599339129547649988289594072811608739584170445"),
+ boost::lexical_cast<T>("1571408518427546378167846658524186148133445300987550786"),
+ boost::lexical_cast<T>("2542592393026885507715496646813780220945054040571721231"),
+ boost::lexical_cast<T>("4114000911454431885883343305337966369078499341559272017"),
+ boost::lexical_cast<T>("6656593304481317393598839952151746590023553382130993248"),
+ boost::lexical_cast<T>("10770594215935749279482183257489712959102052723690265265"),
+ boost::lexical_cast<T>("17427187520417066673081023209641459549125606105821258513"),
+ boost::lexical_cast<T>("28197781736352815952563206467131172508227658829511523778"),
+ boost::lexical_cast<T>("45624969256769882625644229676772632057353264935332782291"),
+ boost::lexical_cast<T>("73822750993122698578207436143903804565580923764844306069"),
+ boost::lexical_cast<T>("119447720249892581203851665820676436622934188700177088360"),
+ boost::lexical_cast<T>("193270471243015279782059101964580241188515112465021394429"),
+ boost::lexical_cast<T>("312718191492907860985910767785256677811449301165198482789"),
+ boost::lexical_cast<T>("505988662735923140767969869749836918999964413630219877218"),
+ boost::lexical_cast<T>("818706854228831001753880637535093596811413714795418360007"),
+ boost::lexical_cast<T>("1324695516964754142521850507284930515811378128425638237225"),
+ boost::lexical_cast<T>("2143402371193585144275731144820024112622791843221056597232"),
+ boost::lexical_cast<T>("3468097888158339286797581652104954628434169971646694834457"),
+ boost::lexical_cast<T>("5611500259351924431073312796924978741056961814867751431689"),
+ boost::lexical_cast<T>("9079598147510263717870894449029933369491131786514446266146"),
+ boost::lexical_cast<T>("14691098406862188148944207245954912110548093601382197697835"),
+ boost::lexical_cast<T>("23770696554372451866815101694984845480039225387896643963981"),
+ boost::lexical_cast<T>("38461794961234640015759308940939757590587318989278841661816"),
+ boost::lexical_cast<T>("62232491515607091882574410635924603070626544377175485625797"),
+ boost::lexical_cast<T>("100694286476841731898333719576864360661213863366454327287613"),
+ boost::lexical_cast<T>("162926777992448823780908130212788963731840407743629812913410"),
+ boost::lexical_cast<T>("263621064469290555679241849789653324393054271110084140201023"),
+ boost::lexical_cast<T>("426547842461739379460149980002442288124894678853713953114433"),
+ boost::lexical_cast<T>("690168906931029935139391829792095612517948949963798093315456"),
+ boost::lexical_cast<T>("1116716749392769314599541809794537900642843628817512046429889"),
+ boost::lexical_cast<T>("1806885656323799249738933639586633513160792578781310139745345"),
+ boost::lexical_cast<T>("2923602405716568564338475449381171413803636207598822186175234"),
+ boost::lexical_cast<T>("4730488062040367814077409088967804926964428786380132325920579"),
+ boost::lexical_cast<T>("7654090467756936378415884538348976340768064993978954512095813"),
+ boost::lexical_cast<T>("12384578529797304192493293627316781267732493780359086838016392"),
+ boost::lexical_cast<T>("20038668997554240570909178165665757608500558774338041350112205"),
+ boost::lexical_cast<T>("32423247527351544763402471792982538876233052554697128188128597"),
+ boost::lexical_cast<T>("52461916524905785334311649958648296484733611329035169538240802"),
+ boost::lexical_cast<T>("84885164052257330097714121751630835360966663883732297726369399"),
+ boost::lexical_cast<T>("137347080577163115432025771710279131845700275212767467264610201"),
+ boost::lexical_cast<T>("222232244629420445529739893461909967206666939096499764990979600"),
+ boost::lexical_cast<T>("359579325206583560961765665172189099052367214309267232255589801"),
+ boost::lexical_cast<T>("581811569836004006491505558634099066259034153405766997246569401"),
+ boost::lexical_cast<T>("941390895042587567453271223806288165311401367715034229502159202"),
+ boost::lexical_cast<T>("1523202464878591573944776782440387231570435521120801226748728603"),
+ boost::lexical_cast<T>("2464593359921179141398048006246675396881836888835835456250887805"),
+ boost::lexical_cast<T>("3987795824799770715342824788687062628452272409956636682999616408"),
+ boost::lexical_cast<T>("6452389184720949856740872794933738025334109298792472139250504213"),
+ boost::lexical_cast<T>("10440185009520720572083697583620800653786381708749108822250120621"),
+ boost::lexical_cast<T>("16892574194241670428824570378554538679120491007541580961500624834"),
+ boost::lexical_cast<T>("27332759203762391000908267962175339332906872716290689783750745455"),
+ boost::lexical_cast<T>("44225333398004061429732838340729878012027363723832270745251370289"),
+ boost::lexical_cast<T>("71558092601766452430641106302905217344934236440122960529002115744"),
+ boost::lexical_cast<T>("115783425999770513860373944643635095356961600163955231274253486033"),
+ boost::lexical_cast<T>("187341518601536966291015050946540312701895836604078191803255601777"),
+ boost::lexical_cast<T>("303124944601307480151388995590175408058857436768033423077509087810"),
+ boost::lexical_cast<T>("490466463202844446442404046536715720760753273372111614880764689587"),
+ boost::lexical_cast<T>("793591407804151926593793042126891128819610710140145037958273777397"),
+ boost::lexical_cast<T>("1284057871006996373036197088663606849580363983512256652839038466984"),
+ boost::lexical_cast<T>("2077649278811148299629990130790497978399974693652401690797312244381"),
+ boost::lexical_cast<T>("3361707149818144672666187219454104827980338677164658343636350711365"),
+ boost::lexical_cast<T>("5439356428629292972296177350244602806380313370817060034433662955746"),
+ boost::lexical_cast<T>("8801063578447437644962364569698707634360652047981718378070013667111"),
+ boost::lexical_cast<T>("14240420007076730617258541919943310440740965418798778412503676622857"),
+ boost::lexical_cast<T>("23041483585524168262220906489642018075101617466780496790573690289968"),
+ boost::lexical_cast<T>("37281903592600898879479448409585328515842582885579275203077366912825"),
+ boost::lexical_cast<T>("60323387178125067141700354899227346590944200352359771993651057202793"),
+ boost::lexical_cast<T>("97605290770725966021179803308812675106786783237939047196728424115618"),
+ boost::lexical_cast<T>("157928677948851033162880158208040021697730983590298819190379481318411"),
+ boost::lexical_cast<T>("255533968719576999184059961516852696804517766828237866387107905434029"),
+ boost::lexical_cast<T>("413462646668428032346940119724892718502248750418536685577487386752440"),
+ boost::lexical_cast<T>("668996615388005031531000081241745415306766517246774551964595292186469"),
+ boost::lexical_cast<T>("1082459262056433063877940200966638133809015267665311237542082678938909"),
+ boost::lexical_cast<T>("1751455877444438095408940282208383549115781784912085789506677971125378"),
+ boost::lexical_cast<T>("2833915139500871159286880483175021682924797052577397027048760650064287"),
+ boost::lexical_cast<T>("4585371016945309254695820765383405232040578837489482816555438621189665"),
+ boost::lexical_cast<T>("7419286156446180413982701248558426914965375890066879843604199271253952"),
+ boost::lexical_cast<T>("12004657173391489668678522013941832147005954727556362660159637892443617"),
+ boost::lexical_cast<T>("19423943329837670082661223262500259061971330617623242503763837163697569"),
+ boost::lexical_cast<T>("31428600503229159751339745276442091208977285345179605163923475056141186"),
+ boost::lexical_cast<T>("50852543833066829834000968538942350270948615962802847667687312219838755"),
+ boost::lexical_cast<T>("82281144336295989585340713815384441479925901307982452831610787275979941"),
+ boost::lexical_cast<T>("133133688169362819419341682354326791750874517270785300499298099495818696"),
+ boost::lexical_cast<T>("215414832505658809004682396169711233230800418578767753330908886771798637"),
+ boost::lexical_cast<T>("348548520675021628424024078524038024981674935849553053830206986267617333"),
+ boost::lexical_cast<T>("563963353180680437428706474693749258212475354428320807161115873039415970"),
+ boost::lexical_cast<T>("912511873855702065852730553217787283194150290277873860991322859307033303"),
+ boost::lexical_cast<T>("1476475227036382503281437027911536541406625644706194668152438732346449273"),
+ boost::lexical_cast<T>("2388987100892084569134167581129323824600775934984068529143761591653482576"),
+ boost::lexical_cast<T>("3865462327928467072415604609040860366007401579690263197296200323999931849"),
+ boost::lexical_cast<T>("6254449428820551641549772190170184190608177514674331726439961915653414425"),
+ boost::lexical_cast<T>("10119911756749018713965376799211044556615579094364594923736162239653346274"),
+ boost::lexical_cast<T>("16374361185569570355515148989381228747223756609038926650176124155306760699"),
+ boost::lexical_cast<T>("26494272942318589069480525788592273303839335703403521573912286394960106973"),
+ boost::lexical_cast<T>("42868634127888159424995674777973502051063092312442448224088410550266867672"),
+ boost::lexical_cast<T>("69362907070206748494476200566565775354902428015845969798000696945226974645"),
+ boost::lexical_cast<T>("112231541198094907919471875344539277405965520328288418022089107495493842317"),
+ boost::lexical_cast<T>("181594448268301656413948075911105052760867948344134387820089804440720816962"),
+ boost::lexical_cast<T>("293825989466396564333419951255644330166833468672422805842178911936214659279"),
+ boost::lexical_cast<T>("475420437734698220747368027166749382927701417016557193662268716376935476241"),
+ boost::lexical_cast<T>("769246427201094785080787978422393713094534885688979999504447628313150135520"),
+ boost::lexical_cast<T>("1244666864935793005828156005589143096022236302705537193166716344690085611761"),
+ boost::lexical_cast<T>("2013913292136887790908943984011536809116771188394517192671163973003235747281"),
+ boost::lexical_cast<T>("3258580157072680796737099989600679905139007491100054385837880317693321359042"),
+ boost::lexical_cast<T>("5272493449209568587646043973612216714255778679494571578509044290696557106323"),
+ boost::lexical_cast<T>("8531073606282249384383143963212896619394786170594625964346924608389878465365"),
+ boost::lexical_cast<T>("13803567055491817972029187936825113333650564850089197542855968899086435571688"),
+ boost::lexical_cast<T>("22334640661774067356412331900038009953045351020683823507202893507476314037053"),
+ boost::lexical_cast<T>("36138207717265885328441519836863123286695915870773021050058862406562749608741"),
+ boost::lexical_cast<T>("58472848379039952684853851736901133239741266891456844557261755914039063645794"),
+ boost::lexical_cast<T>("94611056096305838013295371573764256526437182762229865607320618320601813254535"),
+ boost::lexical_cast<T>("153083904475345790698149223310665389766178449653686710164582374234640876900329"),
+ boost::lexical_cast<T>("247694960571651628711444594884429646292615632415916575771902992555242690154864"),
+ boost::lexical_cast<T>("400778865046997419409593818195095036058794082069603285936485366789883567055193"),
+ boost::lexical_cast<T>("648473825618649048121038413079524682351409714485519861708388359345126257210057"),
+ boost::lexical_cast<T>("1049252690665646467530632231274619718410203796555123147644873726135009824265250"),
+ boost::lexical_cast<T>("1697726516284295515651670644354144400761613511040643009353262085480136081475307"),
+ boost::lexical_cast<T>("2746979206949941983182302875628764119171817307595766156998135811615145905740557"),
+ boost::lexical_cast<T>("4444705723234237498833973519982908519933430818636409166351397897095281987215864"),
+ boost::lexical_cast<T>("7191684930184179482016276395611672639105248126232175323349533708710427892956421"),
+ boost::lexical_cast<T>("11636390653418416980850249915594581159038678944868584489700931605805709880172285"),
+ boost::lexical_cast<T>("18828075583602596462866526311206253798143927071100759813050465314516137773128706"),
+ boost::lexical_cast<T>("30464466237021013443716776226800834957182606015969344302751396920321847653300991"),
+ boost::lexical_cast<T>("49292541820623609906583302538007088755326533087070104115801862234837985426429697"),
+ boost::lexical_cast<T>("79757008057644623350300078764807923712509139103039448418553259155159833079730688"),
+ boost::lexical_cast<T>("129049549878268233256883381302815012467835672190109552534355121389997818506160385"),
+ boost::lexical_cast<T>("208806557935912856607183460067622936180344811293149000952908380545157651585891073"),
+ boost::lexical_cast<T>("337856107814181089864066841370437948648180483483258553487263501935155470092051458"),
+ boost::lexical_cast<T>("546662665750093946471250301438060884828525294776407554440171882480313121677942531"),
+ boost::lexical_cast<T>("884518773564275036335317142808498833476705778259666107927435384415468591769993989"),
+ boost::lexical_cast<T>("1431181439314368982806567444246559718305231073036073662367607266895781713447936520"),
+ boost::lexical_cast<T>("2315700212878644019141884587055058551781936851295739770295042651311250305217930509"),
+ boost::lexical_cast<T>("3746881652193013001948452031301618270087167924331813432662649918207032018665867029"),
+ boost::lexical_cast<T>("6062581865071657021090336618356676821869104775627553202957692569518282323883797538"),
+ boost::lexical_cast<T>("9809463517264670023038788649658295091956272699959366635620342487725314342549664567"),
+ boost::lexical_cast<T>("15872045382336327044129125268014971913825377475586919838578035057243596666433462105"),
+ boost::lexical_cast<T>("25681508899600997067167913917673267005781650175546286474198377544968911008983126672"),
+ boost::lexical_cast<T>("41553554281937324111297039185688238919607027651133206312776412602212507675416588777"),
+ boost::lexical_cast<T>("67235063181538321178464953103361505925388677826679492786974790147181418684399715449"),
+ boost::lexical_cast<T>("108788617463475645289761992289049744844995705477812699099751202749393926359816304226"),
+ boost::lexical_cast<T>("176023680645013966468226945392411250770384383304492191886725992896575345044216019675"),
+ boost::lexical_cast<T>("284812298108489611757988937681460995615380088782304890986477195645969271404032323901"),
+ boost::lexical_cast<T>("460835978753503578226215883073872246385764472086797082873203188542544616448248343576"),
+ boost::lexical_cast<T>("745648276861993189984204820755333242001144560869101973859680384188513887852280667477"),
+ boost::lexical_cast<T>("1206484255615496768210420703829205488386909032955899056732883572731058504300529011053"),
+ boost::lexical_cast<T>("1952132532477489958194625524584538730388053593825001030592563956919572392152809678530"),
+ boost::lexical_cast<T>("3158616788092986726405046228413744218774962626780900087325447529650630896453338689583"),
+ boost::lexical_cast<T>("5110749320570476684599671752998282949163016220605901117918011486570203288606148368113"),
+ boost::lexical_cast<T>("8269366108663463411004717981412027167937978847386801205243459016220834185059487057696"),
+ boost::lexical_cast<T>("13380115429233940095604389734410310117100995067992702323161470502791037473665635425809"),
+ boost::lexical_cast<T>("21649481537897403506609107715822337285038973915379503528404929519011871658725122483505"),
+ boost::lexical_cast<T>("35029596967131343602213497450232647402139968983372205851566400021802909132390757909314"),
+ boost::lexical_cast<T>("56679078505028747108822605166054984687178942898751709379971329540814780791115880392819"),
+ boost::lexical_cast<T>("91708675472160090711036102616287632089318911882123915231537729562617689923506638302133"),
+ boost::lexical_cast<T>("148387753977188837819858707782342616776497854780875624611509059103432470714622518694952"),
+ boost::lexical_cast<T>("240096429449348928530894810398630248865816766662999539843046788666050160638129156997085"),
+ boost::lexical_cast<T>("388484183426537766350753518180972865642314621443875164454555847769482631352751675692037"),
+ boost::lexical_cast<T>("628580612875886694881648328579603114508131388106874704297602636435532791990880832689122"),
+ boost::lexical_cast<T>("1017064796302424461232401846760575980150446009550749868752158484205015423343632508381159"),
+ boost::lexical_cast<T>("1645645409178311156114050175340179094658577397657624573049761120640548215334513341070281"),
+ boost::lexical_cast<T>("2662710205480735617346452022100755074809023407208374441801919604845563638678145849451440"),
+ boost::lexical_cast<T>("4308355614659046773460502197440934169467600804865999014851680725486111854012659190521721"),
+ boost::lexical_cast<T>("6971065820139782390806954219541689244276624212074373456653600330331675492690805039973161"),
+ boost::lexical_cast<T>("11279421434798829164267456416982623413744225016940372471505281055817787346703464230494882"),
+ boost::lexical_cast<T>("18250487254938611555074410636524312658020849229014745928158881386149462839394269270468043"),
+ boost::lexical_cast<T>("29529908689737440719341867053506936071765074245955118399664162441967250186097733500962925"),
+ boost::lexical_cast<T>("47780395944676052274416277690031248729785923474969864327823043828116713025492002771430968"),
+ boost::lexical_cast<T>("77310304634413492993758144743538184801550997720924982727487206270083963211589736272393893"),
+ boost::lexical_cast<T>("125090700579089545268174422433569433531336921195894847055310250098200676237081739043824861"),
+ boost::lexical_cast<T>("202401005213503038261932567177107618332887918916819829782797456368284639448671475316218754"),
+ boost::lexical_cast<T>("327491705792592583530106989610677051864224840112714676838107706466485315685753214360043615"),
+ boost::lexical_cast<T>("529892711006095621792039556787784670197112759029534506620905162834769955134424689676262369"),
+ boost::lexical_cast<T>("857384416798688205322146546398461722061337599142249183459012869301255270820177904036305984"),
+ boost::lexical_cast<T>("1387277127804783827114186103186246392258450358171783690079918032136025225954602593712568353"),
+ boost::lexical_cast<T>("2244661544603472032436332649584708114319787957314032873538930901437280496774780497748874337"),
+ boost::lexical_cast<T>("3631938672408255859550518752770954506578238315485816563618848933573305722729383091461442690"),
+ boost::lexical_cast<T>("5876600217011727891986851402355662620898026272799849437157779835010586219504163589210317027"),
+ boost::lexical_cast<T>("9508538889419983751537370155126617127476264588285666000776628768583891942233546680671759717"),
+ boost::lexical_cast<T>("15385139106431711643524221557482279748374290861085515437934408603594478161737710269882076744"),
+ boost::lexical_cast<T>("24893677995851695395061591712608896875850555449371181438711037372178370103971256950553836461"),
+ boost::lexical_cast<T>("40278817102283407038585813270091176624224846310456696876645445975772848265708967220435913205"),
+ boost::lexical_cast<T>("65172495098135102433647404982700073500075401759827878315356483347951218369680224170989749666"),
+ boost::lexical_cast<T>("105451312200418509472233218252791250124300248070284575192001929323724066635389191391425662871"),
+ boost::lexical_cast<T>("170623807298553611905880623235491323624375649830112453507358412671675285005069415562415412537"),
+ boost::lexical_cast<T>("276075119498972121378113841488282573748675897900397028699360341995399351640458606953841075408"),
+ boost::lexical_cast<T>("446698926797525733283994464723773897373051547730509482206718754667074636645528022516256487945"),
+ boost::lexical_cast<T>("722774046296497854662108306212056471121727445630906510906079096662473988285986629470097563353"),
+ boost::lexical_cast<T>("1169472973094023587946102770935830368494778993361415993112797851329548624931514651986354051298"),
+ boost::lexical_cast<T>("1892247019390521442608211077147886839616506438992322504018876947992022613217501281456451614651"),
+ boost::lexical_cast<T>("3061719992484545030554313848083717208111285432353738497131674799321571238149015933442805665949"),
+ boost::lexical_cast<T>("4953967011875066473162524925231604047727791871346061001150551747313593851366517214899257280600"),
+ boost::lexical_cast<T>("8015687004359611503716838773315321255839077303699799498282226546635165089515533148342062946549"),
+ boost::lexical_cast<T>("12969654016234677976879363698546925303566869175045860499432778293948758940882050363241320227149"),
+ boost::lexical_cast<T>("20985341020594289480596202471862246559405946478745659997715004840583924030397583511583383173698"),
+ boost::lexical_cast<T>("33954995036828967457475566170409171862972815653791520497147783134532682971279633874824703400847"),
+ boost::lexical_cast<T>("54940336057423256938071768642271418422378762132537180494862787975116607001677217386408086574545"),
+ boost::lexical_cast<T>("88895331094252224395547334812680590285351577786328700992010571109649289972956851261232789975392"),
+ boost::lexical_cast<T>("143835667151675481333619103454952008707730339918865881486873359084765896974634068647640876549937"),
+ boost::lexical_cast<T>("232730998245927705729166438267632598993081917705194582478883930194415186947590919908873666525329"),
+ boost::lexical_cast<T>("376566665397603187062785541722584607700812257624060463965757289279181083922224988556514543075266"),
+ boost::lexical_cast<T>("609297663643530892791951979990217206693894175329255046444641219473596270869815908465388209600595"),
+ boost::lexical_cast<T>("985864329041134079854737521712801814394706432953315510410398508752777354792040897021902752675861"),
+ boost::lexical_cast<T>("1595161992684664972646689501703019021088600608282570556855039728226373625661856805487290962276456"),
+ boost::lexical_cast<T>("2581026321725799052501427023415820835483307041235886067265438236979150980453897702509193714952317"),
+ boost::lexical_cast<T>("4176188314410464025148116525118839856571907649518456624120477965205524606115754507996484677228773"),
+ boost::lexical_cast<T>("6757214636136263077649543548534660692055214690754342691385916202184675586569652210505678392181090"),
+ boost::lexical_cast<T>("10933402950546727102797660073653500548627122340272799315506394167390200192685406718502163069409863"),
+ boost::lexical_cast<T>("17690617586682990180447203622188161240682337031027142006892310369574875779255058929007841461590953"),
+ boost::lexical_cast<T>("28624020537229717283244863695841661789309459371299941322398704536965075971940465647510004531000816"),
+ boost::lexical_cast<T>("46314638123912707463692067318029823029991796402327083329291014906539951751195524576517845992591769"),
+ boost::lexical_cast<T>("74938658661142424746936931013871484819301255773627024651689719443505027723135990224027850523592585"),
+ boost::lexical_cast<T>("121253296785055132210628998331901307849293052175954107980980734350044979474331514800545696516184354"),
+ boost::lexical_cast<T>("196191955446197556957565929345772792668594307949581132632670453793550007197467505024573547039776939"),
+ boost::lexical_cast<T>("317445252231252689168194927677674100517887360125535240613651188143594986671799019825119243555961293"),
+ boost::lexical_cast<T>("513637207677450246125760857023446893186481668075116373246321641937144993869266524849692790595738232"),
+ boost::lexical_cast<T>("831082459908702935293955784701120993704369028200651613859972830080739980541065544674812034151699525"),
+ boost::lexical_cast<T>("1344719667586153181419716641724567886890850696275767987106294472017884974410332069524504824747437757"),
+ boost::lexical_cast<T>("2175802127494856116713672426425688880595219724476419600966267302098624954951397614199316858899137282"),
+ boost::lexical_cast<T>("3520521795081009298133389068150256767486070420752187588072561774116509929361729683723821683646575039"),
+ boost::lexical_cast<T>("5696323922575865414847061494575945648081290145228607189038829076215134884313127297923138542545712321"),
+ boost::lexical_cast<T>("9216845717656874712980450562726202415567360565980794777111390850331644813674856981646960226192287360"),
+ boost::lexical_cast<T>("14913169640232740127827512057302148063648650711209401966150219926546779697987984279570098768737999681"),
+ boost::lexical_cast<T>("24130015357889614840807962620028350479216011277190196743261610776878424511662841261217058994930287041"),
+ boost::lexical_cast<T>("39043184998122354968635474677330498542864661988399598709411830703425204209650825540787157763668286722"),
+ boost::lexical_cast<T>("63173200356011969809443437297358849022080673265589795452673441480303628721313666802004216758598573763"),
+ boost::lexical_cast<T>("102216385354134324778078911974689347564945335253989394162085272183728832930964492342791374522266860485"),
+ boost::lexical_cast<T>("165389585710146294587522349272048196587026008519579189614758713664032461652278159144795591280865434248"),
+ boost::lexical_cast<T>("267605971064280619365601261246737544151971343773568583776843985847761294583242651487586965803132294733"),
+ boost::lexical_cast<T>("432995556774426913953123610518785740738997352293147773391602699511793756235520810632382557083997728981"),
+ boost::lexical_cast<T>("700601527838707533318724871765523284890968696066716357168446685359555050818763462119969522887130023714"),
+ boost::lexical_cast<T>("1133597084613134447271848482284309025629966048359864130560049384871348807054284272752352079971127752695"),
+ boost::lexical_cast<T>("1834198612451841980590573354049832310520934744426580487728496070230903857873047734872321602858257776409"),
+ boost::lexical_cast<T>("2967795697064976427862421836334141336150900792786444618288545455102252664927332007624673682829385529104"),
+ boost::lexical_cast<T>("4801994309516818408452995190383973646671835537213025106017041525333156522800379742496995285687643305513"),
+ boost::lexical_cast<T>("7769790006581794836315417026718114982822736329999469724305586980435409187727711750121668968517028834617"),
+ boost::lexical_cast<T>("12571784316098613244768412217102088629494571867212494830322628505768565710528091492618664254204672140130"),
+ boost::lexical_cast<T>("20341574322680408081083829243820203612317308197211964554628215486203974898255803242740333222721700974747"),
+ boost::lexical_cast<T>("32913358638779021325852241460922292241811880064424459384950843991972540608783894735358997476926373114877"),
+ boost::lexical_cast<T>("53254932961459429406936070704742495854129188261636423939579059478176515507039697978099330699648074089624"),
+ boost::lexical_cast<T>("86168291600238450732788312165664788095941068326060883324529903470149056115823592713458328176574447204501"),
+ boost::lexical_cast<T>("139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125"),
+ boost::lexical_cast<T>("225591516161936330872512695036072072046011324913758190588638866418474627738686883405015987052796968498626"),
+ boost::lexical_cast<T>("365014740723634211012237077906479355996081581501455497852747829366800199361550174096573645929019489792751"),
+ boost::lexical_cast<T>("590606256885570541884749772942551428042092906415213688441386695785274827100237057501589632981816458291377"),
+ boost::lexical_cast<T>("955620997609204752896986850849030784038174487916669186294134525152075026461787231598163278910835948084128"),
+ boost::lexical_cast<T>("1546227254494775294781736623791582212080267394331882874735521220937349853562024289099752911892652406375505"),
+ boost::lexical_cast<T>("2501848252103980047678723474640612996118441882248552061029655746089424880023811520697916190803488354459633"),
+ boost::lexical_cast<T>("4048075506598755342460460098432195208198709276580434935765176967026774733585835809797669102696140760835138"),
+ boost::lexical_cast<T>("6549923758702735390139183573072808204317151158828986996794832713116199613609647330495585293499629115294771"),
+ boost::lexical_cast<T>("10597999265301490732599643671505003412515860435409421932560009680142974347195483140293254396195769876129909"),
+ boost::lexical_cast<T>("17147923024004226122738827244577811616833011594238408929354842393259173960805130470788839689695398991424680"),
+ boost::lexical_cast<T>("27745922289305716855338470916082815029348872029647830861914852073402148308000613611082094085891168867554589"),
+ boost::lexical_cast<T>("44893845313309942978077298160660626646181883623886239791269694466661322268805744081870933775586567858979269"),
+ boost::lexical_cast<T>("72639767602615659833415769076743441675530755653534070653184546540063470576806357692953027861477736726533858"),
+ boost::lexical_cast<T>("117533612915925602811493067237404068321712639277420310444454241006724792845612101774823961637064304585513127"),
+ boost::lexical_cast<T>("190173380518541262644908836314147509997243394930954381097638787546788263422418459467776989498542041312046985"),
+ boost::lexical_cast<T>("307706993434466865456401903551551578318956034208374691542093028553513056268030561242600951135606345897560112"),
+ boost::lexical_cast<T>("497880373953008128101310739865699088316199429139329072639731816100301319690449020710377940634148387209607097"),
+ boost::lexical_cast<T>("805587367387474993557712643417250666635155463347703764181824844653814375958479581952978891769754733107167209"),
+ boost::lexical_cast<T>("1303467741340483121659023383282949754951354892487032836821556660754115695648928602663356832403903120316774306"),
+ boost::lexical_cast<T>("2109055108727958115216736026700200421586510355834736601003381505407930071607408184616335724173657853423941515"),
+ boost::lexical_cast<T>("3412522850068441236875759409983150176537865248321769437824938166162045767256336787279692556577560973740715821"),
+ boost::lexical_cast<T>("5521577958796399352092495436683350598124375604156506038828319671569975838863744971896028280751218827164657336"),
+ boost::lexical_cast<T>("8934100808864840588968254846666500774662240852478275476653257837732021606120081759175720837328779800905373157"),
+ boost::lexical_cast<T>("14455678767661239941060750283349851372786616456634781515481577509301997444983826731071749118079998628070030493"),
+ boost::lexical_cast<T>("23389779576526080530029005130016352147448857309113056992134835347034019051103908490247469955408778428975403650"),
+ boost::lexical_cast<T>("37845458344187320471089755413366203520235473765747838507616412856336016496087735221319219073488777057045434143"),
+ boost::lexical_cast<T>("61235237920713401001118760543382555667684331074860895499751248203370035547191643711566689028897555486020837793"),
+ boost::lexical_cast<T>("99080696264900721472208515956748759187919804840608734007367661059706052043279378932885908102386332543066271936"),
+ boost::lexical_cast<T>("160315934185614122473327276500131314855604135915469629507118909263076087590471022644452597131283888029087109729"),
+ boost::lexical_cast<T>("259396630450514843945535792456880074043523940756078363514486570322782139633750401577338505233670220572153381665"),
+ boost::lexical_cast<T>("419712564636128966418863068957011388899128076671547993021605479585858227224221424221791102364954108601240491394"),
+ boost::lexical_cast<T>("679109195086643810364398861413891462942652017427626356536092049908640366857971825799129607598624329173393873059"),
+ boost::lexical_cast<T>("1098821759722772776783261930370902851841780094099174349557697529494498594082193250020920709963578437774634364453"),
+ boost::lexical_cast<T>("1777930954809416587147660791784794314784432111526800706093789579403138960940165075820050317562202766948028237512"),
+ boost::lexical_cast<T>("2876752714532189363930922722155697166626212205625975055651487108897637555022358325840971027525781204722662601965"),
+ boost::lexical_cast<T>("4654683669341605951078583513940491481410644317152775761745276688300776515962523401661021345087983971670690839477"),
+ boost::lexical_cast<T>("7531436383873795315009506236096188648036856522778750817396763797198414070984881727501992372613765176393353441442"),
+ boost::lexical_cast<T>("12186120053215401266088089750036680129447500839931526579142040485499190586947405129163013717701749148064044280919"),
+ boost::lexical_cast<T>("19717556437089196581097595986132868777484357362710277396538804282697604657932286856665006090315514324457397722361"),
+ boost::lexical_cast<T>("31903676490304597847185685736169548906931858202641803975680844768196795244879691985828019808017263472521442003280"),
+ boost::lexical_cast<T>("51621232927393794428283281722302417684416215565352081372219649050894399902811978842493025898332777796978839725641"),
+ boost::lexical_cast<T>("83524909417698392275468967458471966591348073767993885347900493819091195147691670828321045706350041269500281728921"),
+ boost::lexical_cast<T>("135146142345092186703752249180774384275764289333345966720120142869985595050503649670814071604682819066479121454562"),
+ boost::lexical_cast<T>("218671051762790578979221216639246350867112363101339852068020636689076790198195320499135117311032860335979403183483"),
+ boost::lexical_cast<T>("353817194107882765682973465820020735142876652434685818788140779559062385248698970169949188915715679402458524638045"),
+ boost::lexical_cast<T>("572488245870673344662194682459267086009989015536025670856161416248139175446894290669084306226748539738437927821528"),
+ boost::lexical_cast<T>("926305439978556110345168148279287821152865667970711489644302195807201560695593260839033495142464219140896452459573"),
+ boost::lexical_cast<T>("1498793685849229455007362830738554907162854683506737160500463612055340736142487551508117801369212758879334380281101"),
+ boost::lexical_cast<T>("2425099125827785565352530979017842728315720351477448650144765807862542296838080812347151296511676978020230832740674"),
+ boost::lexical_cast<T>("3923892811677015020359893809756397635478575034984185810645229419917883032980568363855269097880889736899565213021775"),
+ boost::lexical_cast<T>("6348991937504800585712424788774240363794295386461634460789995227780425329818649176202420394392566714919796045762449"),
+ boost::lexical_cast<T>("10272884749181815606072318598530637999272870421445820271435224647698308362799217540057689492273456451819361258784224"),
+ boost::lexical_cast<T>("16621876686686616191784743387304878363067165807907454732225219875478733692617866716260109886666023166739157304546673"),
+ boost::lexical_cast<T>("26894761435868431797857061985835516362340036229353275003660444523177042055417084256317799378939479618558518563330897"),
+ boost::lexical_cast<T>("4351663812255504798964180537314039472540720203726072973588566439865577574803495097257790926560550278529767567877570"),
+ boost::lexical_cast<T>("70411399558423479787498867358975911087747238266614004739546108921832817803452035228895708644544982403856194431208467"),
+ boost::lexical_cast<T>("113928037680978527777140672732116305813154440303874734475431773320488593551486986201473617910150485189153870299086037"),
+ boost::lexical_cast<T>("184339437239402007564639540091092216900901678570488739214977882242321411354939021430369326554695467593010064730294504"),
+ boost::lexical_cast<T>("298267474920380535341780212823208522714056118874363473690409655562810004906426007631842944464845952782163935029380541"),
+ boost::lexical_cast<T>("482606912159782542906419752914300739614957797444852212905387537805131416261365029062212271019541420375173999759675045"),
+ boost::lexical_cast<T>("780874387080163078248199965737509262329013916319215686595797193367941421167791036694055215484387373157337934789055586"),
+ boost::lexical_cast<T>("1263481299239945621154619718651810001943971713764067899501184731173072837429156065756267486503928793532511934548730631"),
+ boost::lexical_cast<T>("2044355686320108699402819684389319264272985630083283586096981924541014258596947102450322701988316166689849869337786217"),
+ boost::lexical_cast<T>("3307836985560054320557439403041129266216957343847351485598166655714087096026103168206590188492244960222361803886516848"),
+ boost::lexical_cast<T>("5352192671880163019960259087430448530489942973930635071695148580255101354623050270656912890480561126912211673224303065"),
+ boost::lexical_cast<T>("8660029657440217340517698490471577796706900317777986557293315235969188450649153438863503078972806087134573477110819913"),
+ boost::lexical_cast<T>("14012222329320380360477957577902026327196843291708621628988463816224289805272203709520415969453367214046785150335122978"),
+ boost::lexical_cast<T>("22672251986760597700995656068373604123903743609486608186281779052193478255921357148383919048426173301181358627445942891"),
+ boost::lexical_cast<T>("36684474316080978061473613646275630451100586901195229815270242868417768061193560857904335017879540515228143777781065869"),
+ boost::lexical_cast<T>("59356726302841575762469269714649234575004330510681838001552021920611246317114918006288254066305713816409502405227008760"),
+ boost::lexical_cast<T>("96041200618922553823942883360924865026104917411877067816822264789029014378308478864192589084185254331637646183008074629"),
+ boost::lexical_cast<T>("155397926921764129586412153075574099601109247922558905818374286709640260695423396870480843150490968148047148588235083389"),
+ boost::lexical_cast<T>("251439127540686683410355036436498964627214165334435973635196551498669275073731875734673432234676222479684794771243158018"),
+ boost::lexical_cast<T>("406837054462450812996767189512073064228323413256994879453570838208309535769155272605154275385167190627731943359478241407"),
+ boost::lexical_cast<T>("658276182003137496407122225948572028855537578591430853088767389706978810842887148339827707619843413107416738130721399425"),
+ boost::lexical_cast<T>("1065113236465588309403889415460645093083860991848425732542338227915288346612042420944981983005010603735148681490199640832"),
+ boost::lexical_cast<T>("1723389418468725805811011641409217121939398570439856585631105617622267157454929569284809690624854016842565419620921040257"),
+ boost::lexical_cast<T>("2788502654934314115214901056869862215023259562288282318173443845537555504066971990229791673629864620577714101111120681089"),
+ boost::lexical_cast<T>("4511892073403039921025912698279079336962658132728138903804549463159822661521901559514601364254718637420279520732041721346"),
+ boost::lexical_cast<T>("7300394728337354036240813755148941551985917695016421221977993308697378165588873549744393037884583257997993621843162402435"),
+ boost::lexical_cast<T>("11812286801740393957266726453428020888948575827744560125782542771857200827110775109258994402139301895418273142575204123781"),
+ boost::lexical_cast<T>("19112681530077747993507540208576962440934493522760981347760536080554578992699648659003387440023885153416266764418366526216"),
+ boost::lexical_cast<T>("30924968331818141950774266662004983329883069350505541473543078852411779819810423768262381842163187048834539906993570649997"),
+ boost::lexical_cast<T>("50037649861895889944281806870581945770817562873266522821303614932966358812510072427265769282187072202250806671411937176213"),
+ boost::lexical_cast<T>("80962618193714031895056073532586929100700632223772064294846693785378138632320496195528151124350259251085346578405507826210"),
+ boost::lexical_cast<T>("131000268055609921839337880403168874871518195097038587116150308718344497444830568622793920406537331453336153249817445002423"),
+ boost::lexical_cast<T>("211962886249323953734393953935755803972218827320810651410997002503722636077151064818322071530887590704421499828222952828633"),
+ boost::lexical_cast<T>("342963154304933875573731834338924678843737022417849238527147311222067133521981633441115991937424922157757653078040397831056"),
+ boost::lexical_cast<T>("554926040554257829308125788274680482815955849738659889938144313725789769599132698259438063468312512862179152906263350659689"),
+ boost::lexical_cast<T>("897889194859191704881857622613605161659692872156509128465291624947856903121114331700554055405737435019936805984303748490745"),
+ boost::lexical_cast<T>("1452815235413449534189983410888285644475648721895169018403435938673646672720247029959992118874049947882115958890567099150434"),
+ boost::lexical_cast<T>("2350704430272641239071841033501890806135341594051678146868727563621503575841361361660546174279787382902052764874870847641179"),
+ boost::lexical_cast<T>("3803519665686090773261824444390176450610990315946847165272163502295150248561608391620538293153837330784168723765437946791613"),
+ boost::lexical_cast<T>("6154224095958732012333665477892067256746331909998525312140891065916653824402969753281084467433624713686221488640308794432792"),
+ boost::lexical_cast<T>("9957743761644822785595489922282243707357322225945372477413054568211804072964578144901622760587462044470390212405746741224405"),
+ boost::lexical_cast<T>("16111967857603554797929155400174310964103654135943897789553945634128457897367547898182707228021086758156611701046055535657197"),
+ boost::lexical_cast<T>("26069711619248377583524645322456554671460976361889270266967000202340261970332126043084329988608548802627001913451802276881602"),
+ boost::lexical_cast<T>("42181679476851932381453800722630865635564630497833168056520945836468719867699673941267037216629635560783613614497857812538799"),
+ boost::lexical_cast<T>("68251391096100309964978446045087420307025606859722438323487946038808981838031799984351367205238184363410615527949660089420401"),
+ boost::lexical_cast<T>("110433070572952242346432246767718285942590237357555606380008891875277701705731473925618404421867819924194229142447517901959200"),
+ boost::lexical_cast<T>("178684461669052552311410692812805706249615844217278044703496837914086683543763273909969771627106004287604844670397177991379601"),
+ boost::lexical_cast<T>("289117532242004794657842939580523992192206081574833651083505729789364385249494747835588176048973824211799073812844695893338801"),
+ boost::lexical_cast<T>("467801993911057346969253632393329698441821925792111695787002567703451068793258021745557947676079828499403918483241873884718402"),
+ boost::lexical_cast<T>("756919526153062141627096571973853690634028007366945346870508297492815454042752769581146123725053652711202992296086569778057203"),
+ boost::lexical_cast<T>("1224721520064119488596350204367183389075849933159057042657510865196266522836010791326704071401133481210606910779328443662775605"),
+ boost::lexical_cast<T>("1981641046217181630223446776341037079709877940526002389528019162689081976878763560907850195126187133921809903075415013440832808"),
+ boost::lexical_cast<T>("3206362566281301118819796980708220468785727873685059432185530027885348499714774352234554266527320615132416813854743457103608413"),
+ boost::lexical_cast<T>("5188003612498482749043243757049257548495605814211061821713549190574430476593537913142404461653507749054226716930158470544441221"),
+ boost::lexical_cast<T>("8394366178779783867863040737757478017281333687896121253899079218459778976308312265376958728180828364186643530784901927648049634"),
+ boost::lexical_cast<T>("13582369791278266616906284494806735565776939502107183075612628409034209452901850178519363189834336113240870247715060398192490855"),
+ boost::lexical_cast<T>("21976735970058050484769325232564213583058273190003304329511707627493988429210162443896321918015164477427513778499962325840540489"),
+ boost::lexical_cast<T>("35559105761336317101675609727370949148835212692110487405124336036528197882112012622415685107849500590668384026215022724033031344"),
+ boost::lexical_cast<T>("57535841731394367586444934959935162731893485882113791734636043664022186311322175066312007025864665068095897804714985049873571833"),
+ boost::lexical_cast<T>("93094947492730684688120544687306111880728698574224279139760379700550384193434187688727692133714165658764281830930007773906603177"),
+ boost::lexical_cast<T>("150630789224125052274565479647241274612622184456338070874396423364572570504756362755039699159578830726860179635644992823780175010"),
+ boost::lexical_cast<T>("243725736716855736962686024334547386493350883030562350014156803065122954698190550443767391293292996385624461466575000597686778187"),
+ boost::lexical_cast<T>("394356525940980789237251503981788661105973067486900420888553226429695525202946913198807090452871827112484641102219993421466953197"),
+ boost::lexical_cast<T>("638082262657836526199937528316336047599323950517462770902710029494818479901137463642574481746164823498109102568794994019153731384"),
+ boost::lexical_cast<T>("1032438788598817315437189032298124708705297018004363191791263255924514005104084376841381572199036650610593743671014987440620684581"),
+ boost::lexical_cast<T>("1670521051256653841637126560614460756304620968521825962693973285419332485005221840483956053945201474108702846239809981459774415965"),
+ boost::lexical_cast<T>("2702959839855471157074315592912585465009917986526189154485236541343846490109306217325337626144238124719296589910824968900395100546"),
+ boost::lexical_cast<T>("4373480891112124998711442153527046221314538955048015117179209826763178975114528057809293680089439598827999436150634950360169516511"),
+ boost::lexical_cast<T>("7076440730967596155785757746439631686324456941574204271664446368107025465223834275134631306233677723547296026061459919260564617057"),
+ boost::lexical_cast<T>("11449921622079721154497199899966677907638995896622219388843656194870204440338362332943924986323117322375295462212094869620734133568"),
+ boost::lexical_cast<T>("18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625"),
+ boost::lexical_cast<T>("29976283975127038464780157546372987501602448734818643049351758757847434345900558941022481278879912368297886950485649658502032884193"),
+ boost::lexical_cast<T>("48502646328174355775063115192779297095565901573015066709859861320824664251462755549101037571436707414220478438759204447383331634818"),
+ boost::lexical_cast<T>("78478930303301394239843272739152284597168350307833709759211620078672098597363314490123518850316619782518365389244854105885364519011"),
+ boost::lexical_cast<T>("126981576631475750014906387931931581692734251880848776469071481399496762848826070039224556421753327196738843828004058553268696153829"),
+ boost::lexical_cast<T>("205460506934777144254749660671083866289902602188682486228283101478168861446189384529348075272069946979257209217248912659154060672840"),
+ boost::lexical_cast<T>("332442083566252894269656048603015447982636854069531262697354582877665624295015454568572631693823274175996053045252971212422756826669"),
+ boost::lexical_cast<T>("537902590501030038524405709274099314272539456258213748925637684355834485741204839097920706965893221155253262262501883871576817499509"),
+ boost::lexical_cast<T>("870344674067282932794061757877114762255176310327745011622992267233500110036220293666493338659716495331249315307754855083999574326178"),
+ boost::lexical_cast<T>("1408247264568312971318467467151214076527715766585958760548629951589334595777425132764414045625609716486502577570256738955576391825687"),
+ boost::lexical_cast<T>("2278591938635595904112529225028328838782892076913703772171622218822834705813645426430907384285326211817751892878011594039575966151865"),
+ boost::lexical_cast<T>("3686839203203908875430996692179542915310607843499662532720252170412169301591070559195321429910935928304254470448268332995152357977552"),
+ boost::lexical_cast<T>("5965431141839504779543525917207871754093499920413366304891874389235004007404715985626228814196262140122006363326279927034728324129417"),
+ boost::lexical_cast<T>("9652270345043413654974522609387414669404107763913028837612126559647173308995786544821550244107198068426260833774548260029880682106969"),
+ boost::lexical_cast<T>("15617701486882918434518048526595286423497607684326395142504000948882177316400502530447779058303460208548267197100828187064609006236386"),
+ boost::lexical_cast<T>("25269971831926332089492571135982701092901715448239423980116127508529350625396289075269329302410658276974528030875376447094489688343355"),
+ boost::lexical_cast<T>("40887673318809250524010619662577987516399323132565819122620128457411527941796791605717108360714118485522795227976204634159098694579741"),
+ boost::lexical_cast<T>("66157645150735582613503190798560688609301038580805243102736255965940878567193080680986437663124776762497323258851581081253588382923096"),
+ boost::lexical_cast<T>("107045318469544833137513810461138676125700361713371062225356384423352406508989872286703546023838895248020118486827785715412687077502837"),
+ boost::lexical_cast<T>("173202963620280415751017001259699364735001400294176305328092640389293285076182952967689983686963672010517441745679366796666275460425933"),
+ boost::lexical_cast<T>("280248282089825248888530811720838040860701762007547367553449024812645691585172825254393529710802567258537560232507152512078962537928770"),
+ boost::lexical_cast<T>("453451245710105664639547812980537405595703162301723672881541665201938976661355778222083513397766239269055001978186519308745237998354703"),
+ boost::lexical_cast<T>("733699527799930913528078624701375446456404924309271040434990690014584668246528603476477043108568806527592562210693671820824200536283473"),
+ boost::lexical_cast<T>("1187150773510036578167626437681912852052108086610994713316532355216523644907884381698560556506335045796647564188880191129569438534638176"),
+ boost::lexical_cast<T>("1920850301309967491695705062383288298508513010920265753751523045231108313154412985175037599614903852324240126399573862950393639070921649"),
+ boost::lexical_cast<T>("3108001074820004069863331500065201150560621097531260467068055400447631958062297366873598156121238898120887690588454054079963077605559825"),
+ boost::lexical_cast<T>("5028851376129971561559036562448489449069134108451526220819578445678740271216710352048635755736142750445127816988027917030356716676481474"),
+ boost::lexical_cast<T>("8136852450949975631422368062513690599629755205982786687887633846126372229279007718922233911857381648566015507576481971110319794282041299"),
+ boost::lexical_cast<T>("13165703827079947192981404624962180048698889314434312908707212291805112500495718070970869667593524399011143324564509888140676510958522773"),
+ boost::lexical_cast<T>("21302556278029922824403772687475870648328644520417099596594846137931484729774725789893103579450906047577158832140991859250996305240564072"),
+ boost::lexical_cast<T>("34468260105109870017385177312438050697027533834851412505302058429736597230270443860863973247044430446588302156705501747391672816199086845"),
+ boost::lexical_cast<T>("55770816383139792841788949999913921345356178355268512101896904567668081960045169650757076826495336494165460988846493606642669121439650917"),
+ boost::lexical_cast<T>("90239076488249662859174127312351972042383712190119924607198962997404679190315613511621050073539766940753763145551995354034341937638737762"),
+ boost::lexical_cast<T>("146009892871389455700963077312265893387739890545388436709095867565072761150360783162378126900035103434919224134398488960677011059078388679"),
+ boost::lexical_cast<T>("236248969359639118560137204624617865430123602735508361316294830562477440340676396673999176973574870375672987279950484314711352996717126441"),
+ boost::lexical_cast<T>("382258862231028574261100281936883758817863493280896798025390698127550201491037179836377303873609973810592211414348973275388364055795515120"),
+ boost::lexical_cast<T>("618507831590667692821237486561501624247987096016405159341685528690027641831713576510376480847184844186265198694299457590099717052512641561"),
+ boost::lexical_cast<T>("1000766693821696267082337768498385383065850589297301957367076226817577843322750756346753784720794817996857410108648430865488081108308156681"),
+ boost::lexical_cast<T>("1619274525412363959903575255059887007313837685313707116708761755507605485154464332857130265567979662183122608802947888455587798160820798242"),
+ boost::lexical_cast<T>("2620041219234060226985913023558272390379688274611009074075837982325183328477215089203884050288774480179980018911596319321075879269128954923"),
+ boost::lexical_cast<T>("4239315744646424186889488278618159397693525959924716190784599737832788813631679422061014315856754142363102627714544207776663677429949753165"),
+ boost::lexical_cast<T>("6859356963880484413875401302176431788073214234535725264860437720157972142108894511264898366145528622543082646626140527097739556699078708088"),
+ boost::lexical_cast<T>("11098672708526908600764889580794591185766740194460441455645037457990760955740573933325912682002282764906185274340684734874403234129028461253"),
+ boost::lexical_cast<T>("17958029672407393014640290882971022973839954428996166720505475178148733097849468444590811048147811387449267920966825261972142790828107169341"),
+ boost::lexical_cast<T>("29056702380934301615405180463765614159606694623456608176150512636139494053590042377916723730150094152355453195307509996846546024957135630594"),
+ boost::lexical_cast<T>("47014732053341694630045471346736637133446649052452774896655987814288227151439510822507534778297905539804721116274335258818688815785242799935"),
+ boost::lexical_cast<T>("76071434434275996245450651810502251293053343675909383072806500450427721205029553200424258508447999692160174311581845255665234840742378430529"),
+ boost::lexical_cast<T>("123086166487617690875496123157238888426499992728362157969462488264715948356469064022931793286745905231964895427856180514483923656527621230464"),
+ boost::lexical_cast<T>("199157600921893687120946774967741139719553336404271541042268988715143669561498617223356051795193904924125069739438025770149158497269999660993"),
+ boost::lexical_cast<T>("322243767409511377996442898124980028146053329132633699011731476979859617917967681246287845081939810156089965167294206284633082153797620891457"),
+ boost::lexical_cast<T>("521401368331405065117389673092721167865606665536905240054000465695003287479466298469643896877133715080215034906732232054782240651067620552450"),
+ boost::lexical_cast<T>("843645135740916443113832571217701196011659994669538939065731942674862905397433979715931741959073525236305000074026438339415322804865241443907"),
+ boost::lexical_cast<T>("1365046504072321508231222244310422363877266660206444179119732408369866192876900278185575638836207240316520034980758670394197563455932861996357"),
+ boost::lexical_cast<T>("2208691639813237951345054815528123559888926654875983118185464351044729098274334257901507380795280765552825035054785108733612886260798103440264"),
+ boost::lexical_cast<T>("3573738143885559459576277059838545923766193315082427297305196759414595291151234536087083019631488005869345070035543779127810449716730965436621"),
+ boost::lexical_cast<T>("5782429783698797410921331875366669483655119969958410415490661110459324389425568793988590400426768771422170105090328887861423335977529068876885"),
+ boost::lexical_cast<T>("9356167927584356870497608935205215407421313285040837712795857869873919680576803330075673420058256777291515175125872666989233785694260034313506"),
+ boost::lexical_cast<T>("15138597711283154281418940810571884891076433254999248128286518980333244070002372124064263820485025548713685280216201554850657121671789103190391"),
+ boost::lexical_cast<T>("24494765638867511151916549745777100298497746540040085841082376850207163750579175454139937240543282326005200455342074221839890907366049137503897"),
+ boost::lexical_cast<T>("39633363350150665433335490556348985189574179795039333969368895830540407820581547578204201061028307874718885735558275776690548029037838240694288"),
+ boost::lexical_cast<T>("64128128989018176585252040302126085488071926335079419810451272680747571571160723032344138301571590200724086190900349998530438936403887378198185"),
+ boost::lexical_cast<T>("103761492339168842018587530858475070677646106130118753779820168511287979391742270610548339362599898075442971926458625775220986965441725618892473"),
+ boost::lexical_cast<T>("167889621328187018603839571160601156165718032465198173590271441192035550962902993642892477664171488276167058117358975773751425901845612997090658"),
+ boost::lexical_cast<T>("271651113667355860622427102019076226843364138595316927370091609703323530354645264253440817026771386351610030043817601548972412867287338615983131"),
+ boost::lexical_cast<T>("439540734995542879226266673179677383009082171060515100960363050895359081317548257896333294690942874627777088161176577322723838769132951613073789"),
+ boost::lexical_cast<T>("711191848662898739848693775198753609852446309655832028330454660598682611672193522149774111717714260979387118204994178871696251636420290229056920"),
+ boost::lexical_cast<T>("1150732583658441619074960448378430992861528480716347129290817711494041692989741780046107406408657135607164206366170756194420090405553241842130709"),
+ boost::lexical_cast<T>("1861924432321340358923654223577184602713974790372179157621272372092724304661935302195881518126371396586551324571164935066116342041973532071187629"),
+ boost::lexical_cast<T>("3012657015979781977998614671955615595575503271088526286912090083586765997651677082241988924535028532193715530937335691260536432447526773913318338"),
+ boost::lexical_cast<T>("4874581448301122336922268895532800198289478061460705444533362455679490302313612384437870442661399928780266855508500626326652774489500305984505967"),
+ boost::lexical_cast<T>("7887238464280904314920883567488415793864981332549231731445452539266256299965289466679859367196428460973982386445836317587189206937027079897824305"),
+ boost::lexical_cast<T>("12761819912582026651843152463021215992154459394009937175978814994945746602278901851117729809857828389754249241954336943913841981426527385882330272"),
+ boost::lexical_cast<T>("20649058376862930966764036030509631786019440726559168907424267534212002902244191317797589177054256850728231628400173261501031188363554465780154577"),
+ boost::lexical_cast<T>("33410878289444957618607188493530847778173900120569106083403082529157749504523093168915318986912085240482480870354510205414873169790081851662484849"),
+ boost::lexical_cast<T>("54059936666307888585371224524040479564193340847128274990827350063369752406767284486712908163966342091210712498754683466915904358153636317442639426"),
+ boost::lexical_cast<T>("87470814955752846203978413017571327342367240967697381074230432592527501911290377655628227150878427331693193369109193672330777527943718169105124275"),
+ boost::lexical_cast<T>("141530751622060734789349637541611806906560581814825656065057782655897254318057662142341135314844769422903905867863877139246681886097354486547763701"),
+ boost::lexical_cast<T>("229001566577813580993328050559183134248927822782523037139288215248424756229348039797969362465723196754597099236973070811577459414041072655652887976"),
+ boost::lexical_cast<T>("370532318199874315782677688100794941155488404597348693204345997904322010547405701940310497780567966177501005104836947950824141300138427142200651677"),
+ boost::lexical_cast<T>("599533884777687896776005738659978075404416227379871730343634213152746766776753741738279860246291162932098104341810018762401600714179499797853539653"),
+ boost::lexical_cast<T>("970066202977562212558683426760773016559904631977220423547980211057068777324159443678590358026859129109599109446646966713225742014317926940054191330"),
+ boost::lexical_cast<T>("1569600087755250109334689165420751091964320859357092153891614424209815544100913185416870218273150292041697213788456985475627342728497426737907730983"),
+ boost::lexical_cast<T>("2539666290732812321893372592181524108524225491334312577439594635266884321425072629095460576300009421151296323235103952188853084742815353677961922313"),
+ boost::lexical_cast<T>("4109266378488062431228061757602275200488546350691404731331209059476699865525985814512330794573159713192993537023560937664480427471312780415869653296"),
+ boost::lexical_cast<T>("6648932669220874753121434349783799309012771842025717308770803694743584186951058443607791370873169134344289860258664889853333512214128134093831575609"),
+ boost::lexical_cast<T>("10758199047708937184349496107386074509501318192717122040102012754220284052477044258120122165446328847537283397282225827517813939685440914509701228905"),
+ boost::lexical_cast<T>("17407131716929811937470930457169873818514090034742839348872816448963868239428102701727913536319497981881573257540890717371147451899569048603532804514"),
+ boost::lexical_cast<T>("28165330764638749121820426564555948328015408227459961388974829203184152291905146959848035701765826829418856654823116544888961391585009963113234033419"),
+ boost::lexical_cast<T>("45572462481568561059291357021725822146529498262202800737847645652148020531333249661575949238085324811300429912364007262260108843484579011716766837933"),
+ boost::lexical_cast<T>("73737793246207310181111783586281770474544906489662762126822474855332172823238396621423984939851151640719286567187123807149070235069588974830000871352"),
+ boost::lexical_cast<T>("119310255727775871240403140608007592621074404751865562864670120507480193354571646282999934177936476452019716479551131069409179078554167986546767709285"),
+ boost::lexical_cast<T>("193048048973983181421514924194289363095619311241528324991492595362812366177810042904423919117787628092739003046738254876558249313623756961376768580637"),
+ boost::lexical_cast<T>("312358304701759052661918064802296955716693715993393887856162715870292559532381689187423853295724104544758719526289385945967428392177924947923536289922"),
+ boost::lexical_cast<T>("505406353675742234083432988996586318812313027234922212847655311233104925710191732091847772413511732637497722573027640822525677705801681909300304870559"),
+ boost::lexical_cast<T>("817764658377501286745351053798883274529006743228316100703818027103397485242573421279271625709235837182256442099317026768493106097979606857223841160481"),
+ boost::lexical_cast<T>("1323171012053243520828784042795469593341319770463238313551473338336502410952765153371119398122747569819754164672344667591018783803781288766524146031040"),
+ boost::lexical_cast<T>("2140935670430744807574135096594352867870326513691554414255291365439899896195338574650391023831983407002010606771661694359511889901760895623747987191521"),
+ boost::lexical_cast<T>("3464106682483988328402919139389822461211646284154792727806764703776402307148103728021510421954730976821764771444006361950530673705542184390272133222561"),
+ boost::lexical_cast<T>("5605042352914733135977054235984175329081972797846347142062056069216302203343442302671901445786714383823775378215668056310042563607303080014020120414082"),
+ boost::lexical_cast<T>("9069149035398721464379973375373997790293619082001139869868820772992704510491546030693411867741445360645540149659674418260573237312845264404292253636643"),
+ boost::lexical_cast<T>("14674191388313454600357027611358173119375591879847487011930876842209006713834988333365313313528159744469315527875342474570615800920148344418312374050725"),
+ boost::lexical_cast<T>("23743340423712176064737000986732170909669210961848626881799697615201711224326534364058725181269605105114855677535016892831189038232993608822604627687368"),
+ boost::lexical_cast<T>("38417531812025630665094028598090344029044802841696113893730574457410717938161522697424038494797764849584171205410359367401804839153141953240917001738093"),
+ boost::lexical_cast<T>("62160872235737806729831029584822514938714013803544740775530272072612429162488057061482763676067369954699026882945376260232993877386135562063521629425461"),
+ boost::lexical_cast<T>("100578404047763437394925058182912858967758816645240854669260846530023147100649579758906802170865134804283198088355735627634798716539277515304438631163554"),
+ boost::lexical_cast<T>("162739276283501244124756087767735373906472830448785595444791118602635576263137636820389565846932504758982224971301111887867792593925413077367960260589015"),
+ boost::lexical_cast<T>("263317680331264681519681145950648232874231647094026450114051965132658723363787216579296368017797639563265423059656847515502591310464690592672398891752569"),
+ boost::lexical_cast<T>("426056956614765925644437233718383606780704477542812045558843083735294299626924853399685933864730144322247648030957959403370383904390103670040359152341584"),
+ boost::lexical_cast<T>("689374636946030607164118379669031839654936124636838495672895048867953022990712069978982301882527783885513071090614806918872975214854794262712758044094153"),
+ boost::lexical_cast<T>("1115431593560796532808555613387415446435640602179650541231738132603247322617636923378668235747257928207760719121572766322243359119244897932753117196435737"),
+ boost::lexical_cast<T>("1804806230506827139972673993056447286090576726816489036904633181471200345608348993357650537629785712093273790212187573241116334334099692195465875240529890"),
+ boost::lexical_cast<T>("2920237824067623672781229606443862732526217328996139578136371314074447668225985916736318773377043640301034509333760339563359693453344590128218992436965627"),
+ boost::lexical_cast<T>("4725044054574450812753903599500310018616794055812628615041004495545648013834334910093969311006829352394308299545947912804476027787444282323684867677495517"),
+ boost::lexical_cast<T>("7645281878642074485535133205944172751143011384808768193177375809620095682060320826830288084383872992695342808879708252367835721240788872451903860114461144"),
+ boost::lexical_cast<T>("12370325933216525298289036805444482769759805440621396808218380305165743695894655736924257395390702345089651108425656165172311749028233154775588727791956661"),
+ boost::lexical_cast<T>("20015607811858599783824170011388655520902816825430165001395756114785839377954976563754545479774575337784993917305364417540147470269022027227492587906417805"),
+ boost::lexical_cast<T>("32385933745075125082113206816833138290662622266051561809614136419951583073849632300678802875165277682874645025731020582712459219297255182003081315698374466"),
+ boost::lexical_cast<T>("52401541556933724865937376828221793811565439091481726811009892534737422451804608864433348354939853020659638943036385000252606689566277209230573903604792271"),
+ boost::lexical_cast<T>("84787475302008849948050583645054932102228061357533288620624028954689005525654241165112151230105130703534283968767405582965065908863532391233655219303166737"),
+ boost::lexical_cast<T>("137189016858942574813987960473276725913793500449015015431633921489426427977458850029545499585044983724193922911803790583217672598429809600464229122907959008"),
+ boost::lexical_cast<T>("221976492160951424762038544118331658016021561806548304052257950444115433503113091194657650815150114427728206880571196166182738507293341991697884342211125745"),
+ boost::lexical_cast<T>("359165509019893999576026504591608383929815062255563319483891871933541861480571941224203150400195098151922129792374986749400411105723151592162113465119084753"),
+ boost::lexical_cast<T>("581142001180845424338065048709940041945836624062111623536149822377657294983685032418860801215345212579650336672946182915583149613016493583859997807330210498"),
+ boost::lexical_cast<T>("940307510200739423914091553301548425875651686317674943020041694311199156464256973643063951615540310731572466465321169664983560718739645176022111272449295251"),
+ boost::lexical_cast<T>("1521449511381584848252156602011488467821488310379786566556191516688856451447942006061924752830885523311222803138267352580566710331756138759882109079779505749"),
+ boost::lexical_cast<T>("2461757021582324272166248155313036893697139996697461509576233211000055607912198979704988704446425834042795269603588522245550271050495783935904220352228801000"),
+ boost::lexical_cast<T>("3983206532963909120418404757324525361518628307077248076132424727688912059360140985766913457277311357354018072741855874826116981382251922695786329432008306749"),
+ boost::lexical_cast<T>("6444963554546233392584652912637562255215768303774709585708657938688967667272339965471902161723737191396813342345444397071667252432747706631690549784237107749"),
+ boost::lexical_cast<T>("10428170087510142513003057669962087616734396610851957661841082666377879726632480951238815619001048548750831415087300271897784233814999629327476879216245414498"),
+ boost::lexical_cast<T>("16873133642056375905587710582599649871950164914626667247549740605066847393904820916710717780724785740147644757432744668969451486247747335959167429000482522247"),
+ boost::lexical_cast<T>("27301303729566518418590768252561737488684561525478624909390823271444727120537301867949533399725834288898476172520044940867235720062746965286644308216727936745"),
+ boost::lexical_cast<T>("44174437371622894324178478835161387360634726440105292156940563876511574514442122784660251180450620029046120929952789609836687206310494301245811737217210458992"),
+ boost::lexical_cast<T>("71475741101189412742769247087723124849319287965583917066331387147956301634979424652609784580176454317944597102472834550703922926373241266532456045433938395737"),
+ boost::lexical_cast<T>("115650178472812307066947725922884512209954014405689209223271951024467876149421547437270035760627074346990718032425624160540610132683735567778267782651148854729"),
+ boost::lexical_cast<T>("187125919574001719809716973010607637059273302371273126289603338172424177784400972089879820340803528664935315134898458711244533059056976834310723828085087250466"),
+ boost::lexical_cast<T>("302776098046814026876664698933492149269227316776962335512875289196892053933822519527149856101430603011926033167324082871785143191740712402088991610736236105195"),
+ boost::lexical_cast<T>("489902017620815746686381671944099786328500619148235461802478627369316231718223491617029676442234131676861348302222541583029676250797689236399715438821323355661"),
+ boost::lexical_cast<T>("792678115667629773563046370877591935597727935925197797315353916566208285652046011144179532543664734688787381469546624454814819442538401638488707049557559460856"),
+ boost::lexical_cast<T>("1282580133288445520249428042821691721926228555073433259117832543935524517370269502761209208985898866365648729771769166037844495693336090874888422488378882816517"),
+ boost::lexical_cast<T>("2075258248956075293812474413699283657523956490998631056433186460501732803022315513905388741529563601054436111241315790492659315135874492513377129537936442277373"),
+ boost::lexical_cast<T>("3357838382244520814061902456520975379450185046072064315551019004437257320392585016666597950515462467420084841013084956530503810829210583388265552026315325093890"),
+ boost::lexical_cast<T>("5433096631200596107874376870220259036974141537070695371984205464938990123414900530571986692045026068474520952254400747023163125965085075901642681564251767371263"),
+ boost::lexical_cast<T>("8790935013445116921936279326741234416424326583142759687535224469376247443807485547238584642560488535894605793267485703553666936794295659289908233590567092465153"),
+ boost::lexical_cast<T>("14224031644645713029810656196961493453398468120213455059519429934315237567222386077810571334605514604369126745521886450576830062759380735191550915154818859836416"),
+ boost::lexical_cast<T>("23014966658090829951746935523702727869822794703356214747054654403691485011029871625049155977166003140263732538789372154130496999553676394481459148745385952301569"),
+ boost::lexical_cast<T>("37238998302736542981557591720664221323221262823569669806574084338006722578252257702859727311771517744632859284311258604707327062313057129673010063900204812137985"),
+ boost::lexical_cast<T>("60253964960827372933304527244366949193044057526925884553628738741698207589282129327908883288937520884896591823100630758837824061866733524154469212645590764439554"),
+ boost::lexical_cast<T>("97492963263563915914862118965031170516265320350495554360202823079704930167534387030768610600709038629529451107411889363545151124179790653827479276545795576577539"),
+ boost::lexical_cast<T>("157746928224391288848166646209398119709309377877421438913831561821403137756816516358677493889646559514426042930512520122382975186046524177981948489191386341017093"),
+ boost::lexical_cast<T>("255239891487955204763028765174429290225574698227916993274034384901108067924350903389446104490355598143955494037924409485928126310226314831809427765737181917594632"),
+ boost::lexical_cast<T>("412986819712346493611195411383827409934884076105338432187865946722511205681167419748123598380002157658381536968436929608311101496272839009791376254928568258611725"),
+ boost::lexical_cast<T>("668226711200301698374224176558256700160458774333255425461900331623619273605518323137569702870357755802337031006361339094239227806499153841600804020665750176206357"),
+ boost::lexical_cast<T>("1081213530912648191985419587942084110095342850438593857649766278346130479286685742885693301250359913460718567974798268702550329302771992851392180275594318434818082"),
+ boost::lexical_cast<T>("1749440242112949890359643764500340810255801624771849283111666609969749752892204066023263004120717669263055598981159607796789557109271146692992984296260068611024439"),
+ boost::lexical_cast<T>("2830653773025598082345063352442424920351144475210443140761432888315880232178889808908956305371077582723774166955957876499339886412043139544385164571854387045842521"),
+ boost::lexical_cast<T>("4580094015138547972704707116942765730606946099982292423873099498285629985071093874932219309491795251986829765937117484296129443521314286237378148868114455656866960"),
+ boost::lexical_cast<T>("7410747788164146055049770469385190650958090575192735564634532386601510217249983683841175614862872834710603932893075360795469329933357425781763313439968842702709481"),
+ boost::lexical_cast<T>("11990841803302694027754477586327956381565036675175027988507631884887140202321077558773394924354668086697433698830192845091598773454671712019141462308083298359576441"),
+ boost::lexical_cast<T>("19401589591466840082804248055713147032523127250367763553142164271488650419571061242614570539217540921408037631723268205887068103388029137800904775748052141062285922"),
+ boost::lexical_cast<T>("31392431394769534110558725642041103414088163925542791541649796156375790621892138801387965463572209008105471330553461050978666876842700849820046238056135439421862363"),
+ boost::lexical_cast<T>("50794020986236374193362973697754250446611291175910555094791960427864441041463200044002536002789749929513508962276729256865734980230729987620951013804187580484148285"),
+ boost::lexical_cast<T>("82186452381005908303921699339795353860699455101453346636441756584240231663355338845390501466361958937618980292830190307844401857073430837440997251860323019906010648"),
+ boost::lexical_cast<T>("132980473367242282497284673037549604307310746277363901731233717012104672704818538889393037469151708867132489255106919564710136837304160825061948265664510600390158933"),
+ boost::lexical_cast<T>("215166925748248190801206372377344958168010201378817248367675473596344904368173877734783538935513667804751469547937109872554538694377591662502945517524833620296169581"),
+ boost::lexical_cast<T>("348147399115490473298491045414894562475320947656181150098909190608449577072992416624176576404665376671883958803044029437264675531681752487564893783189344220686328514"),
+ boost::lexical_cast<T>("563314324863738664099697417792239520643331149034998398466584664204794481441166294358960115340179044476635428350981139309819214226059344150067839300714177840982498095"),
+ boost::lexical_cast<T>("911461723979229137398188463207134083118652096691179548565493854813244058514158710983136691744844421148519387154025168747083889757741096637632733083903522061668826609"),
+ boost::lexical_cast<T>("1474776048842967801497885880999373603761983245726177947032078519018038539955325005342096807085023465625154815505006308056903103983800440787700572384617699902651324704"),
+ boost::lexical_cast<T>("2386237772822196938896074344206507686880635342417357495597572373831282598469483716325233498829867886773674202659031476803986993741541537425333305468521221964320151313"),
+ boost::lexical_cast<T>("3861013821665164740393960225205881290642618588143535442629650892849321138424808721667330305914891352398829018164037784860890097725341978213033877853138921866971476017"),
+ boost::lexical_cast<T>("6247251594487361679290034569412388977523253930560892938227223266680603736894292437992563804744759239172503220823069261664877091466883515638367183321660143831291627330"),
+ boost::lexical_cast<T>("10108265416152526419683994794618270268165872518704428380856874159529924875319101159659894110659650591571332238987107046525767189192225493851401061174799065698263103347"),
+ boost::lexical_cast<T>("16355517010639888098974029364030659245689126449265321319084097426210528612213393597652457915404409830743835459810176308190644280659109009489768244496459209529554730677"),
+ boost::lexical_cast<T>("26463782426792414518658024158648929513854998967969749699940971585740453487532494757312352026064060422315167698797283354716411469851334503341169305671258275227817834024"),
+ boost::lexical_cast<T>("42819299437432302617632053522679588759544125417235071019025069011950982099745888354964809941468470253059003158607459662907055750510443512830937550167717484757372564701"),
+ boost::lexical_cast<T>("69283081864224717136290077681328518273399124385204820718966040597691435587278383112277161967532530675374170857404743017623467220361778016172106855838975759985190398725"),
+ boost::lexical_cast<T>("112102381301657019753922131204008107032943249802439891737991109609642417687024271467241971909001000928433174016012202680530522970872221529003044406006693244742562963426"),
+ boost::lexical_cast<T>("181385463165881736890212208885336625306342374187644712456957150207333853274302654579519133876533531603807344873416945698153990191233999545175151261845669004727753362151"),
+ boost::lexical_cast<T>("293487844467538756644134340089344732339285623990084604194948259816976270961326926046761105785534532532240518889429148378684513162106221074178195667852362249470316325577"),
+ boost::lexical_cast<T>("474873307633420493534346548974681357645627998177729316651905410024310124235629580626280239662068064136047863762846094076838503353340220619353346929698031254198069687728"),
+ boost::lexical_cast<T>("768361152100959250178480889064026089984913622167813920846853669841286395196956506673041345447602596668288382652275242455523016515446441693531542597550393503668386013305"),
+ boost::lexical_cast<T>("1243234459734379743712827438038707447630541620345543237498759079865596519432586087299321585109670660804336246415121336532361519868786662312884889527248424757866455701033"),
+ boost::lexical_cast<T>("2011595611835338993891308327102733537615455242513357158345612749706882914629542593972362930557273257472624629067396578987884536384233104006416432124798818261534841714338"),
+ boost::lexical_cast<T>("3254830071569718737604135765141440985245996862858900395844371829572479434062128681271684515666943918276960875482517915520246056253019766319301321652047243019401297415371"),
+ boost::lexical_cast<T>("5266425683405057731495444092244174522861452105372257554189984579279362348691671275244047446224217175749585504549914494508130592637252870325717753776846061280936139129709"),
+ boost::lexical_cast<T>("8521255754974776469099579857385615508107448968231157950034356408851841782753799956515731961891161094026546380032432410028376648890272636645019075428893304300337436545080"),
+ boost::lexical_cast<T>("13787681438379834200595023949629790030968901073603415504224340988131204131445471231759779408115378269776131884582346904536507241527525506970736829205739365581273575674789"),
+ boost::lexical_cast<T>("22308937193354610669694603807015405539076350041834573454258697396983045914199271188275511370006539363802678264614779314564883890417798143615755904634632669881611012219869"),
+ boost::lexical_cast<T>("36096618631734444870289627756645195570045251115437988958483038385114250045644742420035290778121917633578810149197126219101391131945323650586492733840372035462884587894658"),
+ boost::lexical_cast<T>("58405555825089055539984231563660601109121601157272562412741735782097295959844013608310802148128456997381488413811905533666275022363121794202248638475004705344495600114527"),
+ boost::lexical_cast<T>("94502174456823500410273859320305796679166852272710551371224774167211546005488756028346092926250374630960298563009031752767666154308445444788741372315376740807380188009185"),
+ boost::lexical_cast<T>("152907730281912555950258090883966397788288453429983113783966509949308841965332769636656895074378831628341786976820937286433941176671567238990990010790381446151875788123712"),
+ boost::lexical_cast<T>("247409904738736056360531950204272194467455305702693665155191284116520387970821525665002988000629206259302085539829969039201607330980012683779731383105758186959255976132897"),
+ boost::lexical_cast<T>("400317635020648612310790041088238592255743759132676778939157794065829229936154295301659883075008037887643872516650906325635548507651579922770721393896139633111131764256609"),
+ boost::lexical_cast<T>("647727539759384668671321991292510786723199064835370444094349078182349617906975820966662871075637244146945958056480875364837155838631592606550452777001897820070387740389506"),
+ boost::lexical_cast<T>("1048045174780033280982112032380749378978942823968047223033506872248178847843130116268322754150645282034589830573131781690472704346283172529321174170898037453181519504646115"),
+ boost::lexical_cast<T>("1695772714539417949653434023673260165702141888803417667127855950430528465750105937234985625226282526181535788629612657055309860184914765135871626947899935273251907245035621"),
+ boost::lexical_cast<T>("2743817889319451230635546056054009544681084712771464890161362822678707313593236053503308379376927808216125619202744438745782564531197937665192801118797972726433426749681736"),
+ boost::lexical_cast<T>("4439590603858869180288980079727269710383226601574882557289218773109235779343341990738294004603210334397661407832357095801092424716112702801064428066697907999685333994717357"),
+ boost::lexical_cast<T>("7183408493178320410924526135781279255064311314346347447450581595787943092936578044241602383980138142613787027035101534546874989247310640466257229185495880726118760744399093"),
+ boost::lexical_cast<T>("11622999097037189591213506215508548965447537915921230004739800368897178872279920034979896388583348477011448434867458630347967413963423343267321657252193788725804094739116450"),
+ boost::lexical_cast<T>("18806407590215510002138032351289828220511849230267577452190381964685121965216498079221498772563486619625235461902560164894842403210733983733578886437689669451922855483515543"),
+ boost::lexical_cast<T>("30429406687252699593351538566798377185959387146188807456930182333582300837496418114201395161146835096636683896770018795242809817174157327000900543689883458177726950222631993"),
+ boost::lexical_cast<T>("49235814277468209595489570918088205406471236376456384909120564298267422802712916193422893933710321716261919358672578960137652220384891310734479430127573127629649805706147536"),
+ boost::lexical_cast<T>("79665220964720909188841109484886582592430623522645192366050746631849723640209334307624289094857156812898603255442597755380462037559048637735379973817456585807376755928779529"),
+ boost::lexical_cast<T>("128901035242189118784330680402974787998901859899101577275171310930117146442922250501047183028567478529160522614115176715518114257943939948469859403945029713437026561634927065"),
+ boost::lexical_cast<T>("208566256206910027973171789887861370591332483421746769641222057561966870083131584808671472123424635342059125869557774470898576295502988586205239377762486299244403317563706594"),
+ boost::lexical_cast<T>("337467291449099146757502470290836158590234343320848346916393368492084016526053835309718655151992113871219648483672951186416690553446928534675098781707516012681429879198633659"),
+ boost::lexical_cast<T>("546033547656009174730674260178697529181566826742595116557615426054050886609185420118390127275416749213278774353230725657315266848949917120880338159470002311925833196762340253"),
+ boost::lexical_cast<T>("883500839105108321488176730469533687771801170063443463474008794546134903135239255428108782427408863084498422836903676843731957402396845655555436941177518324607263075960973912"),
+ boost::lexical_cast<T>("1429534386761117496218850990648231216953367996806038580031624220600185789744424675546498909702825612297777197190134402501047224251346762776435775100647520636533096272723314165"),
+ boost::lexical_cast<T>("2313035225866225817707027721117764904725169166869482043505633015146320692879663930974607692130234475382275620027038079344779181653743608431991212041825038961140359348684288077"),
+ boost::lexical_cast<T>("3742569612627343313925878711765996121678537163675520623537257235746506482624088606521106601833060087680052817217172481845826405905090371208426987142472559597673455621407602242"),
+ boost::lexical_cast<T>("6055604838493569131632906432883761026403706330545002667042890250892827175503752537495714293963294563062328437244210561190605587558833979640418199184297598558813814970091890319"),
+ boost::lexical_cast<T>("9798174451120912445558785144649757148082243494220523290580147486639333658127841144016820895796354650742381254461383043036431993463924350848845186326770158156487270591499492561"),
+ boost::lexical_cast<T>("15853779289614481577191691577533518174485949824765525957623037737532160833631593681512535189759649213804709691705593604227037581022758330489263385511067756715301085561591382880"),
+ boost::lexical_cast<T>("25651953740735394022750476722183275322568193318986049248203185224171494491759434825529356085556003864547090946166976647263469574486682681338108571837837914871788356153090875441"),
+ boost::lexical_cast<T>("41505733030349875599942168299716793497054143143751575205826222961703655325391028507041891275315653078351800637872570251490507155509441011827371957348905671587089441714682258321"),
+ boost::lexical_cast<T>("67157686771085269622692645021900068819622336462737624454029408185875149817150463332571247360871656942898891584039546898753976729996123693165480529186743586458877797867773133762"),
+ boost::lexical_cast<T>("108663419801435145222634813321616862316676479606489199659855631147578805142541491839613138636187310021250692221912117150244483885505564704992852486535649258045967239582455392083"),
+ boost::lexical_cast<T>("175821106572520414845327458343516931136298816069226824113885039333453954959691955172184385997058966964149583805951664048998460615501688398158333015722392844504845037450228525845"),
+ boost::lexical_cast<T>("284484526373955560067962271665133793452975295675716023773740670481032760102233447011797524633246276985400276027863781199242944501007253103151185502258042102550812277032683917928"),
+ boost::lexical_cast<T>("460305632946475974913289730008650724589274111744942847887625709814486715061925402183981910630305243949549859833815445248241405116508941501309518517980434947055657314482912443773"),
+ boost::lexical_cast<T>("744790159320431534981252001673784518042249407420658871661366380295519475164158849195779435263551520934950135861679226447484349617516194604460704020238477049606469591515596361701"),
+ boost::lexical_cast<T>("1205095792266907509894541731682435242631523519165601719548992090110006190226084251379761345893856764884499995695494671695725754734025136105770222538218911996662126905998508805474"),
+ boost::lexical_cast<T>("1949885951587339044875793733356219760673772926586260591210358470405525665390243100575540781157408285819450131557173898143210104351541330710230926558457389046268596497514105167175"),
+ boost::lexical_cast<T>("3154981743854246554770335465038655003305296445751862310759350560515531855616327351955302127051265050703950127252668569838935859085566466816001149096676301042930723403512613972649"),
+ boost::lexical_cast<T>("5104867695441585599646129198394874763979069372338122901969709030921057521006570452530842908208673336523400258809842467982145963437107797526232075655133690089199319901026719139824"),
+ boost::lexical_cast<T>("8259849439295832154416464663433529767284365818089985212729059591436589376622897804486145035259938387227350386062511037821081822522674264342233224751809991132130043304539333112473"),
+ boost::lexical_cast<T>("13364717134737417754062593861828404531263435190428108114698768622357646897629468257016987943468611723750750644872353505803227785959782061868465300406943681221329363205566052252297"),
+ boost::lexical_cast<T>("21624566574033249908479058525261934298547801008518093327427828213794236274252366061503132978728550110978101030934864543624309608482456326210698525158753672353459406510105385364770"),
+ boost::lexical_cast<T>("34989283708770667662541652387090338829811236198946201442126596836151883171881834318520120922197161834728851675807218049427537394442238388079163825565697353574788769715671437617067"),
+ boost::lexical_cast<T>("56613850282803917571020710912352273128359037207464294769554425049946119446134200380023253900925711945706952706742082593051847002924694714289862350724451025928248176225776822981837"),
+ boost::lexical_cast<T>("91603133991574585233562363299442611958170273406410496211681021886098002618016034698543374823122873780435804382549300642479384397366933102369026176290148379503036945941448260598904"),
+ boost::lexical_cast<T>("148216984274378502804583074211794885086529310613874790981235446936044122064150235078566628724048585726142757089291383235531231400291627816658888527014599405431285122167225083580741"),
+ boost::lexical_cast<T>("239820118265953088038145437511237497044699584020285287192916468822142124682166269777110003547171459506578561471840683878010615797658560919027914703304747784934322068108673344179645"),
+ boost::lexical_cast<T>("388037102540331590842728511723032382131228894634160078174151915758186246746316504855676632271220045232721318561132067113541847197950188735686803230319347190365607190275898427760386"),
+ boost::lexical_cast<T>("627857220806284678880873949234269879175928478654445365367068384580328371428482774632786635818391504739299880032972750991552462995608749654714717933624094975299929258384571771940031"),
+ boost::lexical_cast<T>("1015894323346616269723602460957302261307157373288605443541220300338514618174799279488463268089611549972021198594104818105094310193558938390401521163943442165665536448660470199700417"),
+ boost::lexical_cast<T>("1643751544152900948604476410191572140483085851943050808908288684918842989603282054121249903908003054711321078627077569096646773189167688045116239097567537140965465707045041971640448"),
+ boost::lexical_cast<T>("2659645867499517218328078871148874401790243225231656252449508985257357607778081333609713171997614604683342277221182387201741083382726626435517760261510979306631002155705512171340865"),
+ boost::lexical_cast<T>("4303397411652418166932555281340446542273329077174707061357797670176200597381363387730963075905617659394663355848259956298387856571894314480633999359078516447596467862750554142981313"),
+ boost::lexical_cast<T>("6963043279151935385260634152489320944063572302406363313807306655433558205159444721340676247903232264078005633069442343500128939954620940916151759620589495754227470018456066314322178"),
+ boost::lexical_cast<T>("11266440690804353552193189433829767486336901379581070375165104325609758802540808109071639323808849923472668988917702299798516796526515255396785758979668012201823937881206620457303491"),
+ boost::lexical_cast<T>("18229483969956288937453823586319088430400473681987433688972410981043317007700252830412315571712082187550674621987144643298645736481136196312937518600257507956051407899662686771625669"),
+ boost::lexical_cast<T>("29495924660760642489647013020148855916737375061568504064137515306653075810241060939483954895520932111023343610904846943097162533007651451709723277579925520157875345780869307228929160"),
+ boost::lexical_cast<T>("47725408630716931427100836606467944347137848743555937753109926287696392817941313769896270467233014298574018232891991586395808269488787648022660796180183028113926753680531994000554829"),
+ boost::lexical_cast<T>("77221333291477573916747849626616800263875223805124441817247441594349468628182374709380225362753946409597361843796838529492970802496439099732384073760108548271802099461401301229483989"),
+ boost::lexical_cast<T>("124946741922194505343848686233084744611013072548680379570357367882045861446123688479276495829986960708171380076688830115888779071985226747755044869940291576385728853141933295230038818"),
+ boost::lexical_cast<T>("202168075213672079260596535859701544874888296353804821387604809476395330074306063188656721192740907117768741920485668645381749874481665847487428943700400124657530952603334596459522807"),
+ boost::lexical_cast<T>("327114817135866584604445222092786289485901368902485200957962177358441191520429751667933217022727867825940121997174498761270528946466892595242473813640691701043259805745267891689561625"),
+ boost::lexical_cast<T>("529282892349538663865041757952487834360789665256290022345566986834836521594735814856589938215468774943708863917660167406652278820948558442729902757341091825700790758348602488149084432"),
+ boost::lexical_cast<T>("856397709485405248469486980045274123846691034158775223303529164193277713115165566524523155238196642769648985914834666167922807767415451037972376570981783526744050564093870379838646057"),
+ boost::lexical_cast<T>("1385680601834943912334528737997761958207480699415065245649096151028114234709901381381113093453665417713357849832494833574575086588364009480702279328322875352444841322442472867987730489"),
+ boost::lexical_cast<T>("2242078311320349160804015718043036082054171733573840468952625315221391947825066947905636248691862060483006835747329499742497894355779460518674655899304658879188891886536343247826376546"),
+ boost::lexical_cast<T>("3627758913155293073138544456040798040261652432988905714601721466249506182534968329286749342145527478196364685579824333317072980944143469999376935227627534231633733208978816115814107035"),
+ boost::lexical_cast<T>("5869837224475642233942560174083834122315824166562746183554346781470898130360035277192385590837389538679371521327153833059570875299922930518051591126932193110822625095515159363640483581"),
+ boost::lexical_cast<T>("9497596137630935307081104630124632162577476599551651898156068247720404312895003606479134932982917016875736206906978166376643856244066400517428526354559727342456358304493975479454590616"),
+ boost::lexical_cast<T>("15367433362106577541023664804208466284893300766114398081710415029191302443255038883671520523820306555555107728234131999436214731543989331035480117481491920453278983400009134843095074197"),
+ boost::lexical_cast<T>("24865029499737512848104769434333098447470777365666049979866483276911706756150042490150655456803223572430843935141110165812858587788055731552908643836051647795735341704503110322549664813"),
+ boost::lexical_cast<T>("40232462861844090389128434238541564732364078131780448061576898306103009199405081373822175980623530127985951663375242165249073319332045062588388761317543568249014325104512245165644739010"),
+ boost::lexical_cast<T>("65097492361581603237233203672874663179834855497446498041443381583014715955555123863972831437426753700416795598516352331061931907120100794141297405153595216044749666809015355488194403823"),
+ boost::lexical_cast<T>("105329955223425693626361637911416227912198933629226946103020279889117725154960205237795007418050283828402747261891594496311005226452145856729686166471138784293763991913527600653839142833"),
+ boost::lexical_cast<T>("170427447585007296863594841584290891092033789126673444144463661472132441110515329101767838855477037528819542860407946827372937133572246650870983571624734000338513658722542956142033546656"),
+ boost::lexical_cast<T>("275757402808432990489956479495707119004232722755900390247483941361250166265475534339562846273527321357222290122299541323683942360024392507600669738095872784632277650636070556795872689489"),
+ boost::lexical_cast<T>("446184850393440287353551321079998010096266511882573834391947602833382607375990863441330685129004358886041832982707488151056879493596639158471653309720606784970791309358613512937906236145"),
+ boost::lexical_cast<T>("721942253201873277843507800575705129100499234638474224639431544194632773641466397780893531402531680243264123105007029474740821853621031666072323047816479569603068959994684069733778925634"),
+ boost::lexical_cast<T>("1168127103595313565197059121655703139196765746521048059031379147028015381017457261222224216531536039129305956087714517625797701347217670824543976357537086354573860269353297582671685161779"),
+ boost::lexical_cast<T>("1890069356797186843040566922231408268297264981159522283670810691222648154658923659003117747934067719372570079192721547100538523200838702490616299405353565924176929229347981652405464087413"),
+ boost::lexical_cast<T>("3058196460392500408237626043887111407494030727680570342702189838250663535676380920225341964465603758501876035280436064726336224548056373315160275762890652278750789498701279235077149249192"),
+ boost::lexical_cast<T>("4948265817189687251278192966118519675791295708840092626373000529473311690335304579228459712399671477874446114473157611826874747748895075805776575168244218202927718728049260887482613336605"),
+ boost::lexical_cast<T>("8006462277582187659515819010005631083285326436520662969075190367723975226011685499453801676865275236376322149753593676553210972296951449120936850931134870481678508226750540122559762585797"),
+ boost::lexical_cast<T>("12954728094771874910794011976124150759076622145360755595448190897197286916346990078682261389264946714250768264226751288380085720045846524926713426099379088684606226954799801010042375922402"),
+ boost::lexical_cast<T>("20961190372354062570309830986129781842361948581881418564523381264921262142358675578136063066130221950627090413980344964933296692342797974047650277030513959166284735181550341132602138508199"),
+ boost::lexical_cast<T>("33915918467125937481103842962253932601438570727242174159971572162118549058705665656818324455395168664877858678207096253313382412388644498974363703129893047850890962136350142142644514430601"),
+ boost::lexical_cast<T>("54877108839480000051413673948383714443800519309123592724494953427039811201064341234954387521525390615504949092187441218246679104731442473022013980160407007017175697317900483275246652938800"),
+ boost::lexical_cast<T>("88793027306605937532517516910637647045239090036365766884466525589158360259770006891772711976920559280382807770394537471560061517120086971996377683290300054868066659454250625417891167369401"),
+ boost::lexical_cast<T>("143670136146085937583931190859021361489039609345489359608961479016198171460834348126727099498445949895887756862581978689806740621851529445018391663450707061885242356772151108693137820308201"),
+ boost::lexical_cast<T>("232463163452691875116448707769659008534278699381855126493428004605356531720604355018499811475366509176270564632976516161366802138971616417014769346741007116753309016226401734111028987677602"),
+ boost::lexical_cast<T>("376133299598777812700379898628680370023318308727344486102389483621554703181438703145226910973812459072158321495558494851173542760823145862033161010191714178638551372998552842804166807985803"),
+ boost::lexical_cast<T>("608596463051469687816828606398339378557597008109199612595817488226911234902043058163726722449178968248428886128535011012540344899794762279047930356932721295391860389224954576915195795663405"),
+ boost::lexical_cast<T>("984729762650247500517208505027019748580915316836544098698206971848465938083481761308953633422991427320587207624093505863713887660617908141081091367124435474030411762223507419719362603649208"),
+ boost::lexical_cast<T>("1593326225701717188334037111425359127138512324945743711294024460075377172985524819472680355872170395569016093752628516876254232560412670420129021724057156769422272151448461996634558399312613"),
+ boost::lexical_cast<T>("2578055988351964688851245616452378875719427641782287809992231431923843111069006580781633989295161822889603301376722022739968120221030578561210113091181592243452683913671969416353921002961821"),
+ boost::lexical_cast<T>("4171382214053681877185282727877738002857939966728031521286255891999220284054531400254314345167332218458619395129350539616222352781443248981339134815238749012874956065120431412988479402274434"),
+ boost::lexical_cast<T>("6749438202405646566036528344330116878577367608510319331278487323923063395123537981035948334462494041348222696506072562356190473002473827542549247906420341256327639978792400829342400405236255"),
+ boost::lexical_cast<T>("10920820416459328443221811072207854881435307575238350852564743215922283679178069381290262679629826259806842091635423101972412825783917076523888382721659090269202596043912832242330879807510689"),
+ boost::lexical_cast<T>("17670258618864975009258339416537971760012675183748670183843230539845347074301607362326211014092320301155064788141495664328603298786390904066437630628079431525530236022705233071673280212746944"),
+ boost::lexical_cast<T>("28591079035324303452480150488745826641447982758987021036407973755767630753479676743616473693722146560961906879776918766301016124570307980590326013349738521794732832066618065314004160020257633"),
+ boost::lexical_cast<T>("46261337654189278461738489905283798401460657942735691220251204295612977827781284105942684707814466862116971667918414430629619423356698884656763643977817953320263068089323298385677440233004577"),
+ boost::lexical_cast<T>("74852416689513581914218640394029625042908640701722712256659178051380608581260960849559158401536613423078878547695333196930635547927006865247089657327556475114995900155941363699681600253262210"),
+ boost::lexical_cast<T>("121113754343702860375957130299313423444369298644458403476910382346993586409042244955501843109351080285195850215613747627560254971283705749903853301305374428435258968245264662085359040486266787"),
+ boost::lexical_cast<T>("195966171033216442290175770693343048487277939346181115733569560398374194990303205805061001510887693708274728763309080824490890519210712615150942958632930903550254868401206025785040640739528997"),
+ boost::lexical_cast<T>("317079925376919302666132900992656471931647237990639519210479942745367781399345450760562844620238773993470578978922828452051145490494418365054796259938305331985513836646470687870399681225795784"),
+ boost::lexical_cast<T>("513046096410135744956308671685999520418925177336820634944049503143741976389648656565623846131126467701745307742231909276542036009705130980205739218571236235535768705047676713655440321965324781"),
+ boost::lexical_cast<T>("830126021787055047622441572678655992350572415327460154154529445889109757788994107326186690751365241695215886721154737728593181500199549345260535478509541567521282541694147401525840003191120565"),
+ boost::lexical_cast<T>("1343172118197190792578750244364655512769497592664280789098578949032851734178642763891810536882491709396961194463386647005135217509904680325466274697080777803057051246741824115181280325156445346"),
+ boost::lexical_cast<T>("2173298139984245840201191817043311505120070007991740943253108394921961491967636871217997227633856951092177081184541384733728399010104229670726810175590319370578333788435971516707120328347565911"),
+ boost::lexical_cast<T>("3516470258181436632779942061407967017889567600656021732351687343954813226146279635109807764516348660489138275647928031738863616520008909996193084872671097173635385035177795631888400653504011257"),
+ boost::lexical_cast<T>("5689768398165682472981133878451278523009637608647762675604795738876774718113916506327804992150205611581315356832469416472592015530113139666919895048261416544213718823613767148595520981851577168"),
+ boost::lexical_cast<T>("9206238656347119105761075939859245540899205209303784407956483082831587944260196141437612756666554272070453632480397448211455632050122049663112979920932513717849103858791562780483921635355588425"),
+ boost::lexical_cast<T>("14896007054512801578742209818310524063908842817951547083561278821708362662374112647765417748816759883651768989312866864684047647580235189330032874969193930262062822682405329929079442617207165593"),
+ boost::lexical_cast<T>("24102245710859920684503285758169769604808048027255331491517761904539950606634308789203030505483314155722222621793264312895503279630357238993145854890126443979911926541196892709563364252562754018"),
+ boost::lexical_cast<T>("38998252765372722263245495576480293668716890845206878575079040726248313269008421436968448254300074039373991611106131177579550927210592428323178729859320374241974749223602222638642806869769919611"),
+ boost::lexical_cast<T>("63100498476232642947748781334650063273524938872462210066596802630788263875642730226171478759783388195096214232899395490475054206840949667316324584749446818221886675764799115348206171122332673629"),
+ boost::lexical_cast<T>("102098751241605365210994276911130356942241829717669088641675843357036577144651151663139927014083462234470205844005526668054605134051542095639503314608767192463861424988401337986848977992102593240"),
+ boost::lexical_cast<T>("165199249717838008158743058245780420215766768590131298708272645987824841020293881889311405773866850429566420076904922158529659340892491762955827899358214010685748100753200453335055149114435266869"),
+ boost::lexical_cast<T>("267298000959443373369737335156910777158008598307800387349948489344861418164945033552451332787950312664036625920910448826584264474944033858595331213966981203149609525741601791321904127106537860109"),
+ boost::lexical_cast<T>("432497250677281381528480393402691197373775366897931686058221135332686259185238915441762738561817163093603045997815370985113923815836525621551159113325195213835357626494802244656959276220973126978"),
+ boost::lexical_cast<T>("699795251636724754898217728559601974531783965205732073408169624677547677350183948994214071349767475757639671918725819811698188290780559480146490327292176416984967152236404035978863403327510987087"),
+ boost::lexical_cast<T>("1132292502314006136426698121962293171905559332103663759466390760010233936535422864435976809911584638851242717916541190796812112106617085101697649440617371630820324778731206280635822679548484114065"),
+ boost::lexical_cast<T>("1832087753950730891324915850521895146437343297309395832874560384687781613885606813430190881261352114608882389835267010608510300397397644581844139767909548047805291930967610316614686082875995101152"),
+ boost::lexical_cast<T>("2964380256264737027751613972484188318342902629413059592340951144698015550421029677866167691172936753460125107751808201405322412504014729683541789208526919678625616709698816597250508762424479215217"),
+ boost::lexical_cast<T>("4796468010215467919076529823006083464780245926722455425215511529385797164306636491296358572434288868069007497587075212013832712901412374265385928976436467726430908640666426913865194845300474316369"),
+ boost::lexical_cast<T>("7760848266480204946828143795490271783123148556135515017556462674083812714727666169162526263607225621529132605338883413419155125405427103948927718184963387405056525350365243511115703607724953531586"),
+ boost::lexical_cast<T>("12557316276695672865904673618496355247903394482857970442771974203469609879034302660458884836041514489598140102925958625432987838306839478214313647161399855131487433991031670424980898453025427847955"),
+ boost::lexical_cast<T>("20318164543175877812732817413986627031026543038993485460328436877553422593761968829621411099648740111127272708264842038852142963712266582163241365346363242536543959341396913936096602060750381379541"),
+ boost::lexical_cast<T>("32875480819871550678637491032482982278929937521851455903100411081023032472796271490080295935690254600725412811190800664285130802019106060377555012507763097668031393332428584361077500513775809227496"),
+ boost::lexical_cast<T>("53193645363047428491370308446469609309956480560844941363428847958576455066558240319701707035338994711852685519455642703137273765731372642540796377854126340204575352673825498297174102574526190607037"),
+ boost::lexical_cast<T>("86069126182918979170007799478952591588886418082696397266529259039599487539354511809782002971029249312578098330646443367422404567750478702918351390361889437872606746006254082658251603088301999834533"),
+ boost::lexical_cast<T>("139262771545966407661378107925422200898842898643541338629958106998175942605912752129483710006368244024430783850102086070559678333481851345459147768216015778077182098680079580955425705662828190441570"),
+ boost::lexical_cast<T>("225331897728885386831385907404374792487729316726237735896487366037775430145267263939265712977397493337008882180748529437982082901232330048377499158577905215949788844686333663613677308751130190276103"),
+ boost::lexical_cast<T>("364594669274851794492764015329796993386572215369779074526445473035951372751180016068749422983765737361439666030850615508541761234714181393836646926793920994026970943366413244569103014413958380717673"),
+ boost::lexical_cast<T>("589926567003737181324149922734171785874301532096016810422932839073726802896447280008015135961163230698448548211599144946523844135946511442214146085371826209976759788052746908182780323165088570993776"),
+ boost::lexical_cast<T>("954521236278588975816913938063968779260873747465795884949378312109678175647627296076764558944928968059888214242449760455065605370660692836050793012165747204003730731419160152751883337579046951711449"),
+ boost::lexical_cast<T>("1544447803282326157141063860798140565135175279561812695372311151183404978544074576084779694906092198758336762454048905401589449506607204278264939097537573413980490519471907060934663660744135522705225"),
+ boost::lexical_cast<T>("2498969039560915132957977798862109344396049027027608580321689463293083154191701872161544253851021166818224976696498665856655054877267897114315732109703320617984221250891067213686546998323182474416674"),
+ boost::lexical_cast<T>("4043416842843241290099041659660249909531224306589421275694000614476488132735776448246323948757113365576561739150547571258244504383875101392580671207240894031964711770362974274621210659067317997121899"),
+ boost::lexical_cast<T>("6542385882404156423057019458522359253927273333617029856015690077769571286927478320407868202608134532394786715847046237114899559261142998506896403316944214649948933021254041488307757657390500471538573"),
+ boost::lexical_cast<T>("10585802725247397713156061118182609163458497640206451131709690692246059419663254768654192151365247897971348454997593808373144063645018099899477074524185108681913644791617015762928968316457818468660472"),
+ boost::lexical_cast<T>("17128188607651554136213080576704968417385770973823480987725380770015630706590733089062060353973382430366135170844640045488043622906161098406373477841129323331862577812871057251236725973848318940199045"),
+ boost::lexical_cast<T>("27713991332898951849369141694887577580844268614029932119435071462261690126253987857716252505338630328337483625842233853861187686551179198305850552365314432013776222604488073014165694290306137408859517"),
+ boost::lexical_cast<T>("44842179940550505985582222271592545998230039587853413107160452232277320832844720946778312859312012758703618796686873899349231309457340296712224030206443755345638800417359130265402420264154456349058562"),
+ boost::lexical_cast<T>("72556171273449457834951363966480123579074308201883345226595523694539010959098708804494565364650643087041102422529107753210418996008519495018074582571758187359415023021847203279568114554460593757918079"),
+ boost::lexical_cast<T>("117398351213999963820533586238072669577304347789736758333755975926816331791943429751272878223962655845744721219215981652559650305465859791730298612778201942705053823439206333544970534818615050106976641"),
+ boost::lexical_cast<T>("189954522487449421655484950204552793156378655991620103560351499621355342751042138555767443588613298932785823641745089405770069301474379286748373195349960130064468846461053536824538649373075643864894720"),
+ boost::lexical_cast<T>("307352873701449385476018536442625462733683003781356861894107475548171674542985568307040321812575954778530544860961071058329719606940239078478671808128162072769522669900259870369509184191690693971871361"),
+ boost::lexical_cast<T>("497307396188898807131503486647178255890061659772976965454458975169527017294027706862807765401189253711316368502706160464099788908414618365227045003478122202833991516361313407194047833564766337836766081"),
+ boost::lexical_cast<T>("804660269890348192607522023089803718623744663554333827348566450717698691837013275169848087213765208489846913363667231522429508515354857443705716811606284275603514186261573277563557017756457031808637442"),
+ boost::lexical_cast<T>("1301967666079246999739025509736981974513806323327310792803025425887225709131040982032655852614954462201163281866373391986529297423769475808932761815084406478437505702622886684757604851321223369645403523"),
+ boost::lexical_cast<T>("2106627935969595192346547532826785693137550986881644620151591876604924400968054257202503939828719670691010195230040623508958805939124333252638478626690690754041019888884459962321161869077680401454040965"),
+ boost::lexical_cast<T>("3408595602048842192085573042563767667651357310208955412954617302492150110099095239235159792443674132892173477096414015495488103362893809061571240441775097232478525591507346647078766720398903771099444488"),
+ boost::lexical_cast<T>("5515223538018437384432120575390553360788908297090600033106209179097074511067149496437663732272393803583183672326454639004446909302018142314209719068465787986519545480391806609399928589476584172553485453"),
+ boost::lexical_cast<T>("8923819140067279576517693617954321028440265607299555446060826481589224621166244735672823524716067936475357149422868654499935012664911951375780959510240885218998071071899153256478695309875487943652929941"),
+ boost::lexical_cast<T>("14439042678085716960949814193344874389229173904390155479167035660686299132233394232110487256988461740058540821749323293504381921966930093689990678578706673205517616552290959865878623899352072116206415394"),
+ boost::lexical_cast<T>("23362861818152996537467507811299195417669439511689710925227862142275523753399638967783310781704529676533897971172191948004316934631842045065771638088947558424515687624190113122357319209227560059859345335"),
+ boost::lexical_cast<T>("37801904496238713498417322004644069806898613416079866404394897802961822885633033199893798038692991416592438792921515241508698856598772138755762316667654231630033304176481072988235943108579632176065760729"),
+ boost::lexical_cast<T>("61164766314391710035884829815943265224568052927769577329622759945237346639032672167677108820397521093126336764093707189513015791230614183821533954756601790054548991800671186110593262317807192235925106064"),
+ boost::lexical_cast<T>("98966670810630423534302151820587335031466666343849443734017657748199169524665705367570906859090512509718775557015222431021714647829386322577296271424256021684582295977152259098829205426386824411990866793"),
+ boost::lexical_cast<T>("160131437125022133570186981636530600256034719271619021063640417693436516163698377535248015679488033602845112321108929620534730439060000506398830226180857811739131287777823445209422467744194016647915972857"),
+ boost::lexical_cast<T>("259098107935652557104489133457117935287501385615468464797658075441635685688364082902818922538578546112563887878124152051556445086889386828976126497605113833423713583754975704308251673170580841059906839650"),
+ boost::lexical_cast<T>("419229545060674690674676115093648535543536104887087485861298493135072201852062460438066938218066579715409000199233081672091175525949387335374956723785971645162844871532799149517674140914774857707822812507"),
+ boost::lexical_cast<T>("678327652996327247779165248550766470831037490502555950658956568576707887540426543340885860756645125827972888077357233723647620612838774164351083221391085478586558455287774853825925814085355698767729652157"),
+ boost::lexical_cast<T>("1097557198057001938453841363644415006374573595389643436520255061711780089392489003778952798974711705543381888276590315395738796138788161499726039945177057123749403326820574003343599955000130556475552464664"),
+ boost::lexical_cast<T>("1775884851053329186233006612195181477205611085892199387179211630288487976932915547119838659731356831371354776353947549119386416751626935664077123166568142602335961782108348857169525769085486255243282116821"),
+ boost::lexical_cast<T>("2873442049110331124686847975839596483580184681281842823699466692000268066325404550898791458706068536914736664630537864515125212890415097163803163111745199726085365108928922860513125724085616811718834581485"),
+ boost::lexical_cast<T>("4649326900163660310919854588034777960785795767174042210878678322288756043258320098018630118437425368286091440984485413634511629642042032827880286278313342328421326891037271717682651493171103066962116698306"),
+ boost::lexical_cast<T>("7522768949273991435606702563874374444365980448455885034578145014289024109583724648917421577143493905200828105615023278149636842532457129991683449390058542054506691999966194578195777217256719878680951279791"),
+ boost::lexical_cast<T>("12172095849437651746526557151909152405151776215629927245456823336577780152842044746936051695580919273486919546599508691784148472174499162819563735668371884382928018891003466295878428710427822945643067978097"),
+ boost::lexical_cast<T>("19694864798711643182133259715783526849517756664085812280034968350866804262425769395853473272724413178687747652214531969933785314706956292811247185058430426437434710890969660874074205927684542824324019257888"),
+ boost::lexical_cast<T>("31866960648149294928659816867692679254669532879715739525491791687444584415267814142789524968305332452174667198814040661717933786881455455630810920726802310820362729781973127169952634638112365769967087235985"),
+ boost::lexical_cast<T>("51561825446860938110793076583476206104187289543801551805526760038311388677693583538642998241029745630862414851028572631651719101588411748442058105785232737257797440672942788044026840565796908594291106493873"),
+ boost::lexical_cast<T>("83428786095010233039452893451168885358856822423517291331018551725755973092961397681432523209335078083037082049842613293369652888469867204072869026512035048078160170454915915213979475203909274364258193729858"),
+ boost::lexical_cast<T>("134990611541871171150245970034645091463044111967318843136545311764067361770654981220075521450364823713899496900871185925021371990058278952514927132297267785335957611127858703258006315769706182958549300223731"),
+ boost::lexical_cast<T>("218419397636881404189698863485813976821900934390836134467563863489823334863616378901508044659699901796936578950713799218391024878528146156587796158809302833414117781582774618471985790973615457322807493953589"),
+ boost::lexical_cast<T>("353410009178752575339944833520459068284945046358154977604109175253890696634271360121583566110064725510836075851584985143412396868586425109102723291106570618750075392710633321729992106743321640281356794177320"),
+ boost::lexical_cast<T>("571829406815633979529643697006273045106845980748991112071673038743714031497887739023091610769764627307772654802298784361803421747114571265690519449915873452164193174293407940201977897716937097604164288130909"),
+ boost::lexical_cast<T>("925239415994386554869588530526732113391791027107146089675782213997604728132159099144675176879829352818608730653883769505215818615700996374793242741022444070914268567004041261931970004460258737885521082308229"),
+ boost::lexical_cast<T>("1497068822810020534399232227533005158498637007856137201747455252741318759630046838167766787649593980126381385456182553867019240362815567640483762190938317523078461741297449202133947902177195835489685370439138"),
+ boost::lexical_cast<T>("2422308238804407089268820758059737271890428034963283291423237466738923487762205937312441964529423332944990116110066323372235058978516564015277004931960761593992730308301490464065917906637454573375206452747367"),
+ boost::lexical_cast<T>("3919377061614427623668052985592742430389065042819420493170692719480242247392252775480208752179017313071371501566248877239254299341332131655760767122899079117071192049598939666199865808814650408864891823186505"),
+ boost::lexical_cast<T>("6341685300418834712936873743652479702279493077782703784593930186219165735154458712792650716708440646016361617676315200611489358319848695671037772054859840711063922357900430130265783715452104982240098275933872"),
+ boost::lexical_cast<T>("10261062362033262336604926729245222132668558120602124277764622905699407982546711488272859468887457959087733119242564077850743657661180827326798539177758919828135114407499369796465649524266755391104990099120377"),
+ boost::lexical_cast<T>("16602747662452097049541800472897701834948051198384828062358553091918573717701170201065510185595898605104094736918879278462233015981029522997836311232618760539199036765399799926731433239718860373345088375054249"),
+ boost::lexical_cast<T>("26863810024485359386146727202142923967616609318986952340123175997617981700247881689338369654483356564191827856161443356312976673642210350324634850410377680367334151172899169723197082763985615764450078474174626"),
+ boost::lexical_cast<T>("43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875"),
+ boost::lexical_cast<T>("70330367711422815821835254877183549770181269836358732742604905087154537118196933579742249494562611733487750449241765991088186363265450223647106012053374121273867339111198139373125598767690091902245245323403501")
+ };
+ static const std::vector<T> data(numbers, numbers + sizeof(numbers) / sizeof(numbers[0]));
+
+ return data;
+}
+
+template <class T>
+std::vector<std::pair<T, T> > const& fibonacci_numbers_permution_1()
+{
+ typedef boost::integral_constant<int,
+ ((std::numeric_limits<T>::digits <= 16) ? 16 : ((std::numeric_limits<T>::digits <= 32) ? 32 : (std::numeric_limits<T>::digits <= 64) ? 64 : 0))
+ > tag_type;
+
+ static std::vector<std::pair<T, T> > data;
+ static bool init = false;
+ if(!init)
+ {
+ init = true;
+ for(unsigned i = 0; i < fibonacci_numbers<T>(tag_type()).size() - 1; ++i)
+ data.push_back(std::make_pair(fibonacci_numbers<T>(tag_type())[i], fibonacci_numbers<T>(tag_type())[i + 1]));
+ }
+ return data;
+}
+
+template <class T>
+std::vector<std::pair<T, T> > const& fibonacci_numbers_permution_2()
+{
+ typedef boost::integral_constant<int,
+ ((std::numeric_limits<T>::digits <= 16) ? 16 : ((std::numeric_limits<T>::digits <= 32) ? 32 : (std::numeric_limits<T>::digits <= 64) ? 64 : 0))
+ > tag_type;
+
+ static std::vector<std::pair<T, T> > data;
+ static bool init = false;
+ if(!init)
+ {
+ init = true;
+ for(unsigned i = 0; i < fibonacci_numbers<T>(tag_type()).size(); ++i)
+ for(unsigned j = 0; j < fibonacci_numbers<T>(tag_type()).size(); ++j)
+ data.push_back(std::make_pair(fibonacci_numbers<T>(tag_type())[i], fibonacci_numbers<T>(tag_type())[j]));
+ }
+ return data;
+}
+
+template <class T>
+std::vector<std::pair<T, T> > const & trivial_gcd_test_cases()
+{
+ static const std::pair<T, T> a[] = {
+ std::pair<T, T>(0, 0),
+ std::pair<T, T>(0, 832040u),
+ std::pair<T, T>(832040u, 0),
+ std::pair<T, T>(1u << 15, 1u << 4),
+ std::pair<T, T>(1u << 3, 1u << 14),
+ std::pair<T, T>(832040u, 832040u),
+ std::pair<T, T>(991u * 3 * 7, 991u),
+ std::pair<T, T>(991u * 2, 991u),
+ };
+ static const std::vector<std::pair<T, T> > data(a, a + sizeof(a) / sizeof(a[0]));
+ return data;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/html/boostbook.css b/src/boost/libs/math/reporting/performance/html/boostbook.css
new file mode 100644
index 000000000..d42b3c022
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/html/boostbook.css
@@ -0,0 +1,700 @@
+
+/*=============================================================================
+Copyright (c) 2004 Joel de Guzman
+http://spirit.sourceforge.net/
+
+Copyright 2013 Niall Douglas additions for colors and alignment.
+Copyright 2013 Paul A. Bristow additions for more colors and alignments.
+
+Distributed under the Boost Software License, Version 1.0. (See accompany-
+ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+/*=============================================================================
+Body defaults
+=============================================================================*/
+
+ body
+ {
+ margin: 1em;
+ font-family: sans-serif;
+ }
+
+/*=============================================================================
+Paragraphs
+=============================================================================*/
+
+ p
+ {
+ text-align: left;
+ font-size: 10pt;
+ line-height: 1.15;
+ }
+
+/*=============================================================================
+Program listings
+=============================================================================*/
+
+ /* Code on paragraphs */
+ p tt.computeroutput
+ {
+ font-size: 9pt;
+ }
+
+ pre.synopsis
+ {
+ font-size: 9pt;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ .programlisting,
+ .screen
+ {
+ font-size: 9pt;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ /* Program listings in tables don't get borders */
+ td .programlisting,
+ td .screen
+ {
+ margin: 0pc 0pc 0pc 0pc;
+ padding: 0pc 0pc 0pc 0pc;
+ }
+
+/*=============================================================================
+Headings
+=============================================================================*/
+
+ h1, h2, h3, h4, h5, h6
+ {
+ text-align: left;
+ margin: 1em 0em 0.5em 0em;
+ font-weight: bold;
+ }
+
+ h1 { font-size: 140%; }
+ h2 { font-weight: bold; font-size: 140%; }
+ h3 { font-weight: bold; font-size: 130%; }
+ h4 { font-weight: bold; font-size: 120%; }
+ h5 { font-weight: normal; font-style: italic; font-size: 110%; }
+ h6 { font-weight: normal; font-style: italic; font-size: 100%; }
+
+ /* Top page titles */
+ title,
+ h1.title,
+ h2.title
+ h3.title,
+ h4.title,
+ h5.title,
+ h6.title,
+ .refentrytitle
+ {
+ font-weight: bold;
+ margin-bottom: 1pc;
+ }
+
+ h1.title { font-size: 140% }
+ h2.title { font-size: 140% }
+ h3.title { font-size: 130% }
+ h4.title { font-size: 120% }
+ h5.title { font-size: 110% }
+ h6.title { font-size: 100% }
+
+ .section h1
+ {
+ margin: 0em 0em 0.5em 0em;
+ font-size: 140%;
+ }
+
+ .section h2 { font-size: 140% }
+ .section h3 { font-size: 130% }
+ .section h4 { font-size: 120% }
+ .section h5 { font-size: 110% }
+ .section h6 { font-size: 100% }
+
+ /* Code on titles */
+ h1 tt.computeroutput { font-size: 140% }
+ h2 tt.computeroutput { font-size: 140% }
+ h3 tt.computeroutput { font-size: 130% }
+ h4 tt.computeroutput { font-size: 130% }
+ h5 tt.computeroutput { font-size: 130% }
+ h6 tt.computeroutput { font-size: 130% }
+
+
+/*=============================================================================
+Author
+=============================================================================*/
+
+ h3.author
+ {
+ font-size: 100%
+ }
+
+/*=============================================================================
+Lists
+=============================================================================*/
+
+ li
+ {
+ font-size: 10pt;
+ line-height: 1.3;
+ }
+
+ /* Unordered lists */
+ ul
+ {
+ text-align: left;
+ }
+
+ /* Ordered lists */
+ ol
+ {
+ text-align: left;
+ }
+
+/*=============================================================================
+Links
+=============================================================================*/
+
+ a
+ {
+ text-decoration: none; /* no underline */
+ }
+
+ a:hover
+ {
+ text-decoration: underline;
+ }
+
+/*=============================================================================
+Spirit style navigation
+=============================================================================*/
+
+ .spirit-nav
+ {
+ text-align: right;
+ }
+
+ .spirit-nav a
+ {
+ color: white;
+ padding-left: 0.5em;
+ }
+
+ .spirit-nav img
+ {
+ border-width: 0px;
+ }
+
+/*=============================================================================
+Copyright footer
+=============================================================================*/
+ .copyright-footer
+ {
+ text-align: right;
+ font-size: 70%;
+ }
+
+ .copyright-footer p
+ {
+ text-align: right;
+ font-size: 80%;
+ }
+
+/*=============================================================================
+Table of contents
+=============================================================================*/
+
+ div.toc
+ {
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.1pc 1pc 0.1pc 1pc;
+ font-size: 80%;
+ line-height: 1.15;
+ }
+
+ .boost-toc
+ {
+ float: right;
+ padding: 0.5pc;
+ }
+
+ /* Code on toc */
+ .toc .computeroutput { font-size: 120% }
+
+ /* No margin on nested menus */
+
+ .toc dl dl { margin: 0; }
+
+/*=============================================================================
+Tables
+=============================================================================*/
+
+ .table-title,
+ div.table p.title
+ {
+ margin-left: 4%;
+ padding-right: 0.5em;
+ padding-left: 0.5em;
+ }
+
+ .informaltable table,
+ .table table
+ {
+ width: 92%;
+ margin-left: 4%;
+ margin-right: 4%;
+ }
+
+ div.informaltable table,
+ div.table table
+ {
+ padding: 4px;
+ }
+
+ /* Table Cells */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ padding: 0.5em;
+ text-align: left;
+ font-size: 9pt;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ padding: 0.5em 0.5em 0.5em 0.5em;
+ border: 1pt solid white;
+ font-size: 80%;
+ }
+
+ table.simplelist
+ {
+ width: auto !important;
+ margin: 0em !important;
+ padding: 0em !important;
+ border: none !important;
+ }
+ table.simplelist td
+ {
+ margin: 0em !important;
+ padding: 0em !important;
+ text-align: left !important;
+ font-size: 9pt !important;
+ border: none !important;
+ }
+
+/*=============================================================================
+Blurbs
+=============================================================================*/
+
+ div.note,
+ div.tip,
+ div.important,
+ div.caution,
+ div.warning,
+ p.blurb
+ {
+ font-size: 9pt; /* A little bit smaller than the main text */
+ line-height: 1.2;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ p.blurb img
+ {
+ padding: 1pt;
+ }
+
+/*=============================================================================
+Variable Lists
+=============================================================================*/
+
+ div.variablelist
+ {
+ margin: 1em 0;
+ }
+
+ /* Make the terms in definition lists bold */
+ div.variablelist dl dt,
+ span.term
+ {
+ font-weight: bold;
+ font-size: 10pt;
+ }
+
+ div.variablelist table tbody tr td
+ {
+ text-align: left;
+ vertical-align: top;
+ padding: 0em 2em 0em 0em;
+ font-size: 10pt;
+ margin: 0em 0em 0.5em 0em;
+ line-height: 1;
+ }
+
+ div.variablelist dl dt
+ {
+ margin-bottom: 0.2em;
+ }
+
+ div.variablelist dl dd
+ {
+ margin: 0em 0em 0.5em 2em;
+ font-size: 10pt;
+ }
+
+ div.variablelist table tbody tr td p,
+ div.variablelist dl dd p
+ {
+ margin: 0em 0em 0.5em 0em;
+ line-height: 1;
+ }
+
+/*=============================================================================
+Misc
+=============================================================================*/
+
+ /* Title of books and articles in bibliographies */
+ span.title
+ {
+ font-style: italic;
+ }
+
+ span.underline
+ {
+ text-decoration: underline;
+ }
+
+ span.strikethrough
+ {
+ text-decoration: line-through;
+ }
+
+ /* Copyright, Legal Notice */
+ div div.legalnotice p
+ {
+ text-align: left
+ }
+
+/*=============================================================================
+Colors
+=============================================================================*/
+
+ @media screen
+ {
+ body {
+ background-color: #FFFFFF;
+ color: #000000;
+ }
+
+ /* Syntax Highlighting */
+ .keyword { color: #0000AA; }
+ .identifier { color: #000000; }
+ .special { color: #707070; }
+ .preprocessor { color: #402080; }
+ .char { color: teal; }
+ .comment { color: #800000; }
+ .string { color: teal; }
+ .number { color: teal; }
+ .white_bkd { background-color: #FFFFFF; }
+ .dk_grey_bkd { background-color: #999999; }
+
+ /* Links */
+ a, a .keyword, a .identifier, a .special, a .preprocessor
+ a .char, a .comment, a .string, a .number
+ {
+ color: #005a9c;
+ }
+
+ a:visited, a:visited .keyword, a:visited .identifier,
+ a:visited .special, a:visited .preprocessor a:visited .char,
+ a:visited .comment, a:visited .string, a:visited .number
+ {
+ color: #9c5a9c;
+ }
+
+ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
+ h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
+ h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
+ {
+ text-decoration: none; /* no underline */
+ color: #000000;
+ }
+
+ /* Copyright, Legal Notice */
+ .copyright
+ {
+ color: #666666;
+ font-size: small;
+ }
+
+ div div.legalnotice p
+ {
+ color: #666666;
+ }
+
+ /* Program listing */
+ pre.synopsis
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ .programlisting,
+ .screen
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ td .programlisting,
+ td .screen
+ {
+ border: 0px solid #DCDCDC;
+ }
+
+ /* Blurbs */
+ div.note,
+ div.tip,
+ div.important,
+ div.caution,
+ div.warning,
+ p.blurb
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ /* Table of contents */
+ div.toc
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ /* Tables */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ border: 1px solid #DCDCDC;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ background-color: #F0F0F0;
+ border: 1px solid #DCDCDC;
+ }
+
+ .copyright-footer
+ {
+ color: #8F8F8F;
+ }
+
+ /* Misc */
+ span.highlight
+ {
+ color: #00A000;
+ }
+ }
+
+ @media print
+ {
+ /* Links */
+ a
+ {
+ color: black;
+ }
+
+ a:visited
+ {
+ color: black;
+ }
+
+ .spirit-nav
+ {
+ display: none;
+ }
+
+ /* Program listing */
+ pre.synopsis
+ {
+ border: 1px solid gray;
+ }
+
+ .programlisting,
+ .screen
+ {
+ border: 1px solid gray;
+ }
+
+ td .programlisting,
+ td .screen
+ {
+ border: 0px solid #DCDCDC;
+ }
+
+ /* Table of contents */
+ div.toc
+ {
+ border: 1px solid gray;
+ }
+
+ .informaltable table,
+ .table table
+ {
+ border: 1px solid gray;
+ border-collapse: collapse;
+ }
+
+ /* Tables */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ border: 1px solid gray;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ border: 1px solid gray;
+ }
+
+ table.simplelist tr td
+ {
+ border: none !important;
+ }
+
+ /* Misc */
+ span.highlight
+ {
+ font-weight: bold;
+ }
+ }
+
+/*=============================================================================
+Images
+=============================================================================*/
+
+ span.inlinemediaobject img
+ {
+ vertical-align: middle;
+ }
+
+/*==============================================================================
+Super and Subscript: style so that line spacing isn't effected, see
+http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=1&postId=5341
+==============================================================================*/
+
+sup,
+sub {
+height: 0;
+line-height: 1;
+vertical-align: baseline;
+position: relative;
+
+}
+
+/* For internet explorer: */
+
+* html sup,
+* html sub {
+vertical-align: bottom;
+}
+
+sup {
+bottom: 1ex;
+}
+
+sub {
+top: .5ex;
+}
+
+/*==============================================================================
+Indexes: pretty much the same as the TOC.
+==============================================================================*/
+
+ .index
+ {
+ font-size: 80%;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ margin-left: 0px;
+ }
+
+ .index ul
+ {
+ padding-left: 3em;
+ }
+
+ .index p
+ {
+ padding: 2px;
+ margin: 2px;
+ }
+
+ .index-entry-level-0
+ {
+ font-weight: bold;
+ }
+
+ .index em
+ {
+ font-weight: bold;
+ }
+
+
+/*==============================================================================
+Alignment and coloring use 'role' feature, available from Quickbook 1.6 up.
+Added from Niall Douglas for role color and alignment.
+http://article.gmane.org/gmane.comp.lib.boost.devel/243318
+*/
+
+/* Add text alignment (see http://www.w3schools.com/cssref/pr_text_text-align.asp) */
+span.aligncenter
+{
+ display: inline-block; width: 100%; text-align: center;
+}
+span.alignright
+{
+ display: inline-block; width: 100%; text-align: right;
+}
+/* alignleft is the default. */
+span.alignleft
+{
+ display: inline-block; width: 100%; text-align: left;
+}
+
+/* alignjustify stretches the word spacing so that each line has equal width
+within a chosen fraction of page width (here arbitrarily 20%).
+*Not* useful inside table items as the column width remains the total string width.
+Nor very useful, except to temporarily restrict the width.
+*/
+span.alignjustify
+{
+ display: inline-block; width: 20%; text-align: justify;
+}
+
+/* Text colors.
+Names at http://www.w3.org/TR/2002/WD-css3-color-20020219/ 4.3. X11 color keywords.
+Quickbook Usage: [role red Some red text]
+
+*/
+span.red { inline-block; color: red; }
+span.green { color: green; }
+span.lime { color: #00FF00; }
+span.blue { color: blue; }
+span.navy { color: navy; }
+span.yellow { color: yellow; }
+span.magenta { color: magenta; }
+span.indigo { color: #4B0082; }
+span.cyan { color: cyan; }
+span.purple { color: purple; }
+span.gold { color: gold; }
+span.silver { color: silver; } /* lighter gray */
+span.gray { color: #808080; } /* light gray */
diff --git a/src/boost/libs/math/reporting/performance/html/index.html b/src/boost/libs/math/reporting/performance/html/index.html
new file mode 100644
index 000000000..2b2954e32
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/html/index.html
@@ -0,0 +1,16754 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Special Function and Distribution Performance Report</title>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="Special Function and Distribution Performance Report">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"></div>
+<div class="article">
+<div class="titlepage">
+<div>
+<div><h2 class="title">
+<a name="special_function_and_distributio"></a>Special Function and Distribution Performance Report</h2></div>
+<div><div class="legalnotice">
+<a name="special_function_and_distributio.legal"></a><p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></div>
+</div>
+<hr>
+</div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Compiler_Comparison_on_Windows_x64">Compiler
+ Comparison on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Compiler_Option_Comparison_on_Windows_x64">Compiler
+ Option Comparison on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Distribution_performance_comparison_for_different_performance_options_with_GNU_C_version_9_2_0_on_Windows_x64">Distribution
+ performance comparison for different performance options with GNU C++ version
+ 9.2.0 on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Distribution_performance_comparison_for_different_performance_options_with_Microsoft_Visual_C_version_14_2_on_Windows_x64">Distribution
+ performance comparison for different performance options with Microsoft Visual
+ C++ version 14.2 on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Distribution_performance_comparison_with_GNU_C_version_9_2_0_on_Windows_x64">Distribution
+ performance comparison with GNU C++ version 9.2.0 on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Distribution_performance_comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64">Distribution
+ performance comparison with Microsoft Visual C++ version 14.2 on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Library_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64">Library
+ Comparison with GNU C++ version 9.2.0 on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Library_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64">Library
+ Comparison with Microsoft Visual C++ version 14.2 on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Polynomial_Arithmetic_GNU_C_version_9_2_0_Windows_x64_">Polynomial
+ Arithmetic (GNU C++ version 9.2.0, Windows x64)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Polynomial_Arithmetic_Microsoft_Visual_C_version_14_2_Windows_x64_">Polynomial
+ Arithmetic (Microsoft Visual C++ version 14.2, Windows x64)</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Polynomial_Method_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64">Polynomial
+ Method Comparison with GNU C++ version 9.2.0 on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Polynomial_Method_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64">Polynomial
+ Method Comparison with Microsoft Visual C++ version 14.2 on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Rational_Method_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64">Rational
+ Method Comparison with GNU C++ version 9.2.0 on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_Rational_Method_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64">Rational
+ Method Comparison with Microsoft Visual C++ version 14.2 on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_gcd_method_comparison_with_GNU_C_version_9_2_0_on_Windows_x64">gcd
+ method comparison with GNU C++ version 9.2.0 on Windows x64</a></span></dt>
+<dt><span class="section"><a href="index.html#special_function_and_distributio.section_gcd_method_comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64">gcd
+ method comparison with Microsoft Visual C++ version 14.2 on Windows x64</a></span></dt>
+</dl>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Compiler_Comparison_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_Compiler_Comparison_on_Windows_x64" title="Compiler Comparison on Windows x64">Compiler
+ Comparison on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Compiler_Comparison_on_Windows_x64.table_Compiler_Comparison_on_Windows_x64"></a><p class="title"><b>Table&#160;1.&#160;Compiler Comparison on Windows x64</b></p>
+<div class="table-contents"><table class="table" summary="Compiler Comparison on Windows x64">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ version 14.2<br> boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 9.2.0<br> boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ GNU C++ version 9.2.0<br> boost 1.73<br> promote_double&lt;false&gt;
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ assoc_laguerre
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.41<br> (179ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (137ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (127ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ assoc_legendre
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.76<br> (248ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (192ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (141ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ beta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (123ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.62<br> (322ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.93<br> (237ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ beta (incomplete)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (470ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.95<br> (1385ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.58<br> (741ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cbrt
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.40<br> (51ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.67<br> (70ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (15ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_i
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (281ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.38<br> (949ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (387ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_i (integer order)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (195ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.06<br> (597ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (195ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_j
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (371ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.39<br> (886ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.35<br> (499ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_j (integer order)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (123ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.92<br> (184ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (96ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_k
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (385ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">19.68<br> (6847ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (348ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_k (integer order)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (217ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">18.17<br> (3724ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (205ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_neumann
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (6696ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.76<br> (10032ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (5715ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_neumann (integer order)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (158ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.20<br> (348ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.59<br> (252ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ digamma
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (20ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.45<br> (69ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.30<br> (46ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.57<br> (390ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.41<br> (349ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (248ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_1 (complete)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.64<br> (77ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.64<br> (77ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (47ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_2
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.81<br> (702ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.50<br> (583ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (388ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_2 (complete)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.11<br> (84ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.11<br> (57ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (27ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_3
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.47<br> (1381ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.68<br> (670ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (398ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_3 (complete)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">inf<br> (802ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">-nan(ind)<br> (0ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">-nan(ind)<br> (0ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_rc
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.55<br> (59ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.21<br> (84ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (38ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_rd
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (271ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (260ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (206ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_rf
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (62ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.94<br> (95ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_rj
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (264ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.29<br> (414ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (181ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ erf
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (43ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.85<br> (61ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (33ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ erfc
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (54ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.76<br> (90ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (51ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ expint
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (27ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.41<br> (92ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.22<br> (60ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ expint (En)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (106ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.94<br> (206ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (137ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ expm1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (11ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.00<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.36<br> (26ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gamma_p
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (303ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">2.00<br> (605ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (355ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gamma_p_inv
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1266ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.85<br> (2341ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (1460ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gamma_q
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (294ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.10<br> (618ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.21<br> (356ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gamma_q_inv
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1194ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.66<br> (1987ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (1357ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ibeta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (512ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.63<br> (1344ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (673ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ibeta_inv
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1910ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.49<br> (4751ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.48<br> (2822ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ibetac
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (525ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.60<br> (1365ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (668ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ibetac_inv
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1676ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.85<br> (4778ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.74<br> (2910ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ jacobi_cn
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (181ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.10<br> (561ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">2.00<br> (362ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ jacobi_dn
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (203ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.03<br> (616ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.93<br> (392ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ jacobi_sn
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (202ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.81<br> (568ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.73<br> (350ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ laguerre
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (107ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (112ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (105ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ legendre
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (283ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (320ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (255ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ legendre Q
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (309ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.51<br> (466ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (354ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ lgamma
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (80ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.67<br> (214ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">2.00<br> (160ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ log1p
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (14ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.07<br> (29ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.21<br> (17ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ polygamma
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (4193ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.85<br> (7743ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.91<br> (8018ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ sph_bessel
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (668ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.48<br> (975ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (661ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ sph_neumann
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (1138ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.96<br> (3153ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1064ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (74ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.50<br> (259ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.14<br> (158ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma (incomplete)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (208ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.30<br> (478ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.64<br> (342ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ trigamma
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.83<br> (34ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (14ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ zeta
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (117ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.65<br> (310ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.89<br> (221ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Compiler_Option_Comparison_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_Compiler_Option_Comparison_on_Windows_x64" title="Compiler Option Comparison on Windows x64">Compiler
+ Option Comparison on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Compiler_Option_Comparison_on_Windows_x64.table_Compiler_Option_Comparison_on_Windows_x64"></a><p class="title"><b>Table&#160;2.&#160;Compiler Option Comparison on Windows x64</b></p>
+<div class="table-contents"><table class="table" summary="Compiler Option Comparison on Windows x64">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ cl /Od (x86 build)
+ </p>
+ </th>
+<th>
+ <p>
+ cl /arch:sse2 /Ox (x86 build)
+ </p>
+ </th>
+<th>
+ <p>
+ cl /Ox (x64 build)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ boost::math::cbrt
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">5.05<br> (202ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.20<br> (48ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (40ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ boost::math::cyl_bessel_j (integer orders)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.38<br> (530ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (121ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (124ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ boost::math::ibeta_inv
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.52<br> (8277ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (2042ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1833ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Distribution_performance_comparison_for_different_performance_options_with_GNU_C_version_9_2_0_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_Distribution_performance_comparison_for_different_performance_options_with_GNU_C_version_9_2_0_on_Windows_x64" title="Distribution performance comparison for different performance options with GNU C++ version 9.2.0 on Windows x64">Distribution
+ performance comparison for different performance options with GNU C++ version
+ 9.2.0 on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Distribution_performance_comparison_for_different_performance_options_with_GNU_C_version_9_2_0_on_Windows_x64.table_Distribution_performance_comparison_for_different_performance_options_with_GNU_C_version_9_2_0_on_Windows_x64"></a><p class="title"><b>Table&#160;3.&#160;Distribution performance comparison for different performance options
+ with GNU C++ version 9.2.0 on Windows x64</b></p>
+<div class="table-contents"><table class="table" summary="Distribution performance comparison for different performance options
+ with GNU C++ version 9.2.0 on Windows x64">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ Boost<br> promote_double&lt;false&gt;
+ </p>
+ </th>
+<th>
+ <p>
+ Boost<br> promote_double&lt;false&gt;<br> digits10&lt;10&gt;
+ </p>
+ </th>
+<th>
+ <p>
+ Boost<br> float<br> promote_float&lt;false&gt;
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ ArcSine (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (22ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (20ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.20<br> (64ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ArcSine (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (5ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (5ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (5ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.60<br> (8ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ArcSine (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (53ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (53ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (54ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (55ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.32<br> (362ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (205ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (183ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (156ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.44<br> (302ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (139ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (140ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (124ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.76<br> (1968ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (1383ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1118ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (1155ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomial (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.57<br> (959ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (350ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (341ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (269ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomial (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.39<br> (339ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (142ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.20<br> (171ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (148ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomial (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.20<br> (4255ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.42<br> (1884ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.19<br> (1582ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1328ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cauchy (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (19ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (20ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.18<br> (54ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cauchy (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.33<br> (4ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.67<br> (5ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (3ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.33<br> (4ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cauchy (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (25ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.21<br> (23ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (19ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.21<br> (23ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ChiSquared (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.79<br> (953ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.55<br> (529ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (434ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (341ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ChiSquared (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.82<br> (189ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (104ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (105ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (106ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ChiSquared (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.40<br> (1452ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.49<br> (901ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.19<br> (717ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (605ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (29ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (30ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (29ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (54ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (51ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (50ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (52ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.89<br> (36ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (19ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (20ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.21<br> (23ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ExtremeValue (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (104ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (101ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (99ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (103ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ExtremeValue (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (144ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (144ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (138ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (142ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ExtremeValue (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (64ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (61ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (60ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (68ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ F (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.55<br> (668ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.58<br> (297ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (232ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (188ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ F (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.29<br> (291ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (135ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (129ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (127ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ F (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.17<br> (2215ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (1163ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1023ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (1090ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gamma (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.94<br> (492ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.19<br> (301ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (280ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (254ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gamma (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.55<br> (236ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (152ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (152ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (153ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gamma (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.95<br> (1204ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.35<br> (837ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (619ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (644ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Geometric (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (40ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (29ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (29ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (31ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Geometric (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (47ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Geometric (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.64<br> (36ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (22ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (22ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (24ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hypergeometric (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (49938ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (45127ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (45445ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (50682ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hypergeometric (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (53353ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (49364ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (47376ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.20<br> (57034ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hypergeometric (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (105555ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (132253ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (143254ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.70<br> (179941ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseChiSquared (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.48<br> (1326ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.70<br> (647ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.33<br> (508ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (381ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseChiSquared (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.87<br> (217ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (126ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (116ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (117ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseChiSquared (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.81<br> (1852ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.57<br> (1035ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (800ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (658ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGamma (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.95<br> (516ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.21<br> (320ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (289ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (264ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGamma (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.67<br> (256ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (167ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (161ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (153ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGamma (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.94<br> (1268ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (884ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (652ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (666ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGaussian (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.83<br> (172ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.83<br> (172ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.82<br> (171ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (94ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGaussian (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (28ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (32ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (28ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (30ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGaussian (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.94<br> (2657ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.93<br> (2635ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.72<br> (2359ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1368ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Laplace (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (50ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (53ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Laplace (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (50ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (51ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Laplace (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (32ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (37ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ LogNormal (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.73<br> (176ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (127ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (131ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (102ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ LogNormal (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (87ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (86ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (84ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (90ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ LogNormal (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (116ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (94ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (95ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (100ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Logistic (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (47ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (47ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Logistic (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (47ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (47ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (49ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Logistic (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (34ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (38ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NegativeBinomial (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.95<br> (1158ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.66<br> (485ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (386ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (293ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NegativeBinomial (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.29<br> (307ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (135ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (134ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (136ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NegativeBinomial (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.81<br> (6154ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.19<br> (2608ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2190ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (2752ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralBeta (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.62<br> (1450ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (806ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (708ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (553ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralBeta (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.58<br> (969ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (490ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (433ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (375ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralBeta (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.69<br> (37583ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">2.00<br> (20369ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.81<br> (18498ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (10193ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralChiSquared (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.22<br> (4037ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.79<br> (3256ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (2332ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1819ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralChiSquared (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.58<br> (630ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (514ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (399ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (409ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralChiSquared (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.14<br> (33255ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.94<br> (20620ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (13388ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (10603ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralF (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.48<br> (1426ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (762ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (652ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (576ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralF (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.74<br> (1306ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.37<br> (652ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (548ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (477ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralF (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.64<br> (22025ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (11560ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (9319ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (8356ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralT (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.75<br> (6473ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.83<br> (3155ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.63<br> (2819ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1727ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralT (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.81<br> (4098ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.40<br> (2040ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.42<br> (2066ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1456ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralT (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.80<br> (65926ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.87<br> (32431ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.37<br> (23756ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17331ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Normal (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.78<br> (135ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (116ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (93ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (76ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Normal (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (48ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (59ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.19<br> (57ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.33<br> (64ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Normal (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.45<br> (80ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (55ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (55ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (56ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pareto (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (59ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (52ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (60ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (55ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pareto (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (96ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (92ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (97ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (90ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pareto (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (82ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (84ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (82ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (85ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Poisson (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.97<br> (254ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (134ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (150ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (129ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Poisson (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (171ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (112ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (106ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (111ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Poisson (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.16<br> (1128ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (641ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (657ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (523ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rayleigh (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (47ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (38ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (39ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (41ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rayleigh (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (64ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (70ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (66ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (70ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rayleigh (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">2.00<br> (48ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (24ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (31ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ SkewNormal (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.40<br> (669ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (632ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (549ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (479ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ SkewNormal (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (173ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (159ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (156ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (136ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ SkewNormal (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.15<br> (6968ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.82<br> (5903ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (4287ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (3237ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ StudentsT (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.15<br> (1151ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.98<br> (721ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.03<br> (741ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (365ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ StudentsT (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.12<br> (360ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (186ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (188ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (170ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ StudentsT (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.70<br> (1461ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.35<br> (1161ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (1099ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (859ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Weibull (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (96ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (77ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (85ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (74ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Weibull (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (164ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (139ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (160ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (148ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Weibull (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (133ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (134ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (119ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (123ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Distribution_performance_comparison_for_different_performance_options_with_Microsoft_Visual_C_version_14_2_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_Distribution_performance_comparison_for_different_performance_options_with_Microsoft_Visual_C_version_14_2_on_Windows_x64" title="Distribution performance comparison for different performance options with Microsoft Visual C++ version 14.2 on Windows x64">Distribution
+ performance comparison for different performance options with Microsoft Visual
+ C++ version 14.2 on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Distribution_performance_comparison_for_different_performance_options_with_Microsoft_Visual_C_version_14_2_on_Windows_x64.table_Distribution_performance_comparison_for_different_performance_options_with_Microsoft_Visual_C_version_14_2_on_Windows_x64"></a><p class="title"><b>Table&#160;4.&#160;Distribution performance comparison for different performance options
+ with Microsoft Visual C++ version 14.2 on Windows x64</b></p>
+<div class="table-contents"><table class="table" summary="Distribution performance comparison for different performance options
+ with Microsoft Visual C++ version 14.2 on Windows x64">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ Boost<br> promote_double&lt;false&gt;<br> digits10&lt;10&gt;
+ </p>
+ </th>
+<th>
+ <p>
+ Boost<br> float<br> promote_float&lt;false&gt;
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ ArcSine (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (43ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (33ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ArcSine (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ArcSine (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.20<br> (30ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (25ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.20<br> (30ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.37<br> (158ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (140ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (115ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (104ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (109ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (96ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (806ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (833ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (753ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomial (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.80<br> (413ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.50<br> (344ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (230ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomial (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (127ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.41<br> (178ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (126ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomial (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (2024ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (1727ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1466ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cauchy (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (27ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (32ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cauchy (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (8ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (11ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (9ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cauchy (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.37<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (19ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.37<br> (26ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ChiSquared (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.35<br> (676ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.59<br> (798ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (501ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ChiSquared (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (93ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (118ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (113ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ChiSquared (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.62<br> (1073ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.83<br> (1211ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (662ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.70<br> (17ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (11ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (10ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.50<br> (15ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.70<br> (17ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (10ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (20ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ExtremeValue (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (22ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ExtremeValue (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (27ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (25ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ExtremeValue (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.48<br> (34ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (25ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (23ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ F (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (277ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (228ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (178ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ F (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (97ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (103ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (91ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ F (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (901ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (770ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (833ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gamma (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (234ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (233ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (180ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gamma (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (85ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (85ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (68ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gamma (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.64<br> (640ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (501ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (390ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Geometric (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (16ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.19<br> (19ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Geometric (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.85<br> (24ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.54<br> (20ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (13ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Geometric (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (20ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hypergeometric (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (244196ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (260490ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (271879ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hypergeometric (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (272497ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (282183ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (296020ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hypergeometric (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (308077ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (307365ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (326617ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseChiSquared (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.65<br> (584ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (459ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (353ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseChiSquared (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.37<br> (78ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (75ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (57ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseChiSquared (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.68<br> (884ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (684ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (527ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGamma (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (244ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (210ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (179ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGamma (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (91ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.39<br> (93ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (67ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGamma (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.58<br> (638ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (452ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (403ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGaussian (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (109ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (112ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (85ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGaussian (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (12ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (13ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (11ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGaussian (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.58<br> (1651ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (1209ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1048ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Laplace (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (13ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (13ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (13ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Laplace (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (14ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (19ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (13ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Laplace (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (14ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (13ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (13ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ LogNormal (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (79ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (76ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (82ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ LogNormal (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (35ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (30ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (28ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ LogNormal (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (61ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (59ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (54ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Logistic (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (14ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (15ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (19ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Logistic (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (22ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Logistic (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (15ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.33<br> (20ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.33<br> (20ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NegativeBinomial (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.69<br> (481ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.33<br> (378ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (285ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NegativeBinomial (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (114ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (113ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (123ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NegativeBinomial (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.21<br> (2651ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2186ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (2554ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralBeta (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.90<br> (735ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.54<br> (597ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (387ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralBeta (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.62<br> (489ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (471ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (302ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralBeta (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.35<br> (14689ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.10<br> (13173ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6263ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralChiSquared (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.84<br> (2643ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.45<br> (2087ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1438ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralChiSquared (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (290ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (272ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (213ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralChiSquared (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.49<br> (16692ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.59<br> (10665ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6699ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralF (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.54<br> (608ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (538ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (396ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralF (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.44<br> (467ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (420ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (324ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralF (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.73<br> (9122ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.44<br> (7572ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (5271ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralT (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.65<br> (2375ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (1985ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1441ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralT (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.58<br> (1701ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.34<br> (1440ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1075ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralT (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.93<br> (23683ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.35<br> (16597ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12284ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Normal (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (89ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (82ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (106ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Normal (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.33<br> (28ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (29ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (21ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Normal (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (44ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (43ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (44ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pareto (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (34ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (35ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (27ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pareto (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.50<br> (102ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (106ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (68ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pareto (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.79<br> (50ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (38ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (28ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Poisson (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (84ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (76ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (77ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Poisson (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.40<br> (49ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.43<br> (50ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (35ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Poisson (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (440ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (400ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (441ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rayleigh (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (15ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (13ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rayleigh (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (14ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (14ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (13ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rayleigh (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (23ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (23ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (20ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ SkewNormal (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (259ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (256ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (289ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ SkewNormal (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (94ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (91ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (98ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ SkewNormal (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.47<br> (2843ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1936ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (2391ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ StudentsT (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.83<br> (429ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.85<br> (434ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (235ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ StudentsT (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (146ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (135ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (107ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ StudentsT (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (729ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.57<br> (749ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (476ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Weibull (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.62<br> (63ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.51<br> (59ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (39ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Weibull (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.75<br> (89ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.76<br> (90ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (51ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Weibull (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.63<br> (62ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.55<br> (59ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (38ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Distribution_performance_comparison_with_GNU_C_version_9_2_0_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_Distribution_performance_comparison_with_GNU_C_version_9_2_0_on_Windows_x64" title="Distribution performance comparison with GNU C++ version 9.2.0 on Windows x64">Distribution
+ performance comparison with GNU C++ version 9.2.0 on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Distribution_performance_comparison_with_GNU_C_version_9_2_0_on_Windows_x64.table_Distribution_performance_comparison_with_GNU_C_version_9_2_0_on_Windows_x64"></a><p class="title"><b>Table&#160;5.&#160;Distribution performance comparison with GNU C++ version 9.2.0 on Windows
+ x64</b></p>
+<div class="table-contents"><table class="table" summary="Distribution performance comparison with GNU C++ version 9.2.0 on Windows
+ x64">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ Boost<br> promote_double&lt;false&gt;
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ ArcSine (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (22ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (26ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ArcSine (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (5ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (5ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ArcSine (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (53ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (53ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.77<br> (362ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (205ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.17<br> (302ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (139ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.42<br> (1968ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1383ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomial (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.74<br> (959ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (350ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomial (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.39<br> (339ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (142ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomial (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.26<br> (4255ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1884ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cauchy (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (19ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (20ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cauchy (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (4ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (5ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cauchy (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (25ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (23ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ChiSquared (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.80<br> (953ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (529ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ChiSquared (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.82<br> (189ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (104ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ChiSquared (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (1452ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (901ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (29ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (54ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (51ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.89<br> (36ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (19ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ExtremeValue (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (104ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (101ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ExtremeValue (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (144ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (144ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ExtremeValue (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (64ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (61ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ F (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.25<br> (668ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (297ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ F (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.16<br> (291ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (135ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ F (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.90<br> (2215ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1163ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gamma (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.63<br> (492ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (301ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gamma (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.55<br> (236ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (152ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gamma (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.44<br> (1204ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (837ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Geometric (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (40ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (29ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Geometric (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (46ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Geometric (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.64<br> (36ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (22ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hypergeometric (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (49938ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (45127ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hypergeometric (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (53353ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49364ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hypergeometric (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (105555ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (132253ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseChiSquared (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.05<br> (1326ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (647ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseChiSquared (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.72<br> (217ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (126ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseChiSquared (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.79<br> (1852ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1035ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGamma (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (516ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (320ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGamma (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (256ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (167ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGamma (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.43<br> (1268ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (884ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGaussian (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (172ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (172ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGaussian (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (28ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (32ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGaussian (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (2657ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2635ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Laplace (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (50ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Laplace (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (50ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Laplace (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (33ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ LogNormal (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.39<br> (176ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (127ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ LogNormal (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (87ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (86ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ LogNormal (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (116ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (94ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Logistic (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (47ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Logistic (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (47ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Logistic (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (34ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NegativeBinomial (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.39<br> (1158ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (485ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NegativeBinomial (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.27<br> (307ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (135ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NegativeBinomial (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.36<br> (6154ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2608ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralBeta (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.80<br> (1450ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (806ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralBeta (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.98<br> (969ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (490ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralBeta (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.85<br> (37583ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (20369ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralChiSquared (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (4037ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (3256ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralChiSquared (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (630ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (514ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralChiSquared (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (33255ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (20620ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralF (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.87<br> (1426ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (762ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralF (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.00<br> (1306ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (652ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralF (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.91<br> (22025ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (11560ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralT (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.05<br> (6473ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (3155ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralT (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.01<br> (4098ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2040ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralT (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.03<br> (65926ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (32431ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Normal (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (135ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (116ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Normal (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (48ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (59ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Normal (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.45<br> (80ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (55ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pareto (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (59ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (52ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pareto (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (96ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (92ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pareto (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (82ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (84ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Poisson (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.90<br> (254ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (134ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Poisson (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (171ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (112ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Poisson (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.76<br> (1128ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (641ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rayleigh (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (47ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (38ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rayleigh (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (64ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (70ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rayleigh (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">2.00<br> (48ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (24ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ SkewNormal (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (669ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (632ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ SkewNormal (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (173ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (159ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ SkewNormal (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (6968ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (5903ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ StudentsT (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.60<br> (1151ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (721ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ StudentsT (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.94<br> (360ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (186ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ StudentsT (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (1461ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1161ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Weibull (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (96ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (77ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Weibull (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (164ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (139ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Weibull (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (133ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (134ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Distribution_performance_comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_Distribution_performance_comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64" title="Distribution performance comparison with Microsoft Visual C++ version 14.2 on Windows x64">Distribution
+ performance comparison with Microsoft Visual C++ version 14.2 on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Distribution_performance_comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64.table_Distribution_performance_comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64"></a><p class="title"><b>Table&#160;6.&#160;Distribution performance comparison with Microsoft Visual C++ version
+ 14.2 on Windows x64</b></p>
+<div class="table-contents"><table class="table" summary="Distribution performance comparison with Microsoft Visual C++ version
+ 14.2 on Windows x64">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ boost 1.73
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ ArcSine (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (43ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ArcSine (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ArcSine (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (30ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (158ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (104ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (806ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomial (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (413ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomial (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (127ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Binomial (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2024ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cauchy (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (26ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cauchy (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (8ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cauchy (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (26ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ChiSquared (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (676ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ChiSquared (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (93ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ChiSquared (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1073ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (15ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Exponential (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (20ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ExtremeValue (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (26ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ExtremeValue (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (27ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ExtremeValue (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (34ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ F (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (277ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ F (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (97ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ F (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (901ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gamma (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (234ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gamma (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (85ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gamma (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (640ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Geometric (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (18ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Geometric (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (24ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Geometric (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (20ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hypergeometric (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (244196ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hypergeometric (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (272497ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hypergeometric (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (308077ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseChiSquared (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (584ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseChiSquared (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (78ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseChiSquared (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (884ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGamma (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (244ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGamma (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (91ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGamma (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (638ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGaussian (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (109ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGaussian (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ InverseGaussian (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1651ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Laplace (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (13ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Laplace (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (14ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Laplace (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (14ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ LogNormal (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (79ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ LogNormal (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (35ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ LogNormal (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (61ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Logistic (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (14ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Logistic (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (18ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Logistic (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (15ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NegativeBinomial (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (481ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NegativeBinomial (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (114ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NegativeBinomial (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2651ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralBeta (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (735ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralBeta (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (489ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralBeta (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (14689ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralChiSquared (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2643ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralChiSquared (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (290ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralChiSquared (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (16692ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralF (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (608ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralF (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (467ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralF (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9122ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralT (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2375ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralT (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1701ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ NonCentralT (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (23683ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Normal (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (89ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Normal (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (28ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Normal (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (44ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pareto (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (34ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pareto (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (102ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pareto (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (50ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Poisson (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (84ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Poisson (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Poisson (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (440ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rayleigh (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (15ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rayleigh (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (14ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rayleigh (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (23ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ SkewNormal (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (259ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ SkewNormal (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (94ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ SkewNormal (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2843ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ StudentsT (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (429ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ StudentsT (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (146ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ StudentsT (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (729ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Weibull (CDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (63ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Weibull (PDF)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (89ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Weibull (quantile)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (62ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Library_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_Library_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64" title="Library Comparison with GNU C++ version 9.2.0 on Windows x64">Library
+ Comparison with GNU C++ version 9.2.0 on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Library_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64.table_Library_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64"></a><p class="title"><b>Table&#160;7.&#160;Library Comparison with GNU C++ version 9.2.0 on Windows x64</b></p>
+<div class="table-contents"><table class="table" summary="Library Comparison with GNU C++ version 9.2.0 on Windows x64">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ boost 1.73<br> promote_double&lt;false&gt;
+ </p>
+ </th>
+<th>
+ <p>
+ tr1/cmath
+ </p>
+ </th>
+<th>
+ <p>
+ math.h
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ assoc_laguerre<br> (2240/2240 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (137ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (127ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (137ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ assoc_legendre<br> (110/400 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (40ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ beta<br> (2204/2204 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.60<br> (322ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (237ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (201ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cbrt<br> (85/85 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.67<br> (70ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (15ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">2.00<br> (30ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.13<br> (32ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_i (integer order)<br> (515/526 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.06<br> (597ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (195ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (196ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_i<br> (215/240 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">5.68<br> (949ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.32<br> (387ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (167ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_j (integer order)<br> (253/268 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.92<br> (184ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (96ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.12<br> (300ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.94<br> (186ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_j<br> (442/451 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.15<br> (886ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.21<br> (499ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (412ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_k (integer order)<br> (505/508 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">18.17<br> (3724ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (205ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">8.40<br> (1722ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_k<br> (187/279 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">19.68<br> (6847ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (348ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">6.31<br> (2196ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_neumann (integer order)<br> (424/428 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.13<br> (348ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.55<br> (252ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.83<br> (624ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (163ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_neumann<br> (428/450 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">12.46<br> (10032ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">7.10<br> (5715ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (805ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_1 (complete)<br> (109/109 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.64<br> (77ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (47ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.36<br> (111ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_1<br> (627/629 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.41<br> (349ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (248ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (270ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_2 (complete)<br> (110/110 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.11<br> (57ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (27ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">9.37<br> (253ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_2<br> (527/530 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.50<br> (583ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (388ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (412ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_3 (complete)<br> (0/500 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">nan<br> (0ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">nan<br> (0ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">nan<br> (0ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ellint_3<br> (22/845 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.58<br> (670ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (398ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (260ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ erf<br> (950/950 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (38ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (43ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ erfc<br> (950/950 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.76<br> (90ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (51ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (55ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (64ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ expint<br> (436/436 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (92ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (60ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.83<br> (110ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ expm1<br> (80/80 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (24ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (24ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ laguerre<br> (280/280 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (112ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (105ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (108ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ legendre<br> (300/300 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (320ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (255ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (323ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ lgamma<br> (400/400 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.40<br> (214ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.54<br> (160ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (63ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (64ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ log1p<br> (80/80 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.71<br> (29ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.71<br> (29ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ sph_bessel<br> (483/483 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.48<br> (975ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (661ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.02<br> (1999ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ sph_neumann<br> (284/284 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.96<br> (3153ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1064ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.73<br> (2906ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma<br> (400/400 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.32<br> (259ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.03<br> (158ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (79ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (78ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ zeta<br> (448/448 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.40<br> (310ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (221ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">918.24<br> (202930ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Library_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_Library_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64" title="Library Comparison with Microsoft Visual C++ version 14.2 on Windows x64">Library
+ Comparison with Microsoft Visual C++ version 14.2 on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Library_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64.table_Library_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64"></a><p class="title"><b>Table&#160;8.&#160;Library Comparison with Microsoft Visual C++ version 14.2 on Windows
+ x64</b></p>
+<div class="table-contents"><table class="table" summary="Library Comparison with Microsoft Visual C++ version 14.2 on Windows
+ x64">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ math.h
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ cbrt<br> (85/85 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (51ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (62ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_bessel_j (integer order)<br> (267/268 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (123ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.50<br> (185ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cyl_neumann (integer order)<br> (428/428 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (158ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (156ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ erf<br> (950/950 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.15<br> (43ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (20ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ erfc<br> (950/950 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (54ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (59ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ expm1<br> (80/80 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (11ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (10ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ lgamma<br> (400/400 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (80ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.60<br> (128ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ log1p<br> (80/80 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (14ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (15ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ tgamma<br> (400/400 tests selected)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (74ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">12.53<br> (927ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Polynomial_Arithmetic_GNU_C_version_9_2_0_Windows_x64_"></a><a class="link" href="index.html#special_function_and_distributio.section_Polynomial_Arithmetic_GNU_C_version_9_2_0_Windows_x64_" title="Polynomial Arithmetic (GNU C++ version 9.2.0, Windows x64)">Polynomial
+ Arithmetic (GNU C++ version 9.2.0, Windows x64)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Polynomial_Arithmetic_GNU_C_version_9_2_0_Windows_x64_.table_Polynomial_Arithmetic_GNU_C_version_9_2_0_Windows_x64_"></a><p class="title"><b>Table&#160;9.&#160;Polynomial Arithmetic (GNU C++ version 9.2.0, Windows x64)</b></p>
+<div class="table-contents"><table class="table" summary="Polynomial Arithmetic (GNU C++ version 9.2.0, Windows x64)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ boost::uint64_t
+ </p>
+ </th>
+<th>
+ <p>
+ double
+ </p>
+ </th>
+<th>
+ <p>
+ cpp_int
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ operator *
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (503ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (502ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">15.20<br> (7629ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator * (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (114ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (109ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">6.04<br> (658ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator *=
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (223824ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (215955ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">19.30<br> (4168184ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator *= (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (13931ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (13163ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">26.10<br> (343615ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator +
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (163ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (186ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">6.04<br> (985ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator + (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (116ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (100ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.07<br> (407ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator +=
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (16ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">22.81<br> (365ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator += (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.33<br> (4ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (3ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">33.00<br> (99ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator -
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (159ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (185ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">6.66<br> (1059ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator - (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (113ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (102ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.75<br> (382ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator -=
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (22ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (16ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">23.38<br> (374ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator -= (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (3ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (3ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">31.00<br> (93ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator /
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.44<br> (767ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (533ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">41.38<br> (22054ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator / (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (138ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (107ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">13.58<br> (1453ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator /=
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (11ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (10ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">194.00<br> (1940ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator /= (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (679ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">21.14<br> (14351ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3447.12<br> (2340595ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Polynomial_Arithmetic_Microsoft_Visual_C_version_14_2_Windows_x64_"></a><a class="link" href="index.html#special_function_and_distributio.section_Polynomial_Arithmetic_Microsoft_Visual_C_version_14_2_Windows_x64_" title="Polynomial Arithmetic (Microsoft Visual C++ version 14.2, Windows x64)">Polynomial
+ Arithmetic (Microsoft Visual C++ version 14.2, Windows x64)</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Polynomial_Arithmetic_Microsoft_Visual_C_version_14_2_Windows_x64_.table_Polynomial_Arithmetic_Microsoft_Visual_C_version_14_2_Windows_x64_"></a><p class="title"><b>Table&#160;10.&#160;Polynomial Arithmetic (Microsoft Visual C++ version 14.2, Windows x64)</b></p>
+<div class="table-contents"><table class="table" summary="Polynomial Arithmetic (Microsoft Visual C++ version 14.2, Windows x64)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ boost::uint64_t
+ </p>
+ </th>
+<th>
+ <p>
+ double
+ </p>
+ </th>
+<th>
+ <p>
+ cpp_int
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ operator *
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.54<br> (951ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (617ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">15.22<br> (9391ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator * (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (135ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (116ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">5.22<br> (605ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator *=
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (371957ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (286462ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">17.11<br> (4901613ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator *= (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (14157ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (14670ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">19.69<br> (278738ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator +
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.41<br> (273ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (194ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">6.20<br> (1203ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator + (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (126ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (101ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.47<br> (350ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator +=
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.35<br> (42ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (31ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">11.16<br> (346ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator += (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (5ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (4ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">25.50<br> (102ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator -
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.20<br> (231ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (192ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">6.44<br> (1236ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator - (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.20<br> (121ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (101ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.34<br> (337ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator -=
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.35<br> (42ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (31ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">11.13<br> (345ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator -= (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (4ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (4ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">23.50<br> (94ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator /
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.17<br> (1164ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (537ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">51.34<br> (27568ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator / (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (138ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (118ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">9.73<br> (1148ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator /=
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (13ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">192.42<br> (2309ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ operator /= (int)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (697ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">36.29<br> (25293ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2700.21<br> (1882045ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Polynomial_Method_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_Polynomial_Method_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64" title="Polynomial Method Comparison with GNU C++ version 9.2.0 on Windows x64">Polynomial
+ Method Comparison with GNU C++ version 9.2.0 on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Polynomial_Method_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64.table_Polynomial_Method_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64"></a><p class="title"><b>Table&#160;11.&#160;Polynomial Method Comparison with GNU C++ version 9.2.0 on Windows x64</b></p>
+<div class="table-contents"><table class="table" summary="Polynomial Method Comparison with GNU C++ version 9.2.0 on Windows x64">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Method 0<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 0<br> (Integer Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 1<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 1<br> (Integer Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 2<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 2<br> (Integer Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 3<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 3<br> (Integer Coefficients)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Order 2
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 3
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (14ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.56<br> (23ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (10ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 4
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.50<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.42<br> (29ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (13ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (13ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (13ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (13ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (13ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 5
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (22ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.31<br> (37ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (17ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (16ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (17ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (18ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 6
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.48<br> (31ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.14<br> (45ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (21ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (21ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (22ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (22ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (22ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 7
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (34ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.15<br> (56ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (29ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (27ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.19<br> (31ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 8
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.37<br> (41ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.23<br> (67ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (32ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (31ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (31ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.20<br> (36ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (30ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 9
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.58<br> (52ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.42<br> (80ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (38ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (38ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (34ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 10
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.51<br> (56ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.41<br> (89ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (45ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (45ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (37ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (38ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (39ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (39ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 11
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (64ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.46<br> (101ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (52ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (52ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (41ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (41ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (41ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (41ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 12
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.70<br> (78ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.63<br> (121ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (60ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (59ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (48ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (47ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (47ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 13
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.78<br> (87ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.78<br> (136ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (63ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (63ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (50ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 14
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.79<br> (95ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.75<br> (146ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.43<br> (76ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.43<br> (76ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (53ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (54ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (53ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (53ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 15
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.63<br> (103ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.51<br> (158ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.33<br> (84ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.43<br> (90ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (64ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (64ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (63ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (64ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 16
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (119ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.31<br> (171ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (97ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (97ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (75ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (75ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (75ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (74ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 17
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.67<br> (127ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.42<br> (184ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.42<br> (108ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.41<br> (107ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (76ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (76ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (77ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (77ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 18
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.66<br> (136ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.39<br> (196ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.41<br> (116ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.44<br> (118ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (86ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (84ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (87ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (82ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 19
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.72<br> (146ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.51<br> (213ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.59<br> (135ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (133ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (86ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (86ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (85ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (87ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 20
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.70<br> (158ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.52<br> (234ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.55<br> (144ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.59<br> (148ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (98ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (95ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (93ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (99ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Polynomial_Method_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_Polynomial_Method_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64" title="Polynomial Method Comparison with Microsoft Visual C++ version 14.2 on Windows x64">Polynomial
+ Method Comparison with Microsoft Visual C++ version 14.2 on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Polynomial_Method_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64.table_Polynomial_Method_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64"></a><p class="title"><b>Table&#160;12.&#160;Polynomial Method Comparison with Microsoft Visual C++ version 14.2
+ on Windows x64</b></p>
+<div class="table-contents"><table class="table" summary="Polynomial Method Comparison with Microsoft Visual C++ version 14.2
+ on Windows x64">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Method 0<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 0<br> (Integer Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 1<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 1<br> (Integer Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 2<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 2<br> (Integer Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 3<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 3<br> (Integer Coefficients)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Order 2
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 3
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.33<br> (21ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.33<br> (30ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 4
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">2.00<br> (24ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.00<br> (36ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (13ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (13ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 5
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (25ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.31<br> (37ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (16ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (16ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (25ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (25ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 6
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.48<br> (31ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.19<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (22ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (21ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (21ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (21ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (27ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (27ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 7
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.54<br> (37ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.33<br> (56ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (25ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (24ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (27ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (28ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 8
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.23<br> (67ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (32ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (32ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (30ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (30ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (31ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (31ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 9
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.35<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.06<br> (70ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (40ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (45ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (34ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (34ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (37ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (36ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 10
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (54ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.13<br> (83ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.21<br> (47ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (45ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (39ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (39ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (40ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (40ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 11
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.48<br> (62ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.24<br> (94ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (52ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (53ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (45ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (42ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (46ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (43ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 12
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.48<br> (71ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.27<br> (109ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (60ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (61ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (50ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (48ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (48ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (48ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 13
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.55<br> (76ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.33<br> (114ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (64ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (64ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (51ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (51ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (50ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 14
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (84ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.40<br> (132ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.44<br> (79ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.40<br> (77ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (57ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (56ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (55ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (55ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 15
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.51<br> (95ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.33<br> (147ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.37<br> (86ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (87ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (66ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (67ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (63ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (63ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 16
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.47<br> (106ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.18<br> (157ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.40<br> (101ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.33<br> (96ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (73ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (74ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (72ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (75ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 17
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (114ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.08<br> (162ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.44<br> (112ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.44<br> (112ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (78ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (79ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (82ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (80ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 18
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.48<br> (126ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.08<br> (177ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.44<br> (122ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (124ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (87ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (88ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (86ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (85ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 19
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.49<br> (136ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.07<br> (188ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.47<br> (134ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.47<br> (134ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (91ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (92ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (96ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (94ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 20
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.52<br> (150ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.05<br> (203ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.45<br> (144ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (145ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (99ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (101ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (101ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (101ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Rational_Method_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_Rational_Method_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64" title="Rational Method Comparison with GNU C++ version 9.2.0 on Windows x64">Rational
+ Method Comparison with GNU C++ version 9.2.0 on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Rational_Method_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64.table_Rational_Method_Comparison_with_GNU_C_version_9_2_0_on_Windows_x64"></a><p class="title"><b>Table&#160;13.&#160;Rational Method Comparison with GNU C++ version 9.2.0 on Windows x64</b></p>
+<div class="table-contents"><table class="table" summary="Rational Method Comparison with GNU C++ version 9.2.0 on Windows x64">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Method 0<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 0<br> (Integer Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 1<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 1<br> (Integer Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 2<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 2<br> (Integer Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 3<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 3<br> (Integer Coefficients)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Order 2
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.83<br> (22ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.83<br> (22ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (14ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (13ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 3
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.83<br> (33ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.17<br> (39ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (28ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.44<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (18ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 4
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.65<br> (43ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">2.00<br> (52ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (38ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (38ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (26ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (27ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (29ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 5
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (56ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.40<br> (67ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (49ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (48ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (54ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (53ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (56ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (54ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 6
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (62ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (76ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (61ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (61ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (62ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (62ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (64ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (79ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 7
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (74ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (93ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (73ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (72ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (73ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (73ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (74ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (73ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 8
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (90ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (104ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (82ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (82ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (82ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (84ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (92ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (86ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 9
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (119ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.66<br> (156ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (97ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (96ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (94ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (95ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (94ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (95ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 10
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (128ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.40<br> (147ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (111ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (112ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (105ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (107ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (105ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (113ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 11
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.20<br> (140ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.44<br> (169ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (125ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (124ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (117ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (125ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (118ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (122ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 12
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (155ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (165ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (137ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (140ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (128ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (154ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (130ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (125ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 13
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (171ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (183ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (159ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (153ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (143ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (135ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (136ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (138ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 14
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (178ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (196ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (168ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (166ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (174ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (168ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (173ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (153ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 15
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (196ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.47<br> (217ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (182ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (181ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (148ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (150ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (170ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (152ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 16
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (209ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.39<br> (223ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (202ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (205ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (160ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (161ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (174ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (161ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 17
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.34<br> (221ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (241ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (217ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.37<br> (226ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (165ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (175ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (178ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (165ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 18
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.52<br> (264ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (266ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.41<br> (246ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.43<br> (249ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (214ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (179ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (174ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (182ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 19
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.35<br> (252ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (292ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.54<br> (288ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.39<br> (259ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (187ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (228ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (191ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (195ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 20
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.34<br> (271ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.59<br> (322ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.39<br> (280ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (294ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (214ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (205ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (202ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (202ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_Rational_Method_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_Rational_Method_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64" title="Rational Method Comparison with Microsoft Visual C++ version 14.2 on Windows x64">Rational
+ Method Comparison with Microsoft Visual C++ version 14.2 on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_Rational_Method_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64.table_Rational_Method_Comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64"></a><p class="title"><b>Table&#160;14.&#160;Rational Method Comparison with Microsoft Visual C++ version 14.2 on
+ Windows x64</b></p>
+<div class="table-contents"><table class="table" summary="Rational Method Comparison with Microsoft Visual C++ version 14.2 on
+ Windows x64">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Method 0<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 0<br> (Integer Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 1<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 1<br> (Integer Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 2<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 2<br> (Integer Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 3<br> (Double Coefficients)
+ </p>
+ </th>
+<th>
+ <p>
+ Method 3<br> (Integer Coefficients)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Order 2
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="grey">-</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.92<br> (23ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.92<br> (23ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (14ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (12ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 3
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.89<br> (34ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.28<br> (41ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.67<br> (30ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (29ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (19ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (18ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (18ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 4
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.72<br> (43ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.16<br> (54ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.64<br> (41ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.60<br> (40ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (25ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (25ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (25ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (26ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 5
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (53ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.41<br> (69ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (53ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (53ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (49ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (54ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 6
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (65ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.42<br> (85ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (61ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (60ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (63ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (74ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (75ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.40<br> (84ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 7
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (75ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.37<br> (97ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (72ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (71ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (81ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (72ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.20<br> (85ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.35<br> (96ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 8
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (87ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (112ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (84ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (83ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (82ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (81ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.49<br> (202ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.60<br> (211ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 9
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (103ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (143ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (105ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (113ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (90ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (91ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (91ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (89ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 10
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (115ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (146ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (114ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (112ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (101ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (102ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (101ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (100ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 11
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.21<br> (131ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.48<br> (160ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (126ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (125ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (108ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (137ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (108ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (109ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 12
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (148ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (179ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.19<br> (139ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.19<br> (139ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (119ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (145ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (117ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (117ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 13
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (163ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.71<br> (212ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (153ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.52<br> (189ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (125ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (160ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (125ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (124ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 14
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.42<br> (190ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (209ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (177ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.47<br> (197ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (137ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (175ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (134ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (136ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 15
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.34<br> (194ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.51<br> (219ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (197ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (212ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (148ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (188ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (145ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.23<br> (323ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 16
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (216ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (244ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (212ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (204ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (179ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.34<br> (209ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (156ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.10<br> (328ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 17
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.39<br> (227ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.67<br> (273ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.34<br> (218ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.69<br> (275ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (163ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (215ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (167ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.53<br> (412ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 18
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.37<br> (242ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.73<br> (306ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.40<br> (248ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (276ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (187ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (233ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (177ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.15<br> (380ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 19
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (254ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.60<br> (319ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (253ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.51<br> (300ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (199ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (243ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.80<br> (359ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.92<br> (382ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Order 20
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (268ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.62<br> (338ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (265ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (325ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (209ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (259ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.87<br> (391ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.04<br> (427ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_gcd_method_comparison_with_GNU_C_version_9_2_0_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_gcd_method_comparison_with_GNU_C_version_9_2_0_on_Windows_x64" title="gcd method comparison with GNU C++ version 9.2.0 on Windows x64">gcd
+ method comparison with GNU C++ version 9.2.0 on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_gcd_method_comparison_with_GNU_C_version_9_2_0_on_Windows_x64.table_gcd_method_comparison_with_GNU_C_version_9_2_0_on_Windows_x64"></a><p class="title"><b>Table&#160;15.&#160;gcd method comparison with GNU C++ version 9.2.0 on Windows x64</b></p>
+<div class="table-contents"><table class="table" summary="gcd method comparison with GNU C++ version 9.2.0 on Windows x64">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ gcd boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ Euclid_gcd boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ Stein_gcd boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ mixed_binary_gcd boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ Stein_gcd_textbook boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ gcd_euclid_textbook boost 1.73
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint1024_t&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (585ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (761ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.82<br> (2237ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.97<br> (2321ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.43<br> (836ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (645ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint1024_t&gt; (adjacent Fibonacci
+ numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9970176ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">7.06<br> (70352275ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.96<br> (39452018ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.33<br> (33171075ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.04<br> (20368737ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">7.38<br> (73577712ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint1024_t&gt; (permutations of Fibonacci
+ numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.58<br> (5700044700ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (1619575299ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">15.19<br> (24170880700ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.10<br> (4926301699ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">7.61<br> (12103557199ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1591386600ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint1024_t&gt; (random prime number
+ products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (776840ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.83<br> (1420825ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">7.78<br> (6040362ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.39<br> (1853658ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.19<br> (3251426ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.96<br> (1522179ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint1024_t&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (55462256ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.02<br> (112246250ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.55<br> (141227725ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.21<br> (122643774ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.49<br> (82400762ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.99<br> (110242300ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint256_t&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (442ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (475ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.12<br> (1815ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.11<br> (1813ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (515ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (441ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint256_t&gt; (adjacent Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (4055238ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.74<br> (15153867ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.14<br> (12714485ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.78<br> (11263817ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.83<br> (7405233ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.79<br> (15349360ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint256_t&gt; (permutations of Fibonacci
+ numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2188053200ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.24<br> (4905530400ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.53<br> (7720779699ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.26<br> (4951713400ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.06<br> (4508168099ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.60<br> (5692910900ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint256_t&gt; (random prime number
+ products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (788189ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.65<br> (1298322ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.56<br> (3592013ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.51<br> (1186279ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.77<br> (2184586ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.70<br> (1337848ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint256_t&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (5971862ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.75<br> (16440456ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.13<br> (18696806ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.48<br> (14818301ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.65<br> (9829225ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.16<br> (18848609ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint512_t&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (473ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (522ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.35<br> (1113ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.54<br> (1201ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (617ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (497ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint512_t&gt; (adjacent Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (8919442ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.88<br> (43541675ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.74<br> (42250737ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.64<br> (32424337ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.68<br> (14998360ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.90<br> (43720662ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint512_t&gt; (permutations of Fibonacci
+ numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (4874074099ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (5941210899ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.28<br> (15985377299ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.50<br> (7304170300ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.76<br> (8559919799ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (6002105200ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint512_t&gt; (random prime number
+ products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (829159ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.59<br> (1318798ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">8.12<br> (6731670ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.91<br> (1581731ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.08<br> (2551970ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.58<br> (1308443ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint512_t&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (18120096ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.35<br> (42631487ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.97<br> (71846612ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.10<br> (56237574ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.49<br> (27081093ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.66<br> (48247731ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long long&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.85<br> (109ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.44<br> (144ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (59ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.88<br> (111ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.68<br> (99ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.08<br> (123ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long long&gt; (adjacent Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.98<br> (17394ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">14.61<br> (85221ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (5832ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.98<br> (17351ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.20<br> (12805ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">14.60<br> (85125ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long long&gt; (permutations of Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (1203049ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (1508607ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (1307113ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1159442ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.23<br> (2585039ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (1455556ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long long&gt; (random prime number products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (267158ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.88<br> (441001ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (234725ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.07<br> (249997ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.02<br> (473466ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.78<br> (418669ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long long&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.39<br> (507147ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.14<br> (784228ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (365889ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.33<br> (488432ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.75<br> (641184ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.08<br> (760185ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (70ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (66ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (57ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.19<br> (68ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.63<br> (93ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (64ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long&gt; (adjacent Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.79<br> (2678ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">10.20<br> (15231ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1493ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.85<br> (2765ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.07<br> (3093ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">9.50<br> (14177ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long&gt; (permutations of Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (130874ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.43<br> (187180ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (171288ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (132289ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.45<br> (321281ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (169852ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long&gt; (random prime number products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.02<br> (132073ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.56<br> (202025ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (143913ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (129448ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.03<br> (263053ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.40<br> (181659ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (209599ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (296090ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (183672ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (214530ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.76<br> (322600ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.55<br> (284838ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned short&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.19<br> (74ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (65ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (62ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (80ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (95ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (67ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned short&gt; (adjacent Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.55<br> (694ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">6.51<br> (2915ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (448ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.65<br> (737ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.42<br> (634ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">6.06<br> (2716ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned short&gt; (permutations of Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.31<br> (10776ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.35<br> (19287ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (8206ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.41<br> (11598ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.63<br> (13337ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.21<br> (18163ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned short&gt; (random prime number products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (48625ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.82<br> (84692ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (47933ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (46539ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.94<br> (136663ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.68<br> (78386ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned short&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (73231ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.72<br> (120140ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (69680ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (72636ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.51<br> (175204ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.70<br> (118679ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (73ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (64ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (56ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (69ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.62<br> (91ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.14<br> (64ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned&gt; (adjacent Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.81<br> (2689ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">10.14<br> (15051ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1485ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.92<br> (2845ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.10<br> (3117ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">9.74<br> (14464ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned&gt; (permutations of Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (125228ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.45<br> (182101ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (169753ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (130303ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.50<br> (312889ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.41<br> (176940ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned&gt; (random prime number products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.04<br> (133297ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.55<br> (199022ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (134178ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (128319ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.03<br> (260550ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (196665ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (212670ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (298254ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (184955ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (216091ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.80<br> (332689ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.62<br> (299958ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="special_function_and_distributio.section_gcd_method_comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64"></a><a class="link" href="index.html#special_function_and_distributio.section_gcd_method_comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64" title="gcd method comparison with Microsoft Visual C++ version 14.2 on Windows x64">gcd
+ method comparison with Microsoft Visual C++ version 14.2 on Windows x64</a>
+</h2></div></div></div>
+<div class="table">
+<a name="special_function_and_distributio.section_gcd_method_comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64.table_gcd_method_comparison_with_Microsoft_Visual_C_version_14_2_on_Windows_x64"></a><p class="title"><b>Table&#160;16.&#160;gcd method comparison with Microsoft Visual C++ version 14.2 on Windows
+ x64</b></p>
+<div class="table-contents"><table class="table" summary="gcd method comparison with Microsoft Visual C++ version 14.2 on Windows
+ x64">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ gcd boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ Euclid_gcd boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ Stein_gcd boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ mixed_binary_gcd boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ Stein_gcd_textbook boost 1.73
+ </p>
+ </th>
+<th>
+ <p>
+ gcd_euclid_textbook boost 1.73
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint1024_t&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (811ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (806ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.49<br> (3619ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.37<br> (3524ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.54<br> (1240ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (947ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint1024_t&gt; (adjacent Fibonacci
+ numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (17221009ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.10<br> (53378856ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.49<br> (60085356ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.71<br> (46662362ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.43<br> (24687809ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.60<br> (62017387ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint1024_t&gt; (permutations of Fibonacci
+ numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.79<br> (8947276300ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1869827499ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">16.49<br> (30836050300ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.95<br> (5512590399ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">9.35<br> (17476759399ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.59<br> (2969003299ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint1024_t&gt; (random prime number
+ products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (1366950ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1184715ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">6.07<br> (7192390ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.69<br> (2004764ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.88<br> (3414226ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (1223450ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint1024_t&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (94422587ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (91927462ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.46<br> (205656225ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.79<br> (150321950ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (105849675ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (83747287ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint256_t&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (529ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.22<br> (578ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">5.71<br> (2706ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">5.01<br> (2376ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.62<br> (768ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (474ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint256_t&gt; (adjacent Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (6910946ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.03<br> (14038607ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.15<br> (28656946ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.36<br> (16280003ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.83<br> (12632765ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.79<br> (12358175ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint256_t&gt; (permutations of Fibonacci
+ numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (3546690299ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (4410071600ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.54<br> (16088449000ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.08<br> (7376147399ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.87<br> (6630678299ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.11<br> (3921678899ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint256_t&gt; (random prime number
+ products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (1402017ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.19<br> (1342771ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">10.57<br> (11937009ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.30<br> (2592407ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.17<br> (3578886ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1129228ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint256_t&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (9555357ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (13230160ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.58<br> (34160918ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.17<br> (20739521ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.66<br> (15830168ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (11919907ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint512_t&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (610ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (586ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">4.52<br> (2524ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">5.42<br> (3032ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.53<br> (858ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (559ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint512_t&gt; (adjacent Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (15008157ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.19<br> (32823187ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.54<br> (53103662ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.51<br> (37681662ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.67<br> (25128434ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.06<br> (30897006ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint512_t&gt; (permutations of Fibonacci
+ numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.70<br> (7824618799ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.06<br> (4905917200ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">6.42<br> (29578499900ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.96<br> (9014054500ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.82<br> (12972133700ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (4607798200ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint512_t&gt; (random prime number
+ products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.20<br> (1429033ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1192363ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">6.71<br> (8006331ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.66<br> (1983967ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.05<br> (3641579ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1193514ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;boost::multiprecision::uint512_t&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (28993946ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (32874618ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.71<br> (107613600ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.24<br> (64869562ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.39<br> (40246987ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (36427993ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long long&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (143ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.88<br> (167ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (97ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.66<br> (148ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (89ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.25<br> (111ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long long&gt; (adjacent Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.65<br> (18657ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">9.12<br> (102852ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (11278ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.65<br> (18642ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.36<br> (15386ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">7.61<br> (85867ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long long&gt; (permutations of Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.18<br> (1759315ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (1829739ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.48<br> (3696867ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.20<br> (1792095ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.92<br> (2869829ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (1493466ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long long&gt; (random prime number products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.03<br> (419624ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (513559ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.66<br> (677592ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (407357ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.24<br> (505557ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (426446ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long long&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (802062ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (895731ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.38<br> (959675ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (810488ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (696259ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.10<br> (768043ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.05<br> (115ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (90ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.80<br> (101ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.98<br> (111ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.55<br> (87ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (56ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long&gt; (adjacent Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (3438ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">8.19<br> (22429ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2739ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (3567ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (3146ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">5.44<br> (14903ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long&gt; (permutations of Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (205858ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.52<br> (268100ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.43<br> (427978ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.13<br> (198590ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.02<br> (356193ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (175939ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long&gt; (random prime number products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.01<br> (214230ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (278903ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.93<br> (406951ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (237142ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.70<br> (358996ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (211247ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned long&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.29<br> (382560ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.46<br> (431960ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.77<br> (524430ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (373023ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.27<br> (377903ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (296476ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned short&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.79<br> (118ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.41<br> (93ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.47<br> (97ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.73<br> (114ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.42<br> (94ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (66ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned short&gt; (adjacent Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (821ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">7.62<br> (5377ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (706ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.17<br> (823ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.15<br> (810ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">5.04<br> (3557ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned short&gt; (permutations of Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (11485ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">3.82<br> (43640ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (13294ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (11428ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.19<br> (25029ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.11<br> (24145ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned short&gt; (random prime number products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (123821ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.92<br> (188438ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.21<br> (216289ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (109274ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.67<br> (163434ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (97914ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned short&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (169639ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.44<br> (212132ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.62<br> (237308ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.16<br> (170196ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (191524ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (146827ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned&gt; (Trivial cases)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.98<br> (117ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (95ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.90<br> (112ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">2.00<br> (118ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (95ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (59ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned&gt; (adjacent Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.28<br> (3381ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">8.39<br> (22209ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (2648ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.30<br> (3436ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.34<br> (3540ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">5.64<br> (14937ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned&gt; (permutations of Fibonacci numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.08<br> (197785ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.47<br> (269176ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.37<br> (435412ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.12<br> (205095ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="red">2.08<br> (382592ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (183636ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned&gt; (random prime number products)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.09<br> (214890ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.42<br> (279881ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.99<br> (392760ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.05<br> (206420ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.61<br> (317337ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (197431ns)</span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ gcd&lt;unsigned&gt; (uniform random numbers)
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.26<br> (385229ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.35<br> (411167ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.68<br> (512335ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.23<br> (375323ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="blue">1.32<br> (402786ns)</span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="green">1.00<br> (305574ns)</span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: April 03, 2020 at 11:57:28 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"></div>
+</body>
+</html>
diff --git a/src/boost/libs/math/reporting/performance/is_intel_win.cpp b/src/boost/libs/math/reporting/performance/is_intel_win.cpp
new file mode 100644
index 000000000..fd1d94d15
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/is_intel_win.cpp
@@ -0,0 +1,10 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <boost/config.hpp>
+
+#ifndef __ICL
+#error "wrong compiler"
+#endif
diff --git a/src/boost/libs/math/reporting/performance/performance.hpp b/src/boost/libs/math/reporting/performance/performance.hpp
new file mode 100644
index 000000000..baf27950c
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/performance.hpp
@@ -0,0 +1,119 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef PERFORMANCE_HPP
+#define PERFORMANCE_HPP
+
+#include <boost/math/special_functions/relative_difference.hpp>
+#include <boost/array.hpp>
+#include <boost/chrono.hpp>
+#include <boost/regex.hpp>
+#include <iostream>
+#include <iomanip>
+
+extern std::vector<std::vector<double> > data;
+
+template <class Array>
+void add_data(const Array& a)
+{
+ //
+ // This function is called multiple times to merge multiple data sets into one big table:
+ //
+ for(typename Array::const_iterator i = a.begin(); i != a.end(); ++i)
+ {
+ data.push_back(std::vector<double>());
+ for(typename Array::value_type::const_iterator j = i->begin(); j != i->end(); ++j)
+ {
+ data.back().push_back(*j);
+ }
+ }
+}
+
+template <class Func, class Result>
+void screen_data(Func f, Result r)
+{
+ //
+ // If any of the implementations being tested produces garbage for one of our
+ // test cases (or else if we test a domain they don't support), then we remove that
+ // row from the table. This allows us to only test a common supported sub-set for performance:
+ //
+ for(std::vector<std::vector<double> >::size_type row = 0; row < data.size(); ++row)
+ {
+ try
+ {
+ double computed = f(data[row]);
+ double expected = r(data[row]);
+ double err = boost::math::relative_difference(computed, expected);
+ if(err > 1e-7)
+ {
+ std::cout << "Erasing row: ";
+ for(unsigned i = 0; i < data[row].size(); ++i)
+ {
+ std::cout << data[row][i] << " ";
+ }
+ std::cout << "Error was " << err << std::endl;
+ data.erase(data.begin() + row);
+ --row;
+ }
+ }
+ catch(const std::exception& e)
+ {
+ std::cout << "Erasing row: ";
+ for(unsigned i = 0; i < data[row].size(); ++i)
+ {
+ std::cout << data[row][i] << " ";
+ }
+ std::cout << "due to thrown exception: " << e.what() << std::endl;
+ data.erase(data.begin() + row);
+ --row;
+ }
+ }
+}
+
+template <class Clock>
+struct stopwatch
+{
+ typedef typename Clock::duration duration;
+ stopwatch()
+ {
+ m_start = Clock::now();
+ }
+ duration elapsed()
+ {
+ return Clock::now() - m_start;
+ }
+ void reset()
+ {
+ m_start = Clock::now();
+ }
+
+private:
+ typename Clock::time_point m_start;
+};
+
+double sum = 0;
+
+template <class Func>
+double exec_timed_test(Func f)
+{
+ double t = 0;
+ unsigned repeats = 1;
+ do{
+ stopwatch<boost::chrono::high_resolution_clock> w;
+
+ for(unsigned count = 0; count < repeats; ++count)
+ {
+ for(std::vector<std::vector<double> >::const_iterator i = data.begin(); i != data.end(); ++i)
+ sum += f(*i);
+ }
+
+ t = boost::chrono::duration_cast<boost::chrono::duration<double>>(w.elapsed()).count();
+ if(t < 0.5)
+ repeats *= 2;
+ } while(t < 0.5);
+ return t / (repeats * data.size());
+}
+
+#endif // PERFORMANCE_HPP
diff --git a/src/boost/libs/math/reporting/performance/table_helper.cpp b/src/boost/libs/math/reporting/performance/table_helper.cpp
new file mode 100644
index 000000000..c8ecfe23c
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/table_helper.cpp
@@ -0,0 +1,400 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/regex.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
+#include <boost/interprocess/sync/named_mutex.hpp>
+#include <boost/interprocess/sync/scoped_lock.hpp>
+#include <vector>
+#include <set>
+#include <iostream>
+#include <sstream>
+#include <iomanip>
+#include "table_helper.hpp"
+
+void add_cell(boost::intmax_t val, const std::string& table_name, const std::string& row_name, const std::string& column_heading);
+void add_to_all_sections(const std::string& id, std::string list_name = "performance_all_sections");
+
+std::vector<std::vector<double> > data;
+std::vector<std::tuple<double, std::string, std::string, std::string> > items_to_add;
+
+inline std::string sanitize_string(const std::string& s)
+{
+ static const boost::regex e("[^a-zA-Z0-9]+");
+ std::string result = boost::regex_replace(s, e, "_");
+ while(result[0] == '_')
+ result.erase(0);
+ return result;
+}
+
+std::string format_precision(double val, int digits)
+{
+ std::stringstream ss;
+ ss << std::setprecision(digits);
+ ss << std::fixed;
+ ss << val;
+ return ss.str();
+}
+
+static std::string content;
+boost::filesystem::path path_to_content;
+
+struct content_loader
+{
+ content_loader(){}
+ ~content_loader()
+ {
+ boost::interprocess::named_mutex mu(boost::interprocess::open_or_create, "handle_test_result");
+ boost::interprocess::scoped_lock<boost::interprocess::named_mutex> lock(mu);
+ boost::filesystem::path p(__FILE__);
+ p = p.parent_path();
+ p /= "doc";
+ p /= "performance_tables.qbk";
+ path_to_content = p;
+ if(boost::filesystem::exists(p))
+ {
+ boost::filesystem::ifstream is(p);
+ if(is.good())
+ {
+ do
+ {
+ char c = static_cast<char>(is.get());
+ if(c != EOF)
+ content.append(1, c);
+ } while(is.good());
+ }
+ }
+ //
+ // Now iterate through results and add them one at a time:
+ //
+ for(auto i = items_to_add.begin(); i != items_to_add.end(); ++i)
+ {
+ add_cell(static_cast<boost::uintmax_t>(std::get<0>(*i) / 1e-9), std::get<1>(*i), std::get<2>(*i), std::get<3>(*i));
+ }
+ //
+ // Write out the results:
+ //
+ boost::filesystem::ofstream os(path_to_content);
+ os << content;
+ }
+ void instantiate()const
+ {
+ }
+};
+
+static const content_loader loader;
+
+void load_table(std::vector<std::vector<std::string> >& table, std::string::const_iterator begin, std::string::const_iterator end)
+{
+ static const boost::regex item_e(
+ "\\["
+ "([^\\[\\]]*(?0)?)*"
+ "\\]"
+ );
+
+ boost::regex_token_iterator<std::string::const_iterator> i(begin, end, item_e), j;
+
+ while(i != j)
+ {
+ // Add a row:
+ table.push_back(std::vector<std::string>());
+ boost::regex_token_iterator<std::string::const_iterator> k(i->first + 1, i->second - 1, item_e);
+ while(k != j)
+ {
+ // Add a cell:
+ table.back().push_back(std::string(k->first + 1, k->second - 1));
+ ++k;
+ }
+ ++i;
+ }
+}
+
+std::string save_table(std::vector<std::vector<std::string> >& table)
+{
+ std::string result;
+
+ for(std::vector<std::vector<std::string> >::const_iterator i = table.begin(), j = table.end(); i != j; ++i)
+ {
+ result += "[";
+ for(std::vector<std::string>::const_iterator k = i->begin(), l = i->end(); k != l; ++k)
+ {
+ result += "[";
+ result += *k;
+ result += "]";
+ }
+ result += "]\n";
+ }
+ return result;
+}
+
+void add_to_all_sections(const std::string& id, std::string list_name)
+{
+ std::string::size_type pos = content.find("[template " + list_name + "[]"), end_pos;
+ if(pos == std::string::npos)
+ {
+ //
+ // Just append to the end:
+ //
+ content.append("\n[template ").append(list_name).append("[]\n[").append(id).append("]\n]\n");
+ }
+ else
+ {
+ //
+ // Read in the all list of sections, add our new one (in alphabetical order),
+ // and then rewrite the whole thing:
+ //
+ static const boost::regex item_e(
+ "\\["
+ "((?=[^\\]])[^\\[\\]]*+(?0)?+)*+"
+ "\\]|\\]"
+ );
+ boost::regex_token_iterator<std::string::const_iterator> i(content.begin() + pos + 12 + list_name.size(), content.end(), item_e), j;
+ std::set<std::string> sections;
+ while(i != j)
+ {
+ if(i->length() == 1)
+ {
+ end_pos = i->first - content.begin();
+ break;
+ }
+ sections.insert(std::string(i->first + 1, i->second - 1));
+ ++i;
+ }
+ sections.insert(id);
+ std::string new_list = "\n";
+ for(std::set<std::string>::const_iterator sec = sections.begin(); sec != sections.end(); ++sec)
+ {
+ new_list += "[" + *sec + "]\n";
+ }
+ content.replace(pos + 12 + list_name.size(), end_pos - pos - 12 - list_name.size(), new_list);
+ }
+}
+
+std::string get_colour(boost::uintmax_t val, boost::uintmax_t best)
+{
+ if(val <= best * 1.2)
+ return "green";
+ if(val > best * 2)
+ return "red";
+ return "blue";
+}
+
+boost::intmax_t get_value_from_cell(const std::string& cell)
+{
+ static const boost::regex time_e("(\\d+)ns");
+ boost::smatch what;
+ if(regex_search(cell, what, time_e))
+ {
+ return boost::lexical_cast<boost::uintmax_t>(what.str(1));
+ }
+ return -1;
+}
+
+void add_cell(boost::intmax_t val, const std::string& table_name, const std::string& row_name, const std::string& column_heading)
+{
+ //
+ // Load the table, add our data, and re-write:
+ //
+ std::string table_id = "table_" + sanitize_string(table_name);
+ boost::regex table_e("\\[table:" + table_id
+ + "\\s[^\\[]++"
+ "((\\["
+ "([^\\[\\]]*+(?2)?+)*+"
+ "\\]\\s*+)*+\\s*+)"
+ "\\]"
+ );
+
+ boost::smatch table_location;
+ if(regex_search(content, table_location, table_e))
+ {
+ std::vector<std::vector<std::string> > table_data;
+ load_table(table_data, table_location[1].first, table_location[1].second);
+ //
+ // Figure out which column we're on:
+ //
+ unsigned column_id = 1001u;
+ for(unsigned i = 0; i < table_data[0].size(); ++i)
+ {
+ if(table_data[0][i] == column_heading)
+ {
+ column_id = i;
+ break;
+ }
+ }
+ if(column_id > 1000)
+ {
+ //
+ // Need a new column, must be adding a new compiler to the table!
+ //
+ table_data[0].push_back(column_heading);
+ for(unsigned i = 1; i < table_data.size(); ++i)
+ table_data[i].push_back(std::string());
+ column_id = table_data[0].size() - 1;
+ }
+ //
+ // Figure out the row:
+ //
+ unsigned row_id = 1001;
+ for(unsigned i = 1; i < table_data.size(); ++i)
+ {
+ if(table_data[i][0] == row_name)
+ {
+ row_id = i;
+ break;
+ }
+ }
+ if(row_id > 1000)
+ {
+ //
+ // Need a new row, add it now:
+ //
+ table_data.push_back(std::vector<std::string>());
+ table_data.back().push_back(row_name);
+ for(unsigned i = 1; i < table_data[0].size(); ++i)
+ table_data.back().push_back(std::string());
+ row_id = table_data.size() - 1;
+ }
+ //
+ // Find the best result in this row:
+ //
+ boost::uintmax_t best = (std::numeric_limits<boost::uintmax_t>::max)();
+ std::vector<boost::intmax_t> values;
+ for(unsigned i = 1; i < table_data[row_id].size(); ++i)
+ {
+ if(i == column_id)
+ {
+ if(val < best)
+ best = val;
+ values.push_back(val);
+ }
+ else
+ {
+ std::cout << "Existing cell value was " << table_data[row_id][i] << std::endl;
+ boost::uintmax_t cell_val = get_value_from_cell(table_data[row_id][i]);
+ std::cout << "Extracted value: " << cell_val << std::endl;
+ if(cell_val < best)
+ best = cell_val;
+ values.push_back(cell_val);
+ }
+ }
+ //
+ // Update the row:
+ //
+ for(unsigned i = 1; i < table_data[row_id].size(); ++i)
+ {
+ std::string& s = table_data[row_id][i];
+ s = "[role ";
+ if(values[i - 1] < 0)
+ {
+ s += "grey -]";
+ }
+ else
+ {
+ s += get_colour(values[i - 1], best);
+ s += " ";
+ s += format_precision(static_cast<double>(values[i - 1]) / best, 2);
+ s += "[br](";
+ s += boost::lexical_cast<std::string>(values[i - 1]) + "ns)]";
+ }
+ }
+ //
+ // Convert back to a string and insert into content:
+ std::sort(table_data.begin() + 1, table_data.end(), [](std::vector<std::string> const& a, std::vector<std::string> const& b) { return a[0] < b[0]; } );
+ std::string c = save_table(table_data);
+ content.replace(table_location.position(1), table_location.length(1), c);
+ }
+ else
+ {
+ //
+ // Create a new table and try again:
+ //
+ std::string new_table = "\n[template " + table_id;
+ new_table += "[]\n[table:" + table_id;
+ new_table += " ";
+ new_table += table_name;
+ new_table += "\n[[Function][";
+ new_table += column_heading;
+ new_table += "]]\n";
+ new_table += "[[";
+ new_table += row_name;
+ new_table += "][[role blue 1.00[br](";
+ new_table += boost::lexical_cast<std::string>(val);
+ new_table += "ns)]]]\n]\n]\n";
+
+ std::string::size_type pos = content.find("[/tables:]");
+ if(pos != std::string::npos)
+ content.insert(pos + 10, new_table);
+ else
+ content += "\n\n[/tables:]\n" + new_table;
+ //
+ // Add a section for this table as well:
+ //
+ std::string section_id = "section_" + sanitize_string(table_name);
+ if(content.find(section_id + "[]") == std::string::npos)
+ {
+ std::string new_section = "\n[template " + section_id + "[]\n[section:" + section_id + " " + table_name + "]\n[" + table_id + "]\n[endsect]\n]\n";
+ pos = content.find("[/sections:]");
+ if(pos != std::string::npos)
+ content.insert(pos + 12, new_section);
+ else
+ content += "\n\n[/sections:]\n" + new_section;
+ add_to_all_sections(section_id);
+ }
+ //
+ // Add to list of all tables (not in sections):
+ //
+ add_to_all_sections(table_id, "performance_all_tables");
+ }
+}
+
+void report_execution_time(double t, std::string table, std::string row, std::string heading)
+{
+ items_to_add.push_back(std::make_tuple(t, table, row, heading));
+ //add_cell(static_cast<boost::uintmax_t>(t / 1e-9), table, row, heading);
+}
+
+std::string get_compiler_options_name()
+{
+#if defined(BOOST_MSVC) || defined(__ICL)
+ std::string result;
+#ifdef BOOST_MSVC
+ result = "cl ";
+#else
+ result = "icl ";
+#endif
+#ifdef _M_AMD64
+#ifdef __AVX__
+ result += "/arch:AVX /Ox";
+#else
+ result += "/Ox";
+#endif
+ result += " (x64 build)";
+#else
+#ifdef _DEBUG
+ result += "/Od";
+#elif defined(__AVX2__)
+ result += "/arch:AVX2 /Ox";
+#elif defined(__AVX__)
+ result += "/arch:AVX /Ox";
+#elif _M_IX86_FP == 2
+ result += "/arch:sse2 /Ox";
+#else
+ result += "/arch:ia32 /Ox";
+#endif
+ result += " (x86 build)";
+#endif
+ std::cout << "Compiler options are found as: " << result << std::endl;
+ return result;
+#else
+ return "Unknown";
+#endif
+}
+
diff --git a/src/boost/libs/math/reporting/performance/table_helper.hpp b/src/boost/libs/math/reporting/performance/table_helper.hpp
new file mode 100644
index 000000000..1eb3a5c1a
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/table_helper.hpp
@@ -0,0 +1,325 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef TABLE_HELPER_HPP
+#define TABLE_HELPER_HPP
+
+#include <vector>
+#include <string>
+#include <boost/version.hpp>
+#include <boost/lexical_cast.hpp>
+
+//
+// Also include headers for whatever else we may be testing:
+//
+#ifdef TEST_LIBSTDCXX
+#include <tr1/cmath>
+#include <stdexcept>
+#endif
+#ifdef TEST_GSL
+#include <gsl/gsl_sf.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_version.h>
+
+void gsl_handler(const char * reason, const char * file, int line, int gsl_errno)
+{
+ if(gsl_errno == GSL_ERANGE) return; // handle zero or infinity in our test code.
+#ifdef DISTRIBUTIONS_TEST
+ return;
+#else
+ throw std::domain_error(reason);
+#endif
+}
+
+struct gsl_error_handler_setter
+{
+ gsl_error_handler_t * old_handler;
+ gsl_error_handler_setter()
+ {
+ old_handler = gsl_set_error_handler(gsl_handler);
+ }
+ ~gsl_error_handler_setter()
+ {
+ gsl_set_error_handler(old_handler);
+ }
+};
+
+static const gsl_error_handler_setter handler;
+
+#endif
+
+#ifdef TEST_RMATH
+// Rmath overloads ftrunc, leading to strange errors from GCC unless we include this:
+#include <boost/math/special_functions.hpp>
+#define MATHLIB_STANDALONE
+#include <Rmath.h>
+#endif
+
+#ifdef TEST_DCDFLIB
+extern "C" {
+ extern void cdfbet(int*, double*, double*, double*, double*, double*, double*, int*, double*);
+ extern void cdfbin(int*, double*, double*, double*, double*, double*, double*, int*, double*);
+ extern void cdfchi(int*, double*, double*, double*, double*, int*, double*);
+ extern void cdfchn(int*, double*, double*, double*, double*, double*, int*, double*);
+ extern void cdff(int*, double*, double*, double*, double*, double*, int*, double*);
+ extern void cdffnc(int*, double*, double*, double*, double*, double*, double*, int*s, double*);
+ extern void cdfgam(int*, double*, double*, double*, double*, double*, int*, double*);
+ extern void cdfnbn(int*, double*, double*, double*, double*, double*, double*, int*, double*);
+ extern void cdfnor(int*, double*, double*, double*, double*, double*, int*, double*);
+ extern void cdfpoi(int*, double*, double*, double*, double*, int*, double*);
+ extern void cdft(int*, double*, double*, double*, double*, int*, double*);
+ //extern void cdftnc(int*, double*, double*, double*, double*, double*, int*, double*);
+}
+
+inline double dcdflib_beta_cdf(double x, double a, double b)
+{
+ int what = 1;
+ int status = 0;
+ double p, q, bound, y(1-x);
+ cdfbet(&what, &p, &q, &x, &y, &a, &b, &status, &bound);
+ return p;
+}
+
+inline double dcdflib_beta_quantile(double p, double a, double b)
+{
+ int what = 2;
+ int status = 0;
+ double x, y, bound, q(1 - p);
+ cdfbet(&what, &p, &q, &x, &y, &a, &b, &status, &bound);
+ return x;
+}
+
+inline double dcdflib_binomial_cdf(double x, double s, double sf)
+{
+ int what = 1;
+ int status = 0;
+ double p, q, bound, sfc(1-sf);
+ cdfbin(&what, &p, &q, &x, &s, &sf, &sfc, &status, &bound);
+ return p;
+}
+
+inline double dcdflib_binomial_quantile(double p, double s, double sf)
+{
+ int what = 2;
+ int status = 0;
+ double x, bound, q(1 - p), sfc(1-sf);
+ cdfbin(&what, &p, &q, &x, &s, &sf, &sfc, &status, &bound);
+ return x;
+}
+
+inline double dcdflib_chi_cdf(double x, double df)
+{
+ int what = 1;
+ int status = 0;
+ double p, q, bound;
+ cdfchi(&what, &p, &q, &x, &df, &status, &bound);
+ return p;
+}
+
+inline double dcdflib_chi_quantile(double p, double df)
+{
+ int what = 2;
+ int status = 0;
+ double x, bound, q(1 - p);
+ cdfchi(&what, &p, &q, &x, &df, &status, &bound);
+ return x;
+}
+
+inline double dcdflib_chi_n_cdf(double x, double df, double nc)
+{
+ int what = 1;
+ int status = 0;
+ double p, q, bound;
+ cdfchn(&what, &p, &q, &x, &df, &nc, &status, &bound);
+ return p;
+}
+
+inline double dcdflib_chi_n_quantile(double p, double df, double nc)
+{
+ int what = 2;
+ int status = 0;
+ double x, bound, q(1 - p);
+ cdfchn(&what, &p, &q, &x, &df, &nc, &status, &bound);
+ return x;
+}
+
+inline double dcdflib_f_cdf(double x, double df1, double df2)
+{
+ int what = 1;
+ int status = 0;
+ double p, q, bound;
+ cdff(&what, &p, &q, &x, &df1, &df2, &status, &bound);
+ return p;
+}
+
+inline double dcdflib_f_quantile(double p, double df1, double df2)
+{
+ int what = 2;
+ int status = 0;
+ double x, bound, q(1 - p);
+ cdff(&what, &p, &q, &x, &df1, &df2, &status, &bound);
+ return x;
+}
+
+inline double dcdflib_f_n_cdf(double x, double df1, double df2, double nc)
+{
+ int what = 1;
+ int status = 0;
+ double p, q, bound;
+ cdffnc(&what, &p, &q, &x, &df1, &df2, &nc, &status, &bound);
+ return p;
+}
+
+inline double dcdflib_f_n_quantile(double p, double df1, double df2, double nc)
+{
+ int what = 2;
+ int status = 0;
+ double x, bound, q(1 - p);
+ cdffnc(&what, &p, &q, &x, &df1, &df2, &nc, &status, &bound);
+ return x;
+}
+
+inline double dcdflib_gamma_cdf(double x, double shape, double scale)
+{
+ int what = 1;
+ int status = 0;
+ double p, q, bound;
+ scale = 1 / scale;
+ cdfgam(&what, &p, &q, &x, &shape, &scale, &status, &bound);
+ return p;
+}
+
+inline double dcdflib_gamma_quantile(double p, double shape, double scale)
+{
+ int what = 2;
+ int status = 0;
+ double x, bound, q(1 - p);
+ scale = 1 / scale;
+ cdfgam(&what, &p, &q, &x, &shape, &scale, &status, &bound);
+ return x;
+}
+
+inline double dcdflib_nbin_cdf(double x, double r, double sf)
+{
+ int what = 1;
+ int status = 0;
+ double p, q, bound, sfc(1 - sf);
+ cdfnbn(&what, &p, &q, &x, &r, &sf, &sfc, &status, &bound);
+ return p;
+}
+
+inline double dcdflib_nbin_quantile(double p, double r, double sf)
+{
+ int what = 2;
+ int status = 0;
+ double x, bound, q(1 - p), sfc(1 - sf);
+ cdfnbn(&what, &p, &q, &x, &r, &sf, &sfc, &status, &bound);
+ return x;
+}
+
+inline double dcdflib_norm_cdf(double x, double mean, double sd)
+{
+ int what = 1;
+ int status = 0;
+ double p, q, bound;
+ cdfnor(&what, &p, &q, &x, &mean, &sd, &status, &bound);
+ return p;
+}
+
+inline double dcdflib_norm_quantile(double p, double mean, double sd)
+{
+ int what = 2;
+ int status = 0;
+ double x, bound, q(1 - p);
+ cdfnor(&what, &p, &q, &x, &mean, &sd, &status, &bound);
+ return x;
+}
+
+inline double dcdflib_poisson_cdf(double x, double param)
+{
+ int what = 1;
+ int status = 0;
+ double p, q, bound;
+ cdfpoi(&what, &p, &q, &x, &param, &status, &bound);
+ return p;
+}
+
+inline double dcdflib_poisson_quantile(double p, double param)
+{
+ int what = 2;
+ int status = 0;
+ double x, bound, q(1 - p);
+ cdfpoi(&what, &p, &q, &x, &param, &status, &bound);
+ return x;
+}
+
+inline double dcdflib_t_cdf(double x, double param)
+{
+ int what = 1;
+ int status = 0;
+ double p, q, bound;
+ cdft(&what, &p, &q, &x, &param, &status, &bound);
+ return p;
+}
+
+inline double dcdflib_t_quantile(double p, double param)
+{
+ int what = 2;
+ int status = 0;
+ double x, bound, q(1 - p);
+ cdft(&what, &p, &q, &x, &param, &status, &bound);
+ return x;
+}
+/*
+inline double dcdflib_t_n_cdf(double x, double param, double nc)
+{
+ int what = 1;
+ int status = 0;
+ double p, q, bound;
+ cdftnc(&what, &p, &q, &x, &param, &nc, &status, &bound);
+ return p;
+}
+
+inline double dcdflib_t_n_quantile(double p, double param, double nc)
+{
+ int what = 2;
+ int status = 0;
+ double x, bound, q(1 - p);
+ cdftnc(&what, &p, &q, &x, &param, &nc, &status, &bound);
+ return x;
+}
+*/
+#endif
+
+extern std::vector<std::vector<double> > data;
+
+void report_execution_time(double t, std::string table, std::string row, std::string heading);
+std::string get_compiler_options_name();
+
+inline std::string boost_name()
+{
+ return "boost " + boost::lexical_cast<std::string>(BOOST_VERSION / 100000) + "." + boost::lexical_cast<std::string>((BOOST_VERSION / 100) % 1000);
+}
+
+inline std::string compiler_name()
+{
+#ifdef COMPILER_NAME
+ return COMPILER_NAME;
+#else
+ return BOOST_COMPILER;
+#endif
+}
+
+inline std::string platform_name()
+{
+#ifdef _WIN32
+ return "Windows x64";
+#else
+ return BOOST_PLATFORM;
+#endif
+}
+
+#endif // TABLE_HELPER_HPP
+
diff --git a/src/boost/libs/math/reporting/performance/test_assoc_laguerre.cpp b/src/boost/libs/math/reporting/performance/test_assoc_laguerre.cpp
new file mode 100644
index 000000000..0232bb4e8
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_assoc_laguerre.cpp
@@ -0,0 +1,81 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/laguerre.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+# include "laguerre3.ipp"
+
+ add_data(laguerre3);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::laguerre(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[3]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::assoc_laguerre(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_laguerre_n(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "assoc_laguerre[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "assoc_laguerre";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::laguerre(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::laguerre(v[0], v[1], v[2], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::assoc_laguerre(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_laguerre_n(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_assoc_legendre.cpp b/src/boost/libs/math/reporting/performance/test_assoc_legendre.cpp
new file mode 100644
index 000000000..8245f9f49
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_assoc_legendre.cpp
@@ -0,0 +1,80 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/legendre.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+# include "assoc_legendre_p.ipp"
+
+ add_data(assoc_legendre_p);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::legendre_p(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[3]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::assoc_legendre(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_legendre_Plm(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "assoc_legendre[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "assoc_legendre";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::legendre_p(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::legendre_p(v[0], v[1], v[2], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::assoc_legendre(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_legendre_Plm(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_beta.cpp b/src/boost/libs/math/reporting/performance/test_beta.cpp
new file mode 100644
index 000000000..7ed8cca86
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_beta.cpp
@@ -0,0 +1,92 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/beta.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+# include "beta_small_data.ipp"
+# include "beta_med_data.ipp"
+# include "beta_exp_data.ipp"
+
+ add_data(beta_small_data);
+ add_data(beta_med_data);
+ add_data(beta_exp_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::beta(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::beta(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_beta(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return beta(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "beta[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "beta";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::beta(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::beta(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::beta(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_beta(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return beta(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_beta_inc.cpp b/src/boost/libs/math/reporting/performance/test_beta_inc.cpp
new file mode 100644
index 000000000..a9b78a87a
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_beta_inc.cpp
@@ -0,0 +1,81 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/beta.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+
+int main()
+{
+# include "ibeta_small_data.ipp"
+# include "ibeta_data.ipp"
+# include "ibeta_large_data.ipp"
+# include "ibeta_int_data.ipp"
+
+ add_data(ibeta_small_data);
+ add_data(ibeta_data);
+ add_data(ibeta_large_data);
+ add_data(ibeta_int_data);
+
+ unsigned data_total = data.size();
+
+ std::cout << "Screening boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::ibeta(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[5]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening gsl data:\n";
+ screen_data([](const std::vector<double>& v){ return gsl_sf_beta_inc(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[5]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "beta (incomplete)[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "beta (incomplete)";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::beta(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::beta(v[0], v[1], v[2], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_beta_inc(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_cbrt.cpp b/src/boost/libs/math/reporting/performance/test_cbrt.cpp
new file mode 100644
index 000000000..8be48f900
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_cbrt.cpp
@@ -0,0 +1,81 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/cbrt.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+int main()
+{
+ typedef double T;
+#define SC_(x) static_cast<double>(x)
+# include "../../test/cbrt_data.ipp"
+
+ add_data(cbrt_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::cbrt(v[1]); }, [](const std::vector<double>& v){ return v[0]; });
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return ::cbrt(v[1]); }, [](const std::vector<double>& v){ return v[0]; });
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::cbrt(v[1]); }, [](const std::vector<double>& v){ return v[0]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "cbrt[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "cbrt";
+
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cbrt(v[1]); });
+ std::cout << time << std::endl;
+#if defined(COMPILER_COMPARISON_TABLES)
+ report_execution_time(time, std::string("Compiler Option Comparison on ") + platform_name(), "boost::math::cbrt", get_compiler_options_name());
+#else
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+#endif
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cbrt(v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::cbrt(v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "math.h");
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::cbrt(v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_cn.cpp b/src/boost/libs/math/reporting/performance/test_cn.cpp
new file mode 100644
index 000000000..eac28da75
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_cn.cpp
@@ -0,0 +1,135 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/jacobi_elliptic.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+ static const boost::array<boost::array<T, 5>, 36> data1 = {{
+ {{ SC_(0.0), SC_(0.0), SC_(0.0), SC_(1.0), SC_(1.0) }},
+ {{ ldexp(T(1), -25), ldexp(T(1), -25), SC_(2.98023223876953080883700663838486782870427050521881839342311e-8), SC_(0.99999999999999955591079014993741669975171697261290223678373), SC_(0.99999999999999999999999999999960556954738949421406900774443) }},
+ {{ -ldexp(T(1), -25), ldexp(T(1), -25), SC_(-2.98023223876953080883700663838486782870427050521881839342311e-8), SC_(0.99999999999999955591079014993741669975171697261290223678373), SC_(0.99999999999999999999999999999960556954738949421406900774443) }},
+ {{ SC_(0.25), ldexp(T(1), -25), SC_(0.247403959254522927383635623557663763268693729825996390997241), SC_(0.968912421710644784709721529742747886950140086772629513814665), SC_(0.99999999999999997281786831901333837240938011109848356555885) }},
+ {{ SC_(-0.25), ldexp(T(1), -25), SC_(-0.247403959254522927383635623557663763268693729825996390997241), SC_(0.968912421710644784709721529742747886950140086772629513814665), SC_(0.99999999999999997281786831901333837240938011109848356555885) }},
+ {{ SC_(1.25), ldexp(T(1), -25), SC_(0.948984619355586147780156037971989352776684194861616269831136), SC_(0.315322362395268865789580233344649598639316847638615703458263), SC_(0.99999999999999960006577747263860127231780811081154547949983) }},
+ {{ SC_(-1.25), ldexp(T(1), -25), SC_(-0.948984619355586147780156037971989352776684194861616269831136), SC_(0.315322362395268865789580233344649598639316847638615703458263), SC_(0.99999999999999960006577747263860127231780811081154547949983) }},
+ {{ SC_(25.0), ldexp(T(1), -25), SC_(-0.132351750097778560056127137329035522219365438979106560464704), SC_(0.991202811863472859528158119981178957382802975691690722810123), SC_(0.99999999999999999222089563757583834413059580275315226870704) }},
+ {{ SC_(-25.0), ldexp(T(1), -25), SC_(0.132351750097778560056127137329035522219365438979106560464704), SC_(0.991202811863472859528158119981178957382802975691690722810123), SC_(0.99999999999999999222089563757583834413059580275315226870704) }},
+ {{ ldexp(T(1), -25), SC_(0.5), SC_(2.98023223876953058825550995757802173334628440851964836958219e-8), SC_(0.99999999999999955591079014993744956895610118130967536624417), SC_(0.99999999999999988897769753748438088116649141278818704012037) }},
+ {{ -ldexp(T(1), -25), SC_(0.5), SC_(-2.98023223876953058825550995757802173334628440851964836958219e-8), SC_(0.99999999999999955591079014993744956895610118130967536624417), SC_(0.99999999999999988897769753748438088116649141278818704012037) }},
+ {{ SC_(0.25), SC_(0.5), SC_(0.246781405136141600483623741101255389743847413013817188632739), SC_(0.969071172865559727608777289021929824625726812182428398055476), SC_(0.992358168465276394946615469032829292963938826683866720698130) }},
+ {{ SC_(-0.25), SC_(0.5), SC_(-0.246781405136141600483623741101255389743847413013817188632739), SC_(0.969071172865559727608777289021929824625726812182428398055476), SC_(0.992358168465276394946615469032829292963938826683866720698130) }},
+ {{ SC_(1.25), SC_(0.5), SC_(0.928561236426319775700204388269999130782711902203415239399579), SC_(0.371179242693370810357222594552131893184749696381729988511999), SC_(0.885688154799196841458565445994481097477880319663264816077719) }},
+ {{ SC_(-1.25), SC_(0.5), SC_(-0.928561236426319775700204388269999130782711902203415239399579), SC_(0.371179242693370810357222594552131893184749696381729988511999), SC_(0.885688154799196841458565445994481097477880319663264816077719) }},
+ {{ SC_(25.0), SC_(0.5), SC_(-0.969223071486651608400225080456020493867827336842041561445359), SC_(-0.246184154035106463351874891855925292474628176040625311168501), SC_(0.874729477852721764836147376110255133761608728373832418508248) }},
+ {{ SC_(-25.0), SC_(0.5), SC_(0.969223071486651608400225080456020493867827336842041561445359), SC_(-0.246184154035106463351874891855925292474628176040625311168501), SC_(0.874729477852721764836147376110255133761608728373832418508248) }},
+ {{ ldexp(T(1), -25), 1 - ldexp(T(1), -9), SC_(2.98023223876953036939562331632512854347569015560128614888589e-8), SC_(0.99999999999999955591079014993754766348947956082687878223721), SC_(0.99999999999999955764381956001984590118394542979655101564079) }},
+ {{ -ldexp(T(1), -25), 1 - ldexp(T(1), -9), SC_(-2.98023223876953036939562331632512854347569015560128614888589e-8), SC_(0.99999999999999955591079014993754766348947956082687878223721), SC_(0.99999999999999955764381956001984590118394542979655101564079) }},
+ {{ SC_(0.25), 1 - ldexp(T(1), -9), SC_(0.244928335616519632082236089277654937383208524525331032303082), SC_(0.969541185516180906431546524888118346090913555188425579774305), SC_(0.969661908643964623248878987955178702010392829596222190545649) }},
+ {{ SC_(-0.25), 1 - ldexp(T(1), -9), SC_(-0.244928335616519632082236089277654937383208524525331032303082), SC_(0.969541185516180906431546524888118346090913555188425579774305), SC_(0.969661908643964623248878987955178702010392829596222190545649) }},
+ {{ SC_(1.25), 1 - ldexp(T(1), -9), SC_(0.848768940045053312079390719205939167551169094157365783446523), SC_(0.528763923140371497228677918580246099580380684604621321430057), SC_(0.531415689278260818860813380561526095359692710060403584603095) }},
+ {{ SC_(-1.25), 1 - ldexp(T(1), -9), SC_(-0.848768940045053312079390719205939167551169094157365783446523), SC_(0.528763923140371497228677918580246099580380684604621321430057), SC_(0.531415689278260818860813380561526095359692710060403584603095) }},
+ {{ SC_(25.0), 1 - ldexp(T(1), -9), SC_(-0.0252326124525503880903568715488227138184083895871544015366337), SC_(-0.999681606947341709011836635135181960590782564534371631099332), SC_(0.999682849652724146508471774051629114156076052044812654903417) }},
+ {{ SC_(-25.0), 1 - ldexp(T(1), -9), SC_(0.0252326124525503880903568715488227138184083895871544015366337), SC_(-0.999681606947341709011836635135181960590782564534371631099332), SC_(0.999682849652724146508471774051629114156076052044812654903417) }},
+
+ // Try modulus > 1
+ {{ ldexp(T(1), -25), SC_(1.5), SC_(2.98023223876952981622027157475276613133414644789222481971590e-8), SC_(0.999999999999999555910790149937712522591174851747994454928040), SC_(0.999999999999999000799277837359575841918151654603571877092161) }},
+ {{ -ldexp(T(1), -25), SC_(1.5), SC_(-2.98023223876952981622027157475276613133414644789222481971590e-8), SC_(0.999999999999999555910790149937712522591174851747994454928040), SC_(0.999999999999999000799277837359575841918151654603571877092161) }},
+ {{ SC_(0.25), SC_(1.5), SC_(0.241830488135945315134822478837394038661484435596992059686086), SC_(0.970318512143270619246031961334217540099946232418710982266812), SC_(0.931888155181641649031244632258710371461078255228024421800363) }},
+ {{ SC_(-0.25), SC_(1.5), SC_(-0.241830488135945315134822478837394038661484435596992059686086), SC_(0.970318512143270619246031961334217540099946232418710982266812), SC_(0.931888155181641649031244632258710371461078255228024421800363) }},
+ {{ SC_(1.25), SC_(1.5), SC_(0.665875890711922169121186264316618499018039094009893317545462), SC_(0.746062529663971452521312655373498959968622875614588791642250), SC_(-0.0486921028438866868299166778939466685768843580182675008164949) }},
+ {{ SC_(-1.25), SC_(1.5), SC_(-0.665875890711922169121186264316618499018039094009893317545462), SC_(0.746062529663971452521312655373498959968622875614588791642250), SC_(-0.0486921028438866868299166778939466685768843580182675008164949) }},
+ {{ SC_(25.0), SC_(1.5), SC_(0.618665338981368217712277210270169521641154921220796362724248), SC_(0.785654630447163313102421517325310755764805805534154371583941), SC_(0.372585153048138377269609818284480926623056458773704266654150) }},
+ {{ SC_(-25.0), SC_(1.5), SC_(-0.618665338981368217712277210270169521641154921220796362724248), SC_(0.785654630447163313102421517325310755764805805534154371583941), SC_(0.372585153048138377269609818284480926623056458773704266654150) }},
+
+ // Special Values:
+ {{ SC_(0.0), SC_(0.5), SC_(0.0), SC_(1.0), SC_(1.0) }},
+ {{ SC_(5.0), SC_(0.0), SC_(-0.958924274663138468893154406155993973352461543964601778131672), SC_(0.283662185463226264466639171513557308334422592252215944930359), SC_(1.0) }},
+ {{ SC_(5.0), SC_(1.0), SC_(0.999909204262595131210990447534473021089812615990547862736429), SC_(0.0134752822213045573055191382448821552908373539417006868332819), SC_(0.0134752822213045573055191382448821552908373539417006868332819) }},
+ }};
+
+
+int main()
+{
+#include "jacobi_elliptic.ipp"
+#include "jacobi_elliptic_small.ipp"
+#include "jacobi_near_1.ipp"
+#include "jacobi_large_phi.ipp"
+
+ add_data(data1);
+ add_data(jacobi_elliptic);
+ add_data(jacobi_elliptic_small);
+ add_data(jacobi_near_1);
+ add_data(jacobi_large_phi);
+
+ unsigned data_total = data.size();
+
+
+ std::cout << "Screening Boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::jacobi_cn(v[1], v[0]); }, [](const std::vector<double>& v){ return v[3]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening GSL data:\n";
+ screen_data([](const std::vector<double>& v)
+ {
+ double s, c, d;
+ gsl_sf_elljac_e(v[0], v[1] * v[1], &s, &c, &d);
+ return c;
+ }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "jacobi_cn[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "jacobi_cn";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::jacobi_cn(v[1], v[2]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::jacobi_cn(v[1], v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double s, c, d;
+ gsl_sf_elljac_e(v[0], v[1] * v[1], &s, &c, &d);
+ return c;
+ });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_digamma.cpp b/src/boost/libs/math/reporting/performance/test_digamma.cpp
new file mode 100644
index 000000000..57a598e16
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_digamma.cpp
@@ -0,0 +1,100 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/digamma.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+int main()
+{
+ typedef double T;
+#define SC_(x) static_cast<double>(x)
+# include "digamma_data.ipp"
+# include "digamma_root_data.ipp"
+# include "digamma_small_data.ipp"
+# include "digamma_neg_data.ipp"
+ static const boost::array<boost::array<T, 2>, 5> digamma_bugs = {{
+ // Test cases from Rocco Romeo:
+ {{ static_cast<T>(std::ldexp(1.0, -100)), SC_(-1.26765060022822940149670320537657721566490153286060651209008e30) }},
+ {{ static_cast<T>(-std::ldexp(1.0, -100)), SC_(1.26765060022822940149670320537542278433509846713939348790992e30) }},
+ {{ static_cast<T>(1), SC_(-0.577215664901532860606512090082402431042159335939923598805767) }},
+ {{ static_cast<T>(-1) + static_cast<T>(std::ldexp(1.0, -20)), SC_(-1.04857557721314249602848739817764518743062133735858753112190e6) }},
+ {{ static_cast<T>(-1) - static_cast<T>(std::ldexp(1.0, -20)), SC_(1.04857642278181269259522681939281063878220298942888100442172e6) }},
+ }};
+ static const boost::array<boost::array<T, 2>, 40> digamma_integers = { {
+ { 1, SC_(-0.57721566490153286060651209008240243) }, { 2, SC_(0.42278433509846713939348790991759757) }, { 3, SC_(0.92278433509846713939348790991759757) }, { 4, SC_(1.2561176684318004727268212432509309) }, { 5, SC_(1.5061176684318004727268212432509309) }, { 6, SC_(1.7061176684318004727268212432509309) }, { 7, SC_(1.8727843350984671393934879099175976) }, { 8, SC_(2.0156414779556099965363450527747404) }, { 9, SC_(2.1406414779556099965363450527747404) }, { SC_(10.0), SC_(2.2517525890667211076474561638858515) }, { SC_(11.0), SC_(2.3517525890667211076474561638858515) }, { SC_(12.0), SC_(2.4426616799758120167383652547949424) }, { SC_(13.0), SC_(2.5259950133091453500716985881282758) }, { SC_(14.0), SC_(2.6029180902322222731486216650513527) }, { SC_(15.0), SC_(2.6743466616607937017200502364799241) }, { SC_(16.0), SC_(2.7410133283274603683867169031465908) }, { SC_(17.0), SC_(2.8035133283274603683867169031465908) }, { SC_(18.0), SC_(2.8623368577392250742690698443230614) }, { SC_(19.0), SC_(2.9178924132947806298246253998786169) }, { SC_(20.0), SC_(2.9705239922421490508772569788259854) }, { SC_(21.0), SC_(3.0205239922421490508772569788259854) }, { SC_(22.0), SC_(3.0681430398611966699248760264450330) }, { SC_(23.0), SC_(3.1135975853157421244703305718995784) }, { SC_(24.0), SC_(3.1570758461853073418616349197256654) }, { SC_(25.0), SC_(3.1987425128519740085283015863923321) }, { SC_(26.0), SC_(3.2387425128519740085283015863923321) }, { SC_(27.0), SC_(3.2772040513135124700667631248538705) }, { SC_(28.0), SC_(3.3142410883505495071038001618909076) }, { SC_(29.0), SC_(3.3499553740648352213895144476051933) }, { SC_(30.0), SC_(3.3844381326855248765619282407086415) }, { SC_(31.0), SC_(3.4177714660188582098952615740419749) }, { SC_(32.0), SC_(3.4500295305349872421533260901710071) }, { SC_(33.0), SC_(3.4812795305349872421533260901710071) }, { SC_(34.0), SC_(3.5115825608380175451836291204740374) }, { SC_(35.0), SC_(3.5409943255438998981248055910622727) }, { SC_(36.0), SC_(3.5695657541153284695533770196337013) }, { SC_(37.0), SC_(3.5973435318931062473311547974114791) }, { SC_(38.0), SC_(3.6243705589201332743581818244385061) }, { SC_(39.0), SC_(3.6506863483938174848844976139121903) }, { SC_(40.0), SC_(3.6763273740348431259101386395532160) }
+ } };
+ static const boost::array<boost::array<T, 2>, 41> digamma_half_integers = { {
+ { SC_(0.5), SC_(-1.9635100260214234794409763329987556) }, { SC_(1.5), SC_(0.036489973978576520559023667001244433) }, { SC_(2.5), SC_(0.70315664064524318722569033366791110) }, { SC_(3.5), SC_(1.1031566406452431872256903336679111) }, { SC_(4.5), SC_(1.3888709263595289015114046193821968) }, { SC_(5.5), SC_(1.6110931485817511237336268416044190) }, { SC_(6.5), SC_(1.7929113303999329419154450234226009) }, { SC_(7.5), SC_(1.9467574842460867880692911772687547) }, { SC_(8.5), SC_(2.0800908175794201214026245106020880) }, { SC_(9.5), SC_(2.1977378764029495331673303929550292) }, { SC_(10.5), SC_(2.3030010342976863752725935508497661) }, { SC_(11.5), SC_(2.3982391295357816133678316460878613) }, { SC_(12.5), SC_(2.4851956512749120481504403417400352) }, { SC_(13.5), SC_(2.5651956512749120481504403417400352) }, { SC_(14.5), SC_(2.6392697253489861222245144158141093) }, { SC_(15.5), SC_(2.7082352425903654325693420020210058) }, { SC_(16.5), SC_(2.7727513716226234970854710342790703) }, { SC_(17.5), SC_(2.8333574322286841031460770948851310) }, { SC_(18.5), SC_(2.8905002893715412460032199520279881) }, { SC_(19.5), SC_(2.9445543434255953000572740060820421) }, { SC_(20.5), SC_(2.9958363947076465821085560573640934) }, { SC_(21.5), SC_(3.0446168825125246308890438622421422) }, { SC_(22.5), SC_(3.0911285104195013750750903738700492) }, { SC_(23.5), SC_(3.1355729548639458195195348183144936) }, { SC_(24.5), SC_(3.1781261463533075216471943927825787) }, { SC_(25.5), SC_(3.2189424728839197665451535764560481) }, { SC_(26.5), SC_(3.2581581591584295704667222039070285) }, { SC_(27.5), SC_(3.2958940082150333440516278642843870) }, { SC_(28.5), SC_(3.3322576445786697076879915006480234) }, { SC_(29.5), SC_(3.3673453638769153217230792199462690) }, { SC_(30.5), SC_(3.4012436689616610844349436267259300) }, { SC_(31.5), SC_(3.4340305542075627237792059218078972) }, { SC_(32.5), SC_(3.4657765859535944698109519535539290) }, { SC_(33.5), SC_(3.4965458167228252390417211843231597) }, { SC_(34.5), SC_(3.5263965629914819554596316320843538) }, { SC_(35.5), SC_(3.5553820702378587670538345306350784) }, { SC_(36.5), SC_(3.5835510843223658093073556573956418) }, { SC_(37.5), SC_(3.6109483445963384120470816847929021) }, { SC_(38.5), SC_(3.6376150112630050787137483514595687) }, { SC_(39.5), SC_(3.6635890372370310527397223774335947) }, { SC_(40.5), SC_(3.6889054929332335843852919976867593) }
+ } };
+
+ add_data(digamma_data);
+ add_data(digamma_root_data);
+ add_data(digamma_small_data);
+ add_data(digamma_neg_data);
+ add_data(digamma_bugs);
+ add_data(digamma_integers);
+ add_data(digamma_half_integers);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::digamma(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_psi(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return ::digamma(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "digamma[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "digamma";
+
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::digamma(v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::digamma(v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_psi(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::digamma(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_distributions.cpp b/src/boost/libs/math/reporting/performance/test_distributions.cpp
new file mode 100644
index 000000000..ddd72ee96
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_distributions.cpp
@@ -0,0 +1,750 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
+#define DISTRIBUTIONS_TEST
+
+#include <boost/math/distributions.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+#ifdef TEST_GSL
+#include <gsl/gsl_cdf.h>
+#endif
+
+class distribution_tester
+{
+ std::string distro_name;
+ static const double quantiles[19];
+ double sum;
+
+ struct param_info
+ {
+ std::vector<double> params;
+ std::vector<double> x_values;
+ };
+ std::vector<param_info> tests;
+ double sanitize_x(double x)
+ {
+ if(x > boost::math::tools::max_value<float>() / 2)
+ return boost::math::tools::max_value<float>() / 2;
+ if(x < -boost::math::tools::max_value<float>() / 2)
+ return -boost::math::tools::max_value<float>() / 2;
+ return x;
+ }
+public:
+ distribution_tester(const char* name) : distro_name(name), sum(0) {}
+
+ template <class F>
+ void add_test_case(F f)
+ {
+ tests.push_back(param_info());
+ for(unsigned i = 0; i < sizeof(quantiles) / sizeof(quantiles[0]); ++i)
+ {
+ tests.back().x_values.push_back(sanitize_x(f(quantiles[i])));
+ }
+ }
+ template <class F>
+ void add_test_case(double p1, F f)
+ {
+ tests.push_back(param_info());
+ tests.back().params.push_back(p1);
+ for(unsigned i = 0; i < sizeof(quantiles) / sizeof(quantiles[0]); ++i)
+ {
+ tests.back().x_values.push_back(sanitize_x(f(p1, quantiles[i])));
+ }
+ }
+ template <class F>
+ void add_test_case(double p1, double p2, F f)
+ {
+ tests.push_back(param_info());
+ tests.back().params.push_back(p1);
+ tests.back().params.push_back(p2);
+ for(unsigned i = 0; i < sizeof(quantiles) / sizeof(quantiles[0]); ++i)
+ {
+ tests.back().x_values.push_back(sanitize_x(f(p1, p2, quantiles[i])));
+ }
+ }
+ template <class F>
+ void add_test_case(double p1, double p2, double p3, F f)
+ {
+ tests.push_back(param_info());
+ tests.back().params.push_back(p1);
+ tests.back().params.push_back(p2);
+ tests.back().params.push_back(p3);
+ for(unsigned i = 0; i < sizeof(quantiles) / sizeof(quantiles[0]); ++i)
+ {
+ tests.back().x_values.push_back(sanitize_x(f(p1, p2, p3, quantiles[i])));
+ }
+ }
+
+ enum
+ {
+ main_table = 1,
+ boost_only_table = 2,
+ both_tables = 3
+ };
+
+ template <class F>
+ void run_timed_tests(F f, std::string sub_name, std::string column, bool p_value = false, int where = main_table)
+ {
+ std::cout << "Testing " << distro_name + " (" + std::string(sub_name) + ")" << " with library " << column << std::endl;
+ try{
+ double t = 0;
+ unsigned repeats = 1;
+ unsigned data_size;
+ do{
+ data_size = 0;
+ stopwatch<boost::chrono::high_resolution_clock> w;
+
+ for(unsigned count = 0; count < repeats; ++count)
+ {
+ for(unsigned i = 0; i < tests.size(); ++i)
+ {
+ for(unsigned j = 0; j < tests[i].x_values.size(); ++j)
+ {
+ if((boost::math::isfinite)(tests[i].x_values[j]))
+ sum += f(tests[i].params, p_value ? quantiles[j] : tests[i].x_values[j]);
+ ++data_size;
+ }
+ }
+ }
+
+ t = boost::chrono::duration_cast<boost::chrono::duration<double>>(w.elapsed()).count();
+ if(t < 0.5)
+ repeats *= 2;
+ } while(t < 0.5);
+
+ static const std::string main_table_name = std::string("Distribution performance comparison with ") + compiler_name() + std::string(" on ") + platform_name();
+ static const std::string boost_table_name = std::string("Distribution performance comparison for different performance options with ") + compiler_name() + std::string(" on ") + platform_name();
+
+ if (where & 1)
+ {
+ report_execution_time(
+ t / data_size,
+ main_table_name,
+ distro_name + " (" + std::string(sub_name) + ")",
+ column);
+ }
+ if (where & 2)
+ {
+ report_execution_time(
+ t / data_size,
+ boost_table_name,
+ distro_name + " (" + std::string(sub_name) + ")",
+ column);
+ }
+ }
+ catch(const std::exception& e)
+ {
+ std::cerr << "Aborting due to exception: " << e.what() << std::endl;
+ std::cerr << "In " << distro_name + " (" + std::string(sub_name) + ")" << std::endl;
+ report_execution_time(
+ (std::numeric_limits<boost::uintmax_t>::max)(),
+ std::string("Distribution performance comparison with ") + compiler_name() + std::string(" on ") + platform_name(),
+ distro_name + " (" + std::string(sub_name) + ")",
+ column);
+ }
+ }
+};
+
+const double distribution_tester::quantiles[19] =
+{
+ 0.000001,
+ 0.00001,
+ 0.0001,
+ 0.001,
+ 0.01,
+ 0.1,
+ 0.2,
+ 0.3,
+ 0.4,
+ 0.5,
+ 0.6,
+ 0.7,
+ 0.8,
+ 0.9,
+ 0.99,
+ 0.999,
+ 0.9999,
+ 0.99999,
+ 0.999999
+};
+
+template <class D>
+struct three_param_quantile
+{
+ template <class T, class U, class V, class X>
+ double operator()(T x, U y, V z, X q)const
+ {
+ return quantile(D(x, y, z), q);
+ }
+};
+
+template <class D>
+struct two_param_quantile
+{
+ template <class T, class U, class V>
+ double operator()(T x, U y, V q)const
+ {
+ return quantile(D(x, y), q);
+ }
+};
+
+template <class D>
+struct one_param_quantile
+{
+ template <class T, class V>
+ double operator()(T x, V q)const
+ {
+ return quantile(D(x), q);
+ }
+};
+
+template <template <class T, class U> class D>
+void test_boost_1_param(distribution_tester& tester)
+{
+ //
+ // Define some custom policies to test:
+ //
+ typedef boost::math::policies::policy<> default_policy;
+ typedef boost::math::policies::policy<boost::math::policies::promote_double<false> > no_promote_double_policy;
+ typedef boost::math::policies::policy<boost::math::policies::promote_double<false>, boost::math::policies::digits10<10> > no_promote_double_10_digits_policy;
+ typedef boost::math::policies::policy<boost::math::policies::promote_float<false> > no_promote_float_policy;
+
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return pdf(D<double, default_policy>(v[0]), x); }, "PDF", boost_name(), false, distribution_tester::both_tables);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return cdf(D<double, default_policy>(v[0]), x); }, "CDF", boost_name(), false, distribution_tester::both_tables);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return quantile(D<double, default_policy>(v[0]), x); }, "quantile", boost_name(), true, distribution_tester::both_tables);
+ if(sizeof(double) != sizeof(long double))
+ {
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return pdf(D<double, no_promote_double_policy>(v[0]), x); }, "PDF", "Boost[br]promote_double<false>", false, distribution_tester::both_tables);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return cdf(D<double, no_promote_double_policy>(v[0]), x); }, "CDF", "Boost[br]promote_double<false>", false, distribution_tester::both_tables);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return quantile(D<double, no_promote_double_policy>(v[0]), x); }, "quantile", "Boost[br]promote_double<false>", true, distribution_tester::both_tables);
+ }
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return pdf(D<double, no_promote_double_10_digits_policy>(v[0]), x); }, "PDF", "Boost[br]promote_double<false>[br]digits10<10>", false, distribution_tester::boost_only_table);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return cdf(D<double, no_promote_double_10_digits_policy>(v[0]), x); }, "CDF", "Boost[br]promote_double<false>[br]digits10<10>", false, distribution_tester::boost_only_table);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return quantile(D<double, no_promote_double_10_digits_policy>(v[0]), x); }, "quantile", "Boost[br]promote_double<false>[br]digits10<10>", true, distribution_tester::boost_only_table);
+
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return pdf(D<float, no_promote_float_policy>(static_cast<float>(v[0])), static_cast<float>(x)); }, "PDF", "Boost[br]float[br]promote_float<false>", false, distribution_tester::boost_only_table);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return cdf(D<float, no_promote_float_policy>(static_cast<float>(v[0])), static_cast<float>(x)); }, "CDF", "Boost[br]float[br]promote_float<false>", false, distribution_tester::boost_only_table);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return quantile(D<float, no_promote_float_policy>(static_cast<float>(v[0])), static_cast<float>(x)); }, "quantile", "Boost[br]float[br]promote_float<false>", true, distribution_tester::boost_only_table);
+}
+
+template <template <class T, class U> class D>
+void test_boost_2_param(distribution_tester& tester)
+{
+ //
+ // Define some custom policies to test:
+ //
+ typedef boost::math::policies::policy<> default_policy;
+ typedef boost::math::policies::policy<boost::math::policies::promote_double<false> > no_promote_double_policy;
+ typedef boost::math::policies::policy<boost::math::policies::promote_double<false>, boost::math::policies::digits10<10> > no_promote_double_10_digits_policy;
+ typedef boost::math::policies::policy<boost::math::policies::promote_float<false> > no_promote_float_policy;
+
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return pdf(D<double, default_policy>(v[0], v[1]), x); }, "PDF", boost_name(), false, distribution_tester::both_tables);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return cdf(D<double, default_policy>(v[0], v[1]), x); }, "CDF", boost_name(), false, distribution_tester::both_tables);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return quantile(D<double, default_policy>(v[0], v[1]), x); }, "quantile", boost_name(), true, distribution_tester::both_tables);
+ if(sizeof(double) != sizeof(long double))
+ {
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return pdf(D<double, no_promote_double_policy>(v[0], v[1]), x); }, "PDF", "Boost[br]promote_double<false>", false, distribution_tester::both_tables);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return cdf(D<double, no_promote_double_policy>(v[0], v[1]), x); }, "CDF", "Boost[br]promote_double<false>", false, distribution_tester::both_tables);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return quantile(D<double, no_promote_double_policy>(v[0], v[1]), x); }, "quantile", "Boost[br]promote_double<false>", true, distribution_tester::both_tables);
+ }
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return pdf(D<double, no_promote_double_10_digits_policy>(v[0], v[1]), x); }, "PDF", "Boost[br]promote_double<false>[br]digits10<10>", false, distribution_tester::boost_only_table);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return cdf(D<double, no_promote_double_10_digits_policy>(v[0], v[1]), x); }, "CDF", "Boost[br]promote_double<false>[br]digits10<10>", false, distribution_tester::boost_only_table);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return quantile(D<double, no_promote_double_10_digits_policy>(v[0], v[1]), x); }, "quantile", "Boost[br]promote_double<false>[br]digits10<10>", true, distribution_tester::boost_only_table);
+
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return pdf(D<float, no_promote_float_policy>(static_cast<float>(v[0]), static_cast<float>(v[1])), static_cast<float>(x)); }, "PDF", "Boost[br]float[br]promote_float<false>", false, distribution_tester::boost_only_table);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return cdf(D<float, no_promote_float_policy>(static_cast<float>(v[0]), static_cast<float>(v[1])), static_cast<float>(x)); }, "CDF", "Boost[br]float[br]promote_float<false>", false, distribution_tester::boost_only_table);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return quantile(D<float, no_promote_float_policy>(static_cast<float>(v[0]), static_cast<float>(v[1])), static_cast<float>(x)); }, "quantile", "Boost[br]float[br]promote_float<false>", true, distribution_tester::boost_only_table);
+}
+
+template <template <class T, class U> class D>
+void test_boost_3_param(distribution_tester& tester)
+{
+ //
+ // Define some custom policies to test:
+ //
+ typedef boost::math::policies::policy<> default_policy;
+ typedef boost::math::policies::policy<boost::math::policies::promote_double<false> > no_promote_double_policy;
+ typedef boost::math::policies::policy<boost::math::policies::promote_double<false>, boost::math::policies::digits10<10> > no_promote_double_10_digits_policy;
+ typedef boost::math::policies::policy<boost::math::policies::promote_float<false> > no_promote_float_policy;
+
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return pdf(D<double, default_policy>(v[0], v[1], v[2]), x); }, "PDF", boost_name(), false, distribution_tester::both_tables);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return cdf(D<double, default_policy>(v[0], v[1], v[2]), x); }, "CDF", boost_name(), false, distribution_tester::both_tables);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return quantile(D<double, default_policy>(v[0], v[1], v[2]), x); }, "quantile", boost_name(), true, distribution_tester::both_tables);
+ if(sizeof(double) != sizeof(long double))
+ {
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return pdf(D<double, no_promote_double_policy>(v[0], v[1], v[2]), x); }, "PDF", "Boost[br]promote_double<false>", false, distribution_tester::both_tables);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return cdf(D<double, no_promote_double_policy>(v[0], v[1], v[2]), x); }, "CDF", "Boost[br]promote_double<false>", false, distribution_tester::both_tables);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return quantile(D<double, no_promote_double_policy>(v[0], v[1], v[2]), x); }, "quantile", "Boost[br]promote_double<false>", true, distribution_tester::both_tables);
+ }
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return pdf(D<double, no_promote_double_10_digits_policy>(v[0], v[1], v[2]), x); }, "PDF", "Boost[br]promote_double<false>[br]digits10<10>", false, distribution_tester::boost_only_table);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return cdf(D<double, no_promote_double_10_digits_policy>(v[0], v[1], v[2]), x); }, "CDF", "Boost[br]promote_double<false>[br]digits10<10>", false, distribution_tester::boost_only_table);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return quantile(D<double, no_promote_double_10_digits_policy>(v[0], v[1], v[2]), x); }, "quantile", "Boost[br]promote_double<false>[br]digits10<10>", true, distribution_tester::boost_only_table);
+
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return pdf(D<float, no_promote_float_policy>(static_cast<float>(v[0]), static_cast<float>(v[1]), static_cast<float>(v[2])), static_cast<float>(x)); }, "PDF", "Boost[br]float[br]promote_float<false>", false, distribution_tester::boost_only_table);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return cdf(D<float, no_promote_float_policy>(static_cast<float>(v[0]), static_cast<float>(v[1]), static_cast<float>(v[2])), static_cast<float>(x)); }, "CDF", "Boost[br]float[br]promote_float<false>", false, distribution_tester::boost_only_table);
+ tester.run_timed_tests([](const std::vector<double>& v, double x){ return quantile(D<float, no_promote_float_policy>(static_cast<float>(v[0]), static_cast<float>(v[1]), static_cast<float>(v[2])), static_cast<float>(x)); }, "quantile", "Boost[br]float[br]promote_float<false>", true, distribution_tester::boost_only_table);
+}
+
+int main()
+{
+ try {
+ //
+ // Normal:
+ //
+ distribution_tester n("Normal");
+ n.add_test_case(0, 1, two_param_quantile<boost::math::normal_distribution<> >());
+ n.add_test_case(20, 20, two_param_quantile<boost::math::normal_distribution<> >());
+ n.add_test_case(-20, 0.0125, two_param_quantile<boost::math::normal_distribution<> >());
+
+ test_boost_2_param<boost::math::normal_distribution>(n);
+
+ distribution_tester arcsine("ArcSine");
+ arcsine.add_test_case(0, 1, two_param_quantile<boost::math::arcsine_distribution<> >());
+ arcsine.add_test_case(20, 500, two_param_quantile<boost::math::arcsine_distribution<> >());
+ arcsine.add_test_case(-20, 100000, two_param_quantile<boost::math::arcsine_distribution<> >());
+
+ test_boost_2_param<boost::math::arcsine_distribution>(arcsine);
+
+ distribution_tester beta("Beta");
+ beta.add_test_case(1, 4, two_param_quantile<boost::math::beta_distribution<> >());
+ beta.add_test_case(20, 500, two_param_quantile<boost::math::beta_distribution<> >());
+ beta.add_test_case(0.1, 0.01, two_param_quantile<boost::math::beta_distribution<> >());
+
+ test_boost_2_param<boost::math::beta_distribution>(beta);
+
+ distribution_tester binomial("Binomial");
+ binomial.add_test_case(5, 0.125, two_param_quantile<boost::math::binomial_distribution<> >());
+ binomial.add_test_case(200, 0.75, two_param_quantile<boost::math::binomial_distribution<> >());
+ binomial.add_test_case(2000, 0.5, two_param_quantile<boost::math::binomial_distribution<> >());
+ binomial.add_test_case(20000, 0.001, two_param_quantile<boost::math::binomial_distribution<> >());
+ binomial.add_test_case(200000, 0.99, two_param_quantile<boost::math::binomial_distribution<> >());
+
+ test_boost_2_param<boost::math::binomial_distribution>(binomial);
+
+ distribution_tester cauchy("Cauchy");
+ cauchy.add_test_case(0, 1, two_param_quantile<boost::math::cauchy_distribution<> >());
+ cauchy.add_test_case(20, 20, two_param_quantile<boost::math::cauchy_distribution<> >());
+ cauchy.add_test_case(-20, 0.0125, two_param_quantile<boost::math::cauchy_distribution<> >());
+
+ test_boost_2_param<boost::math::cauchy_distribution>(cauchy);
+
+ distribution_tester chi_squared("ChiSquared");
+ chi_squared.add_test_case(3, one_param_quantile<boost::math::chi_squared_distribution<> >());
+ chi_squared.add_test_case(20, one_param_quantile<boost::math::chi_squared_distribution<> >());
+ chi_squared.add_test_case(200, one_param_quantile<boost::math::chi_squared_distribution<> >());
+ chi_squared.add_test_case(2000, one_param_quantile<boost::math::chi_squared_distribution<> >());
+ chi_squared.add_test_case(20000, one_param_quantile<boost::math::chi_squared_distribution<> >());
+ chi_squared.add_test_case(200000, one_param_quantile<boost::math::chi_squared_distribution<> >());
+
+ test_boost_1_param<boost::math::chi_squared_distribution>(chi_squared);
+
+ distribution_tester exponential("Exponential");
+ exponential.add_test_case(0.001, one_param_quantile<boost::math::exponential_distribution<> >());
+ exponential.add_test_case(0.01, one_param_quantile<boost::math::exponential_distribution<> >());
+ exponential.add_test_case(0.1, one_param_quantile<boost::math::exponential_distribution<> >());
+ exponential.add_test_case(1, one_param_quantile<boost::math::exponential_distribution<> >());
+ exponential.add_test_case(10, one_param_quantile<boost::math::exponential_distribution<> >());
+ exponential.add_test_case(100, one_param_quantile<boost::math::exponential_distribution<> >());
+ exponential.add_test_case(1000, one_param_quantile<boost::math::exponential_distribution<> >());
+
+ test_boost_1_param<boost::math::exponential_distribution>(exponential);
+
+ distribution_tester extreme_value("ExtremeValue");
+ extreme_value.add_test_case(0, 1, two_param_quantile<boost::math::extreme_value_distribution<> >());
+ extreme_value.add_test_case(20, 20, two_param_quantile<boost::math::extreme_value_distribution<> >());
+ extreme_value.add_test_case(-20, 0.0125, two_param_quantile<boost::math::extreme_value_distribution<> >());
+
+ test_boost_2_param<boost::math::extreme_value_distribution>(extreme_value);
+
+ distribution_tester fisher("F");
+ for (unsigned i = 2; i <= 200000; i *= 10)
+ {
+ for (unsigned j = 2; j <= 200000; j *= 10)
+ {
+ fisher.add_test_case(i, j, two_param_quantile<boost::math::fisher_f_distribution<> >());
+ }
+ }
+ test_boost_2_param<boost::math::fisher_f_distribution>(fisher);
+
+ distribution_tester gamma("Gamma");
+ gamma.add_test_case(0.1, 1, two_param_quantile<boost::math::gamma_distribution<> >());
+ gamma.add_test_case(20, 20, two_param_quantile<boost::math::gamma_distribution<> >());
+ gamma.add_test_case(200, 0.0125, two_param_quantile<boost::math::gamma_distribution<> >());
+ gamma.add_test_case(2000, 500, two_param_quantile<boost::math::gamma_distribution<> >());
+
+ test_boost_2_param<boost::math::gamma_distribution>(gamma);
+
+ distribution_tester geometric("Geometric");
+ geometric.add_test_case(0.001, one_param_quantile<boost::math::geometric_distribution<> >());
+ geometric.add_test_case(0.01, one_param_quantile<boost::math::geometric_distribution<> >());
+ geometric.add_test_case(0.1, one_param_quantile<boost::math::geometric_distribution<> >());
+ geometric.add_test_case(0.5, one_param_quantile<boost::math::geometric_distribution<> >());
+ geometric.add_test_case(0.9, one_param_quantile<boost::math::geometric_distribution<> >());
+ geometric.add_test_case(0.99, one_param_quantile<boost::math::geometric_distribution<> >());
+ geometric.add_test_case(0.999, one_param_quantile<boost::math::geometric_distribution<> >());
+
+ test_boost_1_param<boost::math::geometric_distribution>(geometric);
+
+ distribution_tester hypergeometric("Hypergeometric");
+ hypergeometric.add_test_case(10, 5, 100, three_param_quantile<boost::math::hypergeometric_distribution<> >());
+ hypergeometric.add_test_case(50, 75, 100, three_param_quantile<boost::math::hypergeometric_distribution<> >());
+ hypergeometric.add_test_case(30, 20, 100, three_param_quantile<boost::math::hypergeometric_distribution<> >());
+ hypergeometric.add_test_case(100, 50, 1000000, three_param_quantile<boost::math::hypergeometric_distribution<> >());
+ hypergeometric.add_test_case(500000, 3000, 1000000, three_param_quantile<boost::math::hypergeometric_distribution<> >());
+ hypergeometric.add_test_case(20000, 800000, 1000000, three_param_quantile<boost::math::hypergeometric_distribution<> >());
+ hypergeometric.add_test_case(100, 5, 1000, three_param_quantile<boost::math::hypergeometric_distribution<> >());
+ hypergeometric.add_test_case(500, 50, 1000, three_param_quantile<boost::math::hypergeometric_distribution<> >());
+ hypergeometric.add_test_case(2, 25, 1000, three_param_quantile<boost::math::hypergeometric_distribution<> >());
+ hypergeometric.add_test_case(1, 5, 1000, three_param_quantile<boost::math::hypergeometric_distribution<> >());
+ hypergeometric.add_test_case(100, 500, 1000, three_param_quantile<boost::math::hypergeometric_distribution<> >());
+
+ test_boost_3_param<boost::math::hypergeometric_distribution>(hypergeometric);
+
+ distribution_tester inverse_chi_squared("InverseChiSquared");
+ inverse_chi_squared.add_test_case(5, 0.125, two_param_quantile<boost::math::inverse_chi_squared_distribution<> >());
+ inverse_chi_squared.add_test_case(200, 0.75, two_param_quantile<boost::math::inverse_chi_squared_distribution<> >());
+ inverse_chi_squared.add_test_case(2000, 1, two_param_quantile<boost::math::inverse_chi_squared_distribution<> >());
+ inverse_chi_squared.add_test_case(20000, 10, two_param_quantile<boost::math::inverse_chi_squared_distribution<> >());
+ inverse_chi_squared.add_test_case(200000, 100, two_param_quantile<boost::math::inverse_chi_squared_distribution<> >());
+
+ test_boost_2_param<boost::math::inverse_chi_squared_distribution>(inverse_chi_squared);
+
+ distribution_tester inverse_gamma("InverseGamma");
+ inverse_gamma.add_test_case(0.1, 1, two_param_quantile<boost::math::inverse_gamma_distribution<> >());
+ inverse_gamma.add_test_case(20, 20, two_param_quantile<boost::math::inverse_gamma_distribution<> >());
+ inverse_gamma.add_test_case(200, 0.0125, two_param_quantile<boost::math::inverse_gamma_distribution<> >());
+ inverse_gamma.add_test_case(2000, 500, two_param_quantile<boost::math::inverse_gamma_distribution<> >());
+
+ test_boost_2_param<boost::math::inverse_gamma_distribution>(inverse_gamma);
+
+ distribution_tester inverse_gaussian("InverseGaussian");
+ inverse_gaussian.add_test_case(0.001, 1, two_param_quantile<boost::math::inverse_gaussian_distribution<> >());
+ inverse_gaussian.add_test_case(20, 20, two_param_quantile<boost::math::inverse_gaussian_distribution<> >());
+
+ test_boost_2_param<boost::math::inverse_gaussian_distribution>(inverse_gaussian);
+
+ distribution_tester laplace("Laplace");
+ laplace.add_test_case(0, 1, two_param_quantile<boost::math::laplace_distribution<> >());
+ laplace.add_test_case(20, 20, two_param_quantile<boost::math::laplace_distribution<> >());
+ laplace.add_test_case(-20, 0.0125, two_param_quantile<boost::math::laplace_distribution<> >());
+
+ test_boost_2_param<boost::math::laplace_distribution>(laplace);
+
+ distribution_tester logistic("Logistic");
+ logistic.add_test_case(0, 1, two_param_quantile<boost::math::logistic_distribution<> >());
+ logistic.add_test_case(20, 20, two_param_quantile<boost::math::logistic_distribution<> >());
+ logistic.add_test_case(-20, 0.0125, two_param_quantile<boost::math::logistic_distribution<> >());
+
+ test_boost_2_param<boost::math::logistic_distribution>(logistic);
+
+ distribution_tester lognormal("LogNormal");
+ lognormal.add_test_case(0, 1, two_param_quantile<boost::math::lognormal_distribution<> >());
+ lognormal.add_test_case(20, 20, two_param_quantile<boost::math::lognormal_distribution<> >());
+ lognormal.add_test_case(-20, 0.0125, two_param_quantile<boost::math::lognormal_distribution<> >());
+
+ test_boost_2_param<boost::math::lognormal_distribution>(lognormal);
+
+ distribution_tester negative_binomial("NegativeBinomial");
+ negative_binomial.add_test_case(5, 0.125, two_param_quantile<boost::math::negative_binomial_distribution<> >());
+ negative_binomial.add_test_case(200, 0.75, two_param_quantile<boost::math::negative_binomial_distribution<> >());
+ negative_binomial.add_test_case(2000, 0.001, two_param_quantile<boost::math::negative_binomial_distribution<> >());
+ negative_binomial.add_test_case(20000, 0.5, two_param_quantile<boost::math::negative_binomial_distribution<> >());
+ negative_binomial.add_test_case(200000, 0.99, two_param_quantile<boost::math::negative_binomial_distribution<> >());
+
+ test_boost_2_param<boost::math::negative_binomial_distribution>(negative_binomial);
+
+ distribution_tester non_central_beta("NonCentralBeta");
+ non_central_beta.add_test_case(2, 5, 2.1, three_param_quantile<boost::math::non_central_beta_distribution<> >());
+ non_central_beta.add_test_case(0.25, 0.01, 20, three_param_quantile<boost::math::non_central_beta_distribution<> >());
+ non_central_beta.add_test_case(20, 3, 30, three_param_quantile<boost::math::non_central_beta_distribution<> >());
+ non_central_beta.add_test_case(100, 200, 400, three_param_quantile<boost::math::non_central_beta_distribution<> >());
+ non_central_beta.add_test_case(100, 0.25, 20, three_param_quantile<boost::math::non_central_beta_distribution<> >());
+
+ test_boost_3_param<boost::math::non_central_beta_distribution>(non_central_beta);
+
+ distribution_tester non_central_chi_squared("NonCentralChiSquared");
+ non_central_chi_squared.add_test_case(5, 0.5, two_param_quantile<boost::math::non_central_chi_squared_distribution<> >());
+ non_central_chi_squared.add_test_case(200, 2, two_param_quantile<boost::math::non_central_chi_squared_distribution<> >());
+ non_central_chi_squared.add_test_case(2000, 20, two_param_quantile<boost::math::non_central_chi_squared_distribution<> >());
+ non_central_chi_squared.add_test_case(20000, 10, two_param_quantile<boost::math::non_central_chi_squared_distribution<> >());
+ non_central_chi_squared.add_test_case(200000, 50, two_param_quantile<boost::math::non_central_chi_squared_distribution<> >());
+
+ test_boost_2_param<boost::math::non_central_chi_squared_distribution>(non_central_chi_squared);
+
+ distribution_tester non_central_f("NonCentralF");
+ non_central_f.add_test_case(20, 20, 3, three_param_quantile<boost::math::non_central_f_distribution<> >());
+ non_central_f.add_test_case(20, 50, 20, three_param_quantile<boost::math::non_central_f_distribution<> >());
+ non_central_f.add_test_case(100, 20, 30, three_param_quantile<boost::math::non_central_f_distribution<> >());
+ non_central_f.add_test_case(100, 200, 100, three_param_quantile<boost::math::non_central_f_distribution<> >());
+ non_central_f.add_test_case(1000, 100000, 20, three_param_quantile<boost::math::non_central_f_distribution<> >());
+
+ test_boost_3_param<boost::math::non_central_f_distribution>(non_central_f);
+
+ distribution_tester non_central_t("NonCentralT");
+ non_central_t.add_test_case(5, 0.5, two_param_quantile<boost::math::non_central_t_distribution<> >());
+ non_central_t.add_test_case(200, 2, two_param_quantile<boost::math::non_central_t_distribution<> >());
+ non_central_t.add_test_case(2000, 20, two_param_quantile<boost::math::non_central_t_distribution<> >());
+ non_central_t.add_test_case(20000, 10, two_param_quantile<boost::math::non_central_t_distribution<> >());
+ non_central_t.add_test_case(200000, 50, two_param_quantile<boost::math::non_central_t_distribution<> >());
+
+ test_boost_2_param<boost::math::non_central_t_distribution>(non_central_t);
+
+ distribution_tester pareto("Pareto");
+ pareto.add_test_case(0.1, 1, two_param_quantile<boost::math::pareto_distribution<> >());
+ pareto.add_test_case(20, 20, two_param_quantile<boost::math::pareto_distribution<> >());
+ pareto.add_test_case(200, 0.0125, two_param_quantile<boost::math::pareto_distribution<> >());
+ pareto.add_test_case(2000, 500, two_param_quantile<boost::math::pareto_distribution<> >());
+
+ test_boost_2_param<boost::math::pareto_distribution>(pareto);
+
+ distribution_tester poisson("Poisson");
+ poisson.add_test_case(0.001, one_param_quantile<boost::math::poisson_distribution<> >());
+ poisson.add_test_case(0.01, one_param_quantile<boost::math::poisson_distribution<> >());
+ poisson.add_test_case(0.1, one_param_quantile<boost::math::poisson_distribution<> >());
+ poisson.add_test_case(1, one_param_quantile<boost::math::poisson_distribution<> >());
+ poisson.add_test_case(10, one_param_quantile<boost::math::poisson_distribution<> >());
+ poisson.add_test_case(100, one_param_quantile<boost::math::poisson_distribution<> >());
+ poisson.add_test_case(1000, one_param_quantile<boost::math::poisson_distribution<> >());
+
+ test_boost_1_param<boost::math::poisson_distribution>(poisson);
+
+ distribution_tester rayleigh("Rayleigh");
+ rayleigh.add_test_case(0.001, one_param_quantile<boost::math::rayleigh_distribution<> >());
+ rayleigh.add_test_case(0.01, one_param_quantile<boost::math::rayleigh_distribution<> >());
+ rayleigh.add_test_case(0.1, one_param_quantile<boost::math::rayleigh_distribution<> >());
+ rayleigh.add_test_case(1, one_param_quantile<boost::math::rayleigh_distribution<> >());
+ rayleigh.add_test_case(10, one_param_quantile<boost::math::rayleigh_distribution<> >());
+ rayleigh.add_test_case(100, one_param_quantile<boost::math::rayleigh_distribution<> >());
+ rayleigh.add_test_case(1000, one_param_quantile<boost::math::rayleigh_distribution<> >());
+
+ test_boost_1_param<boost::math::rayleigh_distribution>(rayleigh);
+
+ distribution_tester skew_norm("SkewNormal");
+ skew_norm.add_test_case(0, 1, 0.1, three_param_quantile<boost::math::skew_normal_distribution<> >());
+ skew_norm.add_test_case(20, 20, 30, three_param_quantile<boost::math::skew_normal_distribution<> >());
+ skew_norm.add_test_case(-20, 0.0125, 10, three_param_quantile<boost::math::skew_normal_distribution<> >());
+
+ test_boost_3_param<boost::math::skew_normal_distribution>(skew_norm);
+
+ distribution_tester students_t("StudentsT");
+ students_t.add_test_case(3, one_param_quantile<boost::math::students_t_distribution<> >());
+ students_t.add_test_case(20, one_param_quantile<boost::math::students_t_distribution<> >());
+ students_t.add_test_case(200, one_param_quantile<boost::math::students_t_distribution<> >());
+ students_t.add_test_case(2000, one_param_quantile<boost::math::students_t_distribution<> >());
+ students_t.add_test_case(20000, one_param_quantile<boost::math::students_t_distribution<> >());
+ students_t.add_test_case(200000, one_param_quantile<boost::math::students_t_distribution<> >());
+
+ test_boost_1_param<boost::math::students_t_distribution>(students_t);
+
+ distribution_tester weibull("Weibull");
+ weibull.add_test_case(0.1, 1, two_param_quantile<boost::math::weibull_distribution<> >());
+ weibull.add_test_case(20, 20, two_param_quantile<boost::math::weibull_distribution<> >());
+ weibull.add_test_case(200, 0.0125, two_param_quantile<boost::math::weibull_distribution<> >());
+ weibull.add_test_case(2000, 500, two_param_quantile<boost::math::weibull_distribution<> >());
+
+ test_boost_2_param<boost::math::weibull_distribution>(weibull);
+
+#ifdef TEST_GSL
+ // normal, note no location param
+ n.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_gaussian_P(x, v[1]); }, "CDF", "GSL");
+ n.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_gaussian_Pinv(x, v[1]); }, "quantile", "GSL", true);
+ // exponential:
+ exponential.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_exponential_P(x, 1 / v[0]); }, "CDF", "GSL");
+ exponential.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_exponential_Pinv(x, 1 / v[0]); }, "quantile", "GSL", true);
+ // laplace, note no location param:
+ laplace.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_laplace_P(x, v[1]); }, "CDF", "GSL");
+ laplace.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_laplace_Pinv(x, v[1]); }, "quantile", "GSL", true);
+ // cauchy, note no location param:
+ cauchy.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_cauchy_P(x, v[1]); }, "CDF", "GSL");
+ cauchy.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_cauchy_Pinv(x, v[1]); }, "quantile", "GSL", true);
+ // rayleigh:
+ rayleigh.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_rayleigh_P(x, v[0]); }, "CDF", "GSL");
+ rayleigh.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_rayleigh_Pinv(x, v[0]); }, "quantile", "GSL", true);
+ // gamma:
+ gamma.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_gamma_P(x, v[0], v[1]); }, "CDF", "GSL");
+ gamma.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_gamma_Pinv(x, v[0], v[1]); }, "quantile", "GSL", true);
+ // lognormal:
+ lognormal.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_lognormal_P(x, v[0], v[1]); }, "CDF", "GSL");
+ lognormal.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_lognormal_Pinv(x, v[0], v[1]); }, "quantile", "GSL", true);
+ // chi squared:
+ chi_squared.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_chisq_P(x, v[0]); }, "CDF", "GSL");
+ chi_squared.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_chisq_Pinv(x, v[0]); }, "quantile", "GSL", true);
+ // F:
+ fisher.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_fdist_P(x, v[0], v[1]); }, "CDF", "GSL");
+ fisher.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_fdist_Pinv(x, v[0], v[1]); }, "quantile", "GSL", true);
+ // T:
+ students_t.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_tdist_P(x, v[0]); }, "CDF", "GSL");
+ students_t.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_tdist_Pinv(x, v[0]); }, "quantile", "GSL", true);
+ // beta:
+ beta.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_beta_P(x, v[0], v[1]); }, "CDF", "GSL");
+ beta.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_beta_Pinv(x, v[0], v[1]); }, "quantile", "GSL", true);
+ // logistic, note no location param
+ logistic.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_logistic_P(x, v[1]); }, "CDF", "GSL");
+ logistic.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_logistic_Pinv(x, v[1]); }, "quantile", "GSL", true);
+ // pareto:
+ pareto.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_pareto_P(x, v[1], v[0]); }, "CDF", "GSL");
+ pareto.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_pareto_Pinv(x, v[1], v[0]); }, "quantile", "GSL", true);
+ // weibull:
+ weibull.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_weibull_P(x, v[1], v[0]); }, "CDF", "GSL");
+ weibull.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_weibull_Pinv(x, v[1], v[0]); }, "quantile", "GSL", true);
+ // poisson:
+ poisson.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_poisson_P(x, v[0]); }, "CDF", "GSL");
+ //poisson.run_timed_tests([](const std::vector<double>& v, double x){ return gsl_cdf_poisson_Pinv(x, v[0]); }, "quantile", "GSL", true);
+ // binomial:
+ binomial.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_binomial_P(x, v[1], v[0]); }, "CDF", "GSL");
+ //binomial.run_timed_tests([](const std::vector<double>& v, double x){ return gsl_cdf_binomial_Pinv(x, v[1], v[0]); }, "quantile", "GSL", true);
+ // negative_binomial:
+ negative_binomial.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_negative_binomial_P(x, v[1], v[0]); }, "CDF", "GSL");
+ //negative_binomial.run_timed_tests([](const std::vector<double>& v, double x){ return gsl_cdf_negative_binomial_Pinv(x, v[1], v[0]); }, "quantile", "GSL", true);
+ // geometric:
+ geometric.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_geometric_P(x + 1, v[0]); }, "CDF", "GSL");
+ //geometric.run_timed_tests([](const std::vector<double>& v, double x){ return gsl_cdf_geometric_Pinv(x, v[0]) - 1; }, "quantile", "GSL", true);
+ // hypergeometric:
+ hypergeometric.run_timed_tests([](const std::vector<double>& v, double x) { return gsl_cdf_hypergeometric_P(x, v[0], v[2] - v[0], v[1]); }, "CDF", "GSL");
+ //hypergeometric.run_timed_tests([](const std::vector<double>& v, double x){ return gsl_cdf_hypergeometric_Pinv(x, v[0], v[2] - v[0], v[1]); }, "quantile", "GSL", true);
+#endif
+
+#ifdef TEST_RMATH
+ // beta
+ beta.run_timed_tests([](const std::vector<double>& v, double x) { return dbeta(x, v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ beta.run_timed_tests([](const std::vector<double>& v, double x) { return pbeta(x, v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ beta.run_timed_tests([](const std::vector<double>& v, double x) { return qbeta(x, v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // non-central beta
+ non_central_beta.run_timed_tests([](const std::vector<double>& v, double x) { return dnbeta(x, v[0], v[1], v[2], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ non_central_beta.run_timed_tests([](const std::vector<double>& v, double x) { return pnbeta(x, v[0], v[1], v[2], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ non_central_beta.run_timed_tests([](const std::vector<double>& v, double x) { return qnbeta(x, v[0], v[1], v[2], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // binomial
+ binomial.run_timed_tests([](const std::vector<double>& v, double x) { return dbinom(x, v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ binomial.run_timed_tests([](const std::vector<double>& v, double x) { return pbinom(x, v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ binomial.run_timed_tests([](const std::vector<double>& v, double x) { return qbinom(x, v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // cauchy
+ cauchy.run_timed_tests([](const std::vector<double>& v, double x) { return dcauchy(x, v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ cauchy.run_timed_tests([](const std::vector<double>& v, double x) { return pcauchy(x, v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ cauchy.run_timed_tests([](const std::vector<double>& v, double x) { return qcauchy(x, v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // chi squared
+ chi_squared.run_timed_tests([](const std::vector<double>& v, double x) { return dchisq(x, v[0], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ chi_squared.run_timed_tests([](const std::vector<double>& v, double x) { return pchisq(x, v[0], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ chi_squared.run_timed_tests([](const std::vector<double>& v, double x) { return qchisq(x, v[0], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // non central chi squared
+ non_central_chi_squared.run_timed_tests([](const std::vector<double>& v, double x) { return dnchisq(x, v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ non_central_chi_squared.run_timed_tests([](const std::vector<double>& v, double x) { return pnchisq(x, v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ non_central_chi_squared.run_timed_tests([](const std::vector<double>& v, double x) { return qnchisq(x, v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // exponential
+ exponential.run_timed_tests([](const std::vector<double>& v, double x) { return dexp(x, 1 / v[0], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ exponential.run_timed_tests([](const std::vector<double>& v, double x) { return pexp(x, 1 / v[0], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ exponential.run_timed_tests([](const std::vector<double>& v, double x) { return qexp(x, 1 / v[0], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // F
+ fisher.run_timed_tests([](const std::vector<double>& v, double x) { return df(x, v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ fisher.run_timed_tests([](const std::vector<double>& v, double x) { return pf(x, v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ fisher.run_timed_tests([](const std::vector<double>& v, double x) { return qf(x, v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // non central F
+ non_central_f.run_timed_tests([](const std::vector<double>& v, double x) { return dnf(x, v[0], v[1], v[2], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ non_central_f.run_timed_tests([](const std::vector<double>& v, double x) { return pnf(x, v[0], v[1], v[2], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ non_central_f.run_timed_tests([](const std::vector<double>& v, double x) { return qnf(x, v[0], v[1], v[2], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // gamma
+ gamma.run_timed_tests([](const std::vector<double>& v, double x) { return dgamma(x, v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ gamma.run_timed_tests([](const std::vector<double>& v, double x) { return pgamma(x, v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ gamma.run_timed_tests([](const std::vector<double>& v, double x) { return qgamma(x, v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // geometric
+ geometric.run_timed_tests([](const std::vector<double>& v, double x) { return dgeom(x, v[0], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ geometric.run_timed_tests([](const std::vector<double>& v, double x) { return pgeom(x, v[0], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ geometric.run_timed_tests([](const std::vector<double>& v, double x) { return qgeom(x, v[0], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // hypergeometric
+ hypergeometric.run_timed_tests([](const std::vector<double>& v, double x) { return dhyper(x, v[0], v[2] - v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ hypergeometric.run_timed_tests([](const std::vector<double>& v, double x) { return phyper(x, v[0], v[2] - v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ hypergeometric.run_timed_tests([](const std::vector<double>& v, double x) { return qhyper(x, v[0], v[2] - v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // logistic
+ logistic.run_timed_tests([](const std::vector<double>& v, double x) { return dlogis(x, v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ logistic.run_timed_tests([](const std::vector<double>& v, double x) { return plogis(x, v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ logistic.run_timed_tests([](const std::vector<double>& v, double x) { return qlogis(x, v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // lognormal
+ lognormal.run_timed_tests([](const std::vector<double>& v, double x) { return dlnorm(x, v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ lognormal.run_timed_tests([](const std::vector<double>& v, double x) { return plnorm(x, v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ lognormal.run_timed_tests([](const std::vector<double>& v, double x) { return qlnorm(x, v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // negative_binomial
+ negative_binomial.run_timed_tests([](const std::vector<double>& v, double x) { return dnbinom(x, v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ negative_binomial.run_timed_tests([](const std::vector<double>& v, double x) { return pnbinom(x, v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ negative_binomial.run_timed_tests([](const std::vector<double>& v, double x) { return qnbinom(x, v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // normal
+ n.run_timed_tests([](const std::vector<double>& v, double x) { return dnorm(x, v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ n.run_timed_tests([](const std::vector<double>& v, double x) { return pnorm(x, v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ n.run_timed_tests([](const std::vector<double>& v, double x) { return qnorm(x, v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // poisson
+ poisson.run_timed_tests([](const std::vector<double>& v, double x) { return dpois(x, v[0], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ poisson.run_timed_tests([](const std::vector<double>& v, double x) { return ppois(x, v[0], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ poisson.run_timed_tests([](const std::vector<double>& v, double x) { return qpois(x, v[0], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // T
+ students_t.run_timed_tests([](const std::vector<double>& v, double x) { return dt(x, v[0], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ students_t.run_timed_tests([](const std::vector<double>& v, double x) { return pt(x, v[0], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ students_t.run_timed_tests([](const std::vector<double>& v, double x) { return qt(x, v[0], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // non central T
+ non_central_t.run_timed_tests([](const std::vector<double>& v, double x) { return dnt(x, v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ non_central_t.run_timed_tests([](const std::vector<double>& v, double x) { return pnt(x, v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ non_central_t.run_timed_tests([](const std::vector<double>& v, double x) { return qnt(x, v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+ // weibull
+ weibull.run_timed_tests([](const std::vector<double>& v, double x) { return dweibull(x, v[0], v[1], 0); }, "PDF", "Rmath " R_VERSION_STRING);
+ weibull.run_timed_tests([](const std::vector<double>& v, double x) { return pweibull(x, v[0], v[1], 1, 0); }, "CDF", "Rmath " R_VERSION_STRING);
+ weibull.run_timed_tests([](const std::vector<double>& v, double x) { return qweibull(x, v[0], v[1], 1, 0); }, "quantile", "Rmath " R_VERSION_STRING, true);
+
+#endif
+
+#ifdef TEST_DCDFLIB
+ n.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_norm_cdf(x, v[0], v[1]); }, "CDF", "DCDFLIB");
+ n.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_norm_quantile(x, v[0], v[1]); }, "quantile", "DCDFLIB", true);
+
+ beta.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_beta_cdf(x, v[0], v[1]); }, "CDF", "DCDFLIB");
+ beta.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_beta_quantile(x, v[0], v[1]); }, "quantile", "DCDFLIB", true);
+
+ binomial.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_binomial_cdf(x, v[0], v[1]); }, "CDF", "DCDFLIB");
+ binomial.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_binomial_quantile(x, v[0], v[1]); }, "quantile", "DCDFLIB", true);
+
+ chi_squared.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_chi_cdf(x, v[0]); }, "CDF", "DCDFLIB");
+ chi_squared.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_chi_quantile(x, v[0]); }, "quantile", "DCDFLIB", true);
+
+ non_central_chi_squared.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_chi_n_cdf(x, v[0], v[1]); }, "CDF", "DCDFLIB");
+ non_central_chi_squared.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_chi_n_quantile(x, v[0], v[1]); }, "quantile", "DCDFLIB", true);
+
+ fisher.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_f_cdf(x, v[0], v[1]); }, "CDF", "DCDFLIB");
+ fisher.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_f_quantile(x, v[0], v[1]); }, "quantile", "DCDFLIB", true);
+
+ non_central_f.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_f_n_cdf(x, v[0], v[1], v[2]); }, "CDF", "DCDFLIB");
+ non_central_f.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_f_n_quantile(x, v[0], v[1], v[2]); }, "quantile", "DCDFLIB", true);
+
+ gamma.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_gamma_cdf(x, v[0], v[1]); }, "CDF", "DCDFLIB");
+ gamma.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_gamma_quantile(x, v[0], v[1]); }, "quantile", "DCDFLIB", true);
+
+ negative_binomial.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_nbin_cdf(x, v[0], v[1]); }, "CDF", "DCDFLIB");
+ negative_binomial.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_nbin_quantile(x, v[0], v[1]); }, "quantile", "DCDFLIB", true);
+
+ poisson.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_poisson_cdf(x, v[0]); }, "CDF", "DCDFLIB");
+ poisson.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_poisson_quantile(x, v[0]); }, "quantile", "DCDFLIB", true);
+
+ students_t.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_t_cdf(x, v[0]); }, "CDF", "DCDFLIB");
+ students_t.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_t_quantile(x, v[0]); }, "quantile", "DCDFLIB", true);
+
+ //non_central_t.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_t_n_cdf(x, v[0], v[1]); }, "CDF", "DCDFLIB");
+ //non_central_t.run_timed_tests([](const std::vector<double>& v, double x) { return dcdflib_t_n_quantile(x, v[0], v[1]); }, "quantile", "DCDFLIB", true);
+#endif
+
+ }
+ catch(const std::exception& e)
+ {
+ std::cout << "Test run aborted due to thrown exception: " << e.what() << std::endl;
+ return 1;
+ }
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_dn.cpp b/src/boost/libs/math/reporting/performance/test_dn.cpp
new file mode 100644
index 000000000..4abe1e68c
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_dn.cpp
@@ -0,0 +1,135 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/jacobi_elliptic.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+ static const boost::array<boost::array<T, 5>, 36> data1 = {{
+ {{ SC_(0.0), SC_(0.0), SC_(0.0), SC_(1.0), SC_(1.0) }},
+ {{ ldexp(T(1), -25), ldexp(T(1), -25), SC_(2.98023223876953080883700663838486782870427050521881839342311e-8), SC_(0.99999999999999955591079014993741669975171697261290223678373), SC_(0.99999999999999999999999999999960556954738949421406900774443) }},
+ {{ -ldexp(T(1), -25), ldexp(T(1), -25), SC_(-2.98023223876953080883700663838486782870427050521881839342311e-8), SC_(0.99999999999999955591079014993741669975171697261290223678373), SC_(0.99999999999999999999999999999960556954738949421406900774443) }},
+ {{ SC_(0.25), ldexp(T(1), -25), SC_(0.247403959254522927383635623557663763268693729825996390997241), SC_(0.968912421710644784709721529742747886950140086772629513814665), SC_(0.99999999999999997281786831901333837240938011109848356555885) }},
+ {{ SC_(-0.25), ldexp(T(1), -25), SC_(-0.247403959254522927383635623557663763268693729825996390997241), SC_(0.968912421710644784709721529742747886950140086772629513814665), SC_(0.99999999999999997281786831901333837240938011109848356555885) }},
+ {{ SC_(1.25), ldexp(T(1), -25), SC_(0.948984619355586147780156037971989352776684194861616269831136), SC_(0.315322362395268865789580233344649598639316847638615703458263), SC_(0.99999999999999960006577747263860127231780811081154547949983) }},
+ {{ SC_(-1.25), ldexp(T(1), -25), SC_(-0.948984619355586147780156037971989352776684194861616269831136), SC_(0.315322362395268865789580233344649598639316847638615703458263), SC_(0.99999999999999960006577747263860127231780811081154547949983) }},
+ {{ SC_(25.0), ldexp(T(1), -25), SC_(-0.132351750097778560056127137329035522219365438979106560464704), SC_(0.991202811863472859528158119981178957382802975691690722810123), SC_(0.99999999999999999222089563757583834413059580275315226870704) }},
+ {{ SC_(-25.0), ldexp(T(1), -25), SC_(0.132351750097778560056127137329035522219365438979106560464704), SC_(0.991202811863472859528158119981178957382802975691690722810123), SC_(0.99999999999999999222089563757583834413059580275315226870704) }},
+ {{ ldexp(T(1), -25), SC_(0.5), SC_(2.98023223876953058825550995757802173334628440851964836958219e-8), SC_(0.99999999999999955591079014993744956895610118130967536624417), SC_(0.99999999999999988897769753748438088116649141278818704012037) }},
+ {{ -ldexp(T(1), -25), SC_(0.5), SC_(-2.98023223876953058825550995757802173334628440851964836958219e-8), SC_(0.99999999999999955591079014993744956895610118130967536624417), SC_(0.99999999999999988897769753748438088116649141278818704012037) }},
+ {{ SC_(0.25), SC_(0.5), SC_(0.246781405136141600483623741101255389743847413013817188632739), SC_(0.969071172865559727608777289021929824625726812182428398055476), SC_(0.992358168465276394946615469032829292963938826683866720698130) }},
+ {{ SC_(-0.25), SC_(0.5), SC_(-0.246781405136141600483623741101255389743847413013817188632739), SC_(0.969071172865559727608777289021929824625726812182428398055476), SC_(0.992358168465276394946615469032829292963938826683866720698130) }},
+ {{ SC_(1.25), SC_(0.5), SC_(0.928561236426319775700204388269999130782711902203415239399579), SC_(0.371179242693370810357222594552131893184749696381729988511999), SC_(0.885688154799196841458565445994481097477880319663264816077719) }},
+ {{ SC_(-1.25), SC_(0.5), SC_(-0.928561236426319775700204388269999130782711902203415239399579), SC_(0.371179242693370810357222594552131893184749696381729988511999), SC_(0.885688154799196841458565445994481097477880319663264816077719) }},
+ {{ SC_(25.0), SC_(0.5), SC_(-0.969223071486651608400225080456020493867827336842041561445359), SC_(-0.246184154035106463351874891855925292474628176040625311168501), SC_(0.874729477852721764836147376110255133761608728373832418508248) }},
+ {{ SC_(-25.0), SC_(0.5), SC_(0.969223071486651608400225080456020493867827336842041561445359), SC_(-0.246184154035106463351874891855925292474628176040625311168501), SC_(0.874729477852721764836147376110255133761608728373832418508248) }},
+ {{ ldexp(T(1), -25), 1 - ldexp(T(1), -9), SC_(2.98023223876953036939562331632512854347569015560128614888589e-8), SC_(0.99999999999999955591079014993754766348947956082687878223721), SC_(0.99999999999999955764381956001984590118394542979655101564079) }},
+ {{ -ldexp(T(1), -25), 1 - ldexp(T(1), -9), SC_(-2.98023223876953036939562331632512854347569015560128614888589e-8), SC_(0.99999999999999955591079014993754766348947956082687878223721), SC_(0.99999999999999955764381956001984590118394542979655101564079) }},
+ {{ SC_(0.25), 1 - ldexp(T(1), -9), SC_(0.244928335616519632082236089277654937383208524525331032303082), SC_(0.969541185516180906431546524888118346090913555188425579774305), SC_(0.969661908643964623248878987955178702010392829596222190545649) }},
+ {{ SC_(-0.25), 1 - ldexp(T(1), -9), SC_(-0.244928335616519632082236089277654937383208524525331032303082), SC_(0.969541185516180906431546524888118346090913555188425579774305), SC_(0.969661908643964623248878987955178702010392829596222190545649) }},
+ {{ SC_(1.25), 1 - ldexp(T(1), -9), SC_(0.848768940045053312079390719205939167551169094157365783446523), SC_(0.528763923140371497228677918580246099580380684604621321430057), SC_(0.531415689278260818860813380561526095359692710060403584603095) }},
+ {{ SC_(-1.25), 1 - ldexp(T(1), -9), SC_(-0.848768940045053312079390719205939167551169094157365783446523), SC_(0.528763923140371497228677918580246099580380684604621321430057), SC_(0.531415689278260818860813380561526095359692710060403584603095) }},
+ {{ SC_(25.0), 1 - ldexp(T(1), -9), SC_(-0.0252326124525503880903568715488227138184083895871544015366337), SC_(-0.999681606947341709011836635135181960590782564534371631099332), SC_(0.999682849652724146508471774051629114156076052044812654903417) }},
+ {{ SC_(-25.0), 1 - ldexp(T(1), -9), SC_(0.0252326124525503880903568715488227138184083895871544015366337), SC_(-0.999681606947341709011836635135181960590782564534371631099332), SC_(0.999682849652724146508471774051629114156076052044812654903417) }},
+
+ // Try modulus > 1
+ {{ ldexp(T(1), -25), SC_(1.5), SC_(2.98023223876952981622027157475276613133414644789222481971590e-8), SC_(0.999999999999999555910790149937712522591174851747994454928040), SC_(0.999999999999999000799277837359575841918151654603571877092161) }},
+ {{ -ldexp(T(1), -25), SC_(1.5), SC_(-2.98023223876952981622027157475276613133414644789222481971590e-8), SC_(0.999999999999999555910790149937712522591174851747994454928040), SC_(0.999999999999999000799277837359575841918151654603571877092161) }},
+ {{ SC_(0.25), SC_(1.5), SC_(0.241830488135945315134822478837394038661484435596992059686086), SC_(0.970318512143270619246031961334217540099946232418710982266812), SC_(0.931888155181641649031244632258710371461078255228024421800363) }},
+ {{ SC_(-0.25), SC_(1.5), SC_(-0.241830488135945315134822478837394038661484435596992059686086), SC_(0.970318512143270619246031961334217540099946232418710982266812), SC_(0.931888155181641649031244632258710371461078255228024421800363) }},
+ {{ SC_(1.25), SC_(1.5), SC_(0.665875890711922169121186264316618499018039094009893317545462), SC_(0.746062529663971452521312655373498959968622875614588791642250), SC_(-0.0486921028438866868299166778939466685768843580182675008164949) }},
+ {{ SC_(-1.25), SC_(1.5), SC_(-0.665875890711922169121186264316618499018039094009893317545462), SC_(0.746062529663971452521312655373498959968622875614588791642250), SC_(-0.0486921028438866868299166778939466685768843580182675008164949) }},
+ {{ SC_(25.0), SC_(1.5), SC_(0.618665338981368217712277210270169521641154921220796362724248), SC_(0.785654630447163313102421517325310755764805805534154371583941), SC_(0.372585153048138377269609818284480926623056458773704266654150) }},
+ {{ SC_(-25.0), SC_(1.5), SC_(-0.618665338981368217712277210270169521641154921220796362724248), SC_(0.785654630447163313102421517325310755764805805534154371583941), SC_(0.372585153048138377269609818284480926623056458773704266654150) }},
+
+ // Special Values:
+ {{ SC_(0.0), SC_(0.5), SC_(0.0), SC_(1.0), SC_(1.0) }},
+ {{ SC_(5.0), SC_(0.0), SC_(-0.958924274663138468893154406155993973352461543964601778131672), SC_(0.283662185463226264466639171513557308334422592252215944930359), SC_(1.0) }},
+ {{ SC_(5.0), SC_(1.0), SC_(0.999909204262595131210990447534473021089812615990547862736429), SC_(0.0134752822213045573055191382448821552908373539417006868332819), SC_(0.0134752822213045573055191382448821552908373539417006868332819) }},
+ }};
+
+
+int main()
+{
+#include "jacobi_elliptic.ipp"
+#include "jacobi_elliptic_small.ipp"
+#include "jacobi_near_1.ipp"
+#include "jacobi_large_phi.ipp"
+
+ add_data(data1);
+ add_data(jacobi_elliptic);
+ add_data(jacobi_elliptic_small);
+ add_data(jacobi_near_1);
+ add_data(jacobi_large_phi);
+
+ unsigned data_total = data.size();
+
+
+ std::cout << "Screening Boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::jacobi_dn(v[1], v[0]); }, [](const std::vector<double>& v){ return v[4]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening GSL data:\n";
+ screen_data([](const std::vector<double>& v)
+ {
+ double s, c, d;
+ gsl_sf_elljac_e(v[0], v[1] * v[1], &s, &c, &d);
+ return d;
+ }, [](const std::vector<double>& v){ return v[4]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "jacobi_dn[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "jacobi_dn";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::jacobi_dn(v[1], v[2]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::jacobi_dn(v[1], v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double s, c, d;
+ gsl_sf_elljac_e(v[0], v[1] * v[1], &s, &c, &d);
+ return d;
+ });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ellint_1.cpp b/src/boost/libs/math/reporting/performance/test_ellint_1.cpp
new file mode 100644
index 000000000..17941a388
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ellint_1.cpp
@@ -0,0 +1,102 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/ellint_1.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<T, 3>, 19> data1 = { {
+ { { SC_(0.0), SC_(0.0), SC_(0.0) } },
+ { { SC_(-10.0), SC_(0.0), SC_(-10.0) } },
+ { { SC_(-1.0), SC_(-1.0), SC_(-1.2261911708835170708130609674719067527242483502207) } },
+ { { SC_(-4.0), SC_(0.875), SC_(-5.3190556182262405182189463092940736859067548232647) } },
+ { { SC_(8.0), SC_(-0.625), SC_(9.0419973860310100524448893214394562615252527557062) } },
+ { { SC_(1e-05), SC_(0.875), SC_(0.000010000000000127604166668510945638036143355898993088) } },
+ { { SC_(1e+05), T(10) / 1024, SC_(100002.38431454899771096037307519328741455615271038) } },
+ { { SC_(1e-20), SC_(1.0), SC_(1.0000000000000000000000000000000000000000166666667e-20) } },
+ { { SC_(1e-20), SC_(1e-20), SC_(1.000000000000000e-20) } },
+ { { SC_(1e+20), T(400) / 1024, SC_(1.0418143796499216839719289963154558027005142709763e20) } },
+ { { SC_(1e+50), SC_(0.875), SC_(1.3913251718238765549409892714295358043696028445944e50) } },
+ { { SC_(2.0), SC_(0.5), SC_(2.1765877052210673672479877957388515321497888026770) } },
+ { { SC_(4.0), SC_(0.5), SC_(4.2543274975235836861894752787874633017836785640477) } },
+ { { SC_(6.0), SC_(0.5), SC_(6.4588766202317746302999080620490579800463614807916) } },
+ { { SC_(10.0), SC_(0.5), SC_(10.697409951222544858346795279378531495869386960090) } },
+ { { SC_(-2.0), SC_(0.5), SC_(-2.1765877052210673672479877957388515321497888026770) } },
+ { { SC_(-4.0), SC_(0.5), SC_(-4.2543274975235836861894752787874633017836785640477) } },
+ { { SC_(-6.0), SC_(0.5), SC_(-6.4588766202317746302999080620490579800463614807916) } },
+ { { SC_(-10.0), SC_(0.5), SC_(-10.697409951222544858346795279378531495869386960090) } },
+ } };
+
+int main()
+{
+#include "ellint_f_data.ipp"
+
+ add_data(data1);
+ add_data(ellint_f_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::ellint_1(v[1], v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::ellint_1(v[1], v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_ellint_F(v[0], v[1], GSL_PREC_DOUBLE); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ellint_1[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ellint_1";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_1(v[1], v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_1(v[1], v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::ellint_1(v[1], v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_ellint_F(v[0], v[1], GSL_PREC_DOUBLE); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ellint_1c.cpp b/src/boost/libs/math/reporting/performance/test_ellint_1c.cpp
new file mode 100644
index 000000000..e73d29c30
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ellint_1c.cpp
@@ -0,0 +1,92 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/ellint_1.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<T, 2>, 9> data2 = { {
+ { { SC_(0.0), SC_(1.5707963267948966192313216916397514420985846996876) } },
+ { { SC_(0.125), SC_(1.5769867712158131421244030532288080803822271060839) } },
+ { { SC_(0.25), SC_(1.5962422221317835101489690714979498795055744578951) } },
+ { { T(300) / 1024, SC_(1.6062331054696636704261124078746600894998873503208) } },
+ { { T(400) / 1024, SC_(1.6364782007562008756208066125715722889067992997614) } },
+ { { SC_(-0.5), SC_(1.6857503548125960428712036577990769895008008941411) } },
+ { { SC_(-0.75), SC_(1.9109897807518291965531482187613425592531451316788) } },
+ { { 1 - T(1) / 8, SC_(2.185488469278223686913080323730158689730428415766) } },
+ { { 1 - T(1) / 1024, SC_(4.5074135978990422666372495313621124487894807327687) } },
+ } };
+
+int main()
+{
+#include "ellint_k_data.ipp"
+
+ add_data(data2);
+ add_data(ellint_k_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::ellint_1(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::comp_ellint_1(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_ellint_Kcomp(v[0], GSL_PREC_DOUBLE); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ellint_1 (complete)[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ellint_1 (complete)";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_1(v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_1(v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::comp_ellint_1(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_ellint_Kcomp(v[0], GSL_PREC_DOUBLE); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ellint_2.cpp b/src/boost/libs/math/reporting/performance/test_ellint_2.cpp
new file mode 100644
index 000000000..96365597e
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ellint_2.cpp
@@ -0,0 +1,93 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/ellint_2.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<T, 3>, 10> data1 = { {
+ { { SC_(0.0), SC_(0.0), SC_(0.0) } },
+ { { SC_(-10.0), SC_(0.0), SC_(-10.0) } },
+ { { SC_(-1.0), SC_(-1.0), SC_(-0.84147098480789650665250232163029899962256306079837) } },
+ { { SC_(-4.0), T(900) / 1024, SC_(-3.1756145986492562317862928524528520686391383168377) } },
+ { { SC_(8.0), T(-600) / 1024, SC_(7.2473147180505693037677015377802777959345489333465) } },
+ { { SC_(1e-05), T(800) / 1024, SC_(9.999999999898274739584436515967055859383969942432E-6) } },
+ { { SC_(1e+05), T(100) / 1024, SC_(99761.153306972066658135668386691227343323331995888) } },
+ { { SC_(1e+10), SC_(-0.5), SC_(9.3421545766487137036576748555295222252286528414669e9) } },
+ { { static_cast<T>(ldexp(T(1), 66)), T(400) / 1024, SC_(7.0886102721911705466476846969992069994308167515242e19) } },
+ { { static_cast<T>(ldexp(T(1), 166)), T(900) / 1024, SC_(7.1259011068364515942912094521783688927118026465790e49) } },
+ } };
+
+int main()
+{
+#include "ellint_e2_data.ipp"
+
+ add_data(data1);
+ add_data(ellint_e2_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::ellint_2(v[1], v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::ellint_2(v[1], v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_ellint_E(v[0], v[1], GSL_PREC_DOUBLE); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ellint_2[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ellint_2";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_2(v[1], v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_2(v[1], v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::ellint_2(v[1], v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_ellint_E(v[0], v[1], GSL_PREC_DOUBLE); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ellint_2c.cpp b/src/boost/libs/math/reporting/performance/test_ellint_2c.cpp
new file mode 100644
index 000000000..f59037a95
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ellint_2c.cpp
@@ -0,0 +1,93 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/ellint_2.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<T, 2>, 10> data2 = { {
+ { { SC_(-1.0), SC_(1.0) } },
+ { { SC_(0.0), SC_(1.5707963267948966192313216916397514420985846996876) } },
+ { { T(100) / 1024, SC_(1.5670445330545086723323795143598956428788609133377) } },
+ { { T(200) / 1024, SC_(1.5557071588766556854463404816624361127847775545087) } },
+ { { T(300) / 1024, SC_(1.5365278991162754883035625322482669608948678755743) } },
+ { { T(400) / 1024, SC_(1.5090417763083482272165682786143770446401437564021) } },
+ { { SC_(-0.5), SC_(1.4674622093394271554597952669909161360253617523272) } },
+ { { T(-600) / 1024, SC_(1.4257538571071297192428217218834579920545946473778) } },
+ { { T(-800) / 1024, SC_(1.2927868476159125056958680222998765985004489572909) } },
+ { { T(-900) / 1024, SC_(1.1966864890248739524112920627353824133420353430982) } },
+ } };
+
+int main()
+{
+#include "ellint_e_data.ipp"
+
+ add_data(data2);
+ add_data(ellint_e_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::ellint_2(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::comp_ellint_2(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_ellint_Ecomp(v[0], GSL_PREC_DOUBLE); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ellint_2 (complete)[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ellint_2 (complete)";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_2(v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_2(v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::comp_ellint_2(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_ellint_Ecomp(v[0], GSL_PREC_DOUBLE); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ellint_3.cpp b/src/boost/libs/math/reporting/performance/test_ellint_3.cpp
new file mode 100644
index 000000000..0484fb4a0
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ellint_3.cpp
@@ -0,0 +1,162 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/ellint_3.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<T, 4>, 65> data1 = { {
+ { { SC_(1.0), SC_(-1.0), SC_(0.0), SC_(-1.557407724654902230506974807458360173087) } },
+ { { SC_(0.0), SC_(-4.0), SC_(0.4), SC_(-4.153623371196831087495427530365430979011) } },
+ { { SC_(0.0), SC_(8.0), SC_(-0.6), SC_(8.935930619078575123490612395578518914416) } },
+ { { SC_(0.0), SC_(0.5), SC_(0.25), SC_(0.501246705365439492445236118603525029757890291780157969500480) } },
+ { { SC_(0.0), SC_(0.5), SC_(0.0), SC_(0.5) } },
+ { { SC_(-2.0), SC_(0.5), SC_(0.0), SC_(0.437501067017546278595664813509803743009132067629603474488486) } },
+ { { SC_(0.25), SC_(0.5), SC_(0.0), SC_(0.510269830229213412212501938035914557628394166585442994564135) } },
+ { { SC_(0.75), SC_(0.5), SC_(0.0), SC_(0.533293253875952645421201146925578536430596894471541312806165) } },
+ { { SC_(0.75), SC_(0.75), SC_(0.0), SC_(0.871827580412760575085768367421866079353646112288567703061975) } },
+ { { SC_(1.0), SC_(0.25), SC_(0.0), SC_(0.255341921221036266504482236490473678204201638800822621740476) } },
+ { { SC_(2.0), SC_(0.25), SC_(0.0), SC_(0.261119051639220165094943572468224137699644963125853641716219) } },
+ { { T(1023) / 1024, SC_(1.5), SC_(0.0), SC_(13.2821612239764190363647953338544569682942329604483733197131) } },
+ { { SC_(0.5), SC_(-1.0), SC_(0.5), SC_(-1.228014414316220642611298946293865487807) } },
+ { { SC_(0.5), SC_(1e+10), SC_(0.5), SC_(1.536591003599172091573590441336982730551e+10) } },
+ { { SC_(-1e+05), SC_(10.0), SC_(0.75), SC_(0.0347926099493147087821620459290460547131012904008557007934290) } },
+ { { SC_(-1e+10), SC_(10.0), SC_(0.875), SC_(0.000109956202759561502329123384755016959364346382187364656768212) } },
+ { { SC_(-1e+10), SC_(1e+20), SC_(0.875), SC_(1.00000626665567332602765201107198822183913978895904937646809e15) } },
+ { { SC_(-1e+10), T(1608) / 1024, SC_(0.875), SC_(0.0000157080616044072676127333183571107873332593142625043567690379) } },
+ { { 1 - T(1) / 1024, SC_(1e+20), SC_(0.875), SC_(6.43274293944380717581167058274600202023334985100499739678963e21) } },
+ { { SC_(50.0), SC_(0.125), SC_(0.25), SC_(0.196321043776719739372196642514913879497104766409504746018939) } },
+ { { SC_(1.125), SC_(1.0), SC_(0.25), SC_(1.77299767784815770192352979665283069318388205110727241629752) } },
+ { { SC_(1.125), SC_(10.0), SC_(0.25), SC_(0.662467818678976949597336360256848770217429434745967677192487) } },
+ { { SC_(1.125), SC_(3.0), SC_(0.25), SC_(-0.142697285116693775525461312178015106079842313950476205580178) } },
+ { { T(257) / 256, SC_(1.5), SC_(0.125), SC_(22.2699300473528164111357290313578126108398839810535700884237) } },
+ { { T(257) / 256, SC_(21.5), SC_(0.125), SC_(-0.535406081652313940727588125663856894154526187713506526799429) } },
+ // Bug cases from Rocco Romeo:
+ { { SC_(-1E-170), boost::math::constants::pi<T>() / 4, SC_(1E-164), SC_(0.785398163397448309615660845819875721049292349843776455243736) } },
+ { { SC_(-1E-170), boost::math::constants::pi<T>() / 4, SC_(-1E-164), SC_(0.785398163397448309615660845819875721049292349843776455243736) } },
+ { { -ldexp(T(1.0), -52), boost::math::constants::pi<T>() / 4, SC_(0.9375), SC_(0.866032844934895872810905364370384153285798081574191920571016) } },
+ { { -ldexp(T(1.0), -52), boost::math::constants::pi<T>() / 4, SC_(-0.9375), SC_(0.866032844934895872810905364370384153285798081574191920571016) } },
+ { { std::numeric_limits<T>::max_exponent > 600 ? -ldexp(T(1), 604) : T(0), -ldexp(T(1), -816), ldexp(T(1), -510), std::numeric_limits<T>::max_exponent > 600 ? SC_(-2.28835573409367516299079046268930870596307631872422530813192e-246) : SC_(-2.28835573409367516299079046268930870596307631872422530813192e-246) } },
+ { { std::numeric_limits<T>::max_exponent > 600 ? -ldexp(T(1), 604) : T(0), -ldexp(T(1), -816), -ldexp(T(1), -510), std::numeric_limits<T>::max_exponent > 600 ? SC_(-2.28835573409367516299079046268930870596307631872422530813192e-246) : SC_(-2.28835573409367516299079046268930870596307631872422530813192e-246) } },
+ { { -ldexp(T(1), -622), -ldexp(T(1), -800), ldexp(T(1), -132), SC_(-1.49969681389563095481764443762806535353996169623910829793733e-241) } },
+ { { -ldexp(T(1), -622), -ldexp(T(1), -800), -ldexp(T(1), -132), SC_(-1.49969681389563095481764443762806535353996169623910829793733e-241) } },
+ { { -ldexp(T(1), -562), ldexp(T(1), -140), ldexp(T(1), -256), SC_(7.174648137343063403129495466444370592154941142407760751e-43) } },
+ { { -ldexp(T(1), -562), -ldexp(T(1), -140), ldexp(T(1), -256), SC_(-7.17464813734306340312949546644437059215494114240776075e-43) } },
+ { { ldexp(T(1), -688), -ldexp(T(1), -243), ldexp(T(1), -193), SC_(-7.07474928033336903711649944600608732865822749854620171e-74) } },
+ { { -ldexp(T(1), -688), -ldexp(T(1), -243), ldexp(T(1), -193), SC_(-7.07474928033336903711649944600608732865822749854620171e-74) } },
+ // Special cases where k = 0:
+ { { SC_(0.5), SC_(1.0), SC_(0.0), SC_(1.17881507892743738986863357869566288974084658835353613038547) } },
+ { { SC_(-0.5), SC_(1.0), SC_(0.0), SC_(0.888286691263535380266337576823783210424994266596287990733270) } },
+ { { SC_(0.5), SC_(-1.0), SC_(0.0), SC_(-1.17881507892743738986863357869566288974084658835353613038547) } },
+ { { SC_(-0.5), SC_(-1.0), SC_(0.0), SC_(-0.888286691263535380266337576823783210424994266596287990733270) } },
+ // k == 0 and phi > pi/2:
+ { { SC_(0.5), SC_(2.0), SC_(0.0), SC_(3.03379730757207227653600089552126882582809860566558143254794) } },
+ { { SC_(-0.5), SC_(2.0), SC_(0.0), SC_(1.57453655812023739911111328195028658229986230310938753315640) } },
+ { { SC_(0.5), SC_(-2.0), SC_(0.0), SC_(-3.03379730757207227653600089552126882582809860566558143254794) } },
+ { { SC_(-0.5), SC_(-2.0), SC_(0.0), SC_(-1.57453655812023739911111328195028658229986230310938753315640) } },
+ // Special cases where k = 1:
+ { { SC_(0.5), SC_(1.0), SC_(1.0), SC_(1.4830998734200773326887632776553375078936815318419194718912351) } },
+ { { SC_(-0.5), SC_(1.0), SC_(1.0), SC_(1.07048347329000030842347009377117215811122412769516781788253) } },
+ { { SC_(0.5), SC_(-1.0), SC_(1.0), SC_(-1.4830998734200773326887632776553375078936815318419194718912) } },
+ { { SC_(-0.5), SC_(-1.0), SC_(1.0), SC_(-1.07048347329000030842347009377117215811122412769516781788253) } },
+ // special cases where v = 1:
+ { { SC_(1.0), SC_(0.5), SC_(0.5), SC_(0.55225234291197632914658859230278152249148960801635386133501) } },
+ { { SC_(1.0), SC_(-0.5), SC_(0.5), SC_(-0.55225234291197632914658859230278152249148960801635386133501) } },
+ { { SC_(1.0), SC_(2.0), SC_(0.5), SC_(-2.87534521505997989921579168327307068134740792740155171368532) } },
+ { { SC_(1.0), SC_(-2.0), SC_(0.5), SC_(2.87534521505997989921579168327307068134740792740155171368532) } },
+ { { SC_(1.0), SC_(2.0), ldexp(T(1), -200), SC_(-2.18503986326151899164330610231368254343201774622766316456295) } },
+ { { SC_(1.0), SC_(-2.0), ldexp(T(1), -200), SC_(2.18503986326151899164330610231368254343201774622766316456295) } },
+ { { SC_(1.0), ldexp(T(1.0), -150), ldexp(T(1), -200), SC_(7.006492321624085354618647916449580656401309709382578858e-46) } },
+ { { SC_(1.0), -ldexp(T(1.0), -150), ldexp(T(1), -200), SC_(-7.006492321624085354618647916449580656401309709382578858e-46) } },
+ // Previously unsupported region with v > 1 and |phi| > PI/2, this is the only region
+ // with high-ish error rates caused by argument reduction by Pi:
+ { { SC_(20.0), ldexp(T(1647611), -19), SC_(0.5), SC_(0.000975940902692994840122139131147517258405256880370413541280) } },
+ { { SC_(20.0), -ldexp(T(1647611), -19), SC_(0.5), SC_(-0.000975940902692994840122139131147517258405256880370413541280) } },
+ { { T(1.0) + ldexp(T(1), -6), ldexp(T(889085), -19), SC_(0.5), SC_(-27.1647225624906589308619292363045712770651414487085887109197) } },
+ { { T(1.0) + ldexp(T(1), -6), -ldexp(T(889085), -19), SC_(0.5), SC_(27.1647225624906589308619292363045712770651414487085887109197) } },
+ // Phi = 0:
+ { { SC_(1.0), SC_(0.0), SC_(0.5), SC_(0.0) } },
+ { { SC_(-1.0), SC_(0.0), SC_(0.5), SC_(0.0) } },
+ { { SC_(100.0), SC_(0.0), SC_(0.5), SC_(0.0) } },
+ { { SC_(-100.0), SC_(0.0), SC_(0.5), SC_(0.0) } },
+ } };
+
+
+int main()
+{
+#include "ellint_pi3_data.ipp"
+#include "ellint_pi3_large_data.ipp"
+
+ add_data(data1);
+ add_data(ellint_pi3_data);
+ add_data(ellint_pi3_large_data);
+
+ unsigned data_total = data.size();
+
+ std::cout << "Screening boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::ellint_3(v[2], v[0], v[1]); }, [](const std::vector<double>& v){ return v[3]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return std::tr1 ::ellint_3(v[2], -v[0], v[1]); }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return gsl_sf_ellint_P(v[1], v[2], -v[0], GSL_PREC_DOUBLE); }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ellint_3[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ellint_3";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_3(v[2], v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_3(v[2], v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::ellint_3(v[2], -v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_ellint_P(v[1], v[2], -v[0], GSL_PREC_DOUBLE); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ellint_3c.cpp b/src/boost/libs/math/reporting/performance/test_ellint_3c.cpp
new file mode 100644
index 000000000..f8da39d1a
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ellint_3c.cpp
@@ -0,0 +1,80 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/ellint_3.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+#include "ellint_pi2_data.ipp"
+
+ add_data(ellint_pi2_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::ellint_3(v[1], v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::comp_ellint_3(v[1], -v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_ellint_Pcomp(v[1], -v[0], GSL_PREC_DOUBLE); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ellint_3 (complete)[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ellint_3 (complete)";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_3(v[1], v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_3(v[1], v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::comp_ellint_3(v[1], -v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_ellint_Pcomp(v[1], -v[0], GSL_PREC_DOUBLE); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ellint_rc.cpp b/src/boost/libs/math/reporting/performance/test_ellint_rc.cpp
new file mode 100644
index 000000000..9f1e22698
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ellint_rc.cpp
@@ -0,0 +1,72 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/ellint_rc.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+#include "ellint_rc_data.ipp"
+
+ add_data(ellint_rc_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::ellint_rc(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_ellint_RC(v[0], v[1], GSL_PREC_DOUBLE); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ellint_rc[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ellint_rc";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_rc(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_rc(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_ellint_RC(v[0], v[1], GSL_PREC_DOUBLE); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ellint_rd.cpp b/src/boost/libs/math/reporting/performance/test_ellint_rd.cpp
new file mode 100644
index 000000000..b89709898
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ellint_rd.cpp
@@ -0,0 +1,82 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/ellint_rd.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+#include "ellint_rd_data.ipp"
+#include "ellint_rd_xyy.ipp"
+#include "ellint_rd_xxz.ipp"
+#include "ellint_rd_0yy.ipp"
+#include "ellint_rd_xxx.ipp"
+#include "ellint_rd_0xy.ipp"
+
+ add_data(ellint_rd_data);
+ add_data(ellint_rd_xyy);
+ add_data(ellint_rd_xxz);
+ add_data(ellint_rd_0yy);
+ add_data(ellint_rd_xxx);
+ add_data(ellint_rd_0xy);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::ellint_rd(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[3]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_ellint_RD(v[0], v[1], v[2], GSL_PREC_DOUBLE); }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ellint_rd[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ellint_rd";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_rd(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_rd(v[0], v[1], v[2], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_ellint_RD(v[0], v[1], v[2], GSL_PREC_DOUBLE); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ellint_rf.cpp b/src/boost/libs/math/reporting/performance/test_ellint_rf.cpp
new file mode 100644
index 000000000..e7c5aeacc
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ellint_rf.cpp
@@ -0,0 +1,80 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/ellint_rf.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+#include "ellint_rf_data.ipp"
+#include "ellint_rf_xxx.ipp"
+#include "ellint_rf_xyy.ipp"
+#include "ellint_rf_0yy.ipp"
+#include "ellint_rf_xy0.ipp"
+
+ add_data(ellint_rf_data);
+ add_data(ellint_rf_xxx);
+ add_data(ellint_rf_xyy);
+ add_data(ellint_rf_0yy);
+ add_data(ellint_rf_xy0);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::ellint_rf(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[3]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_ellint_RF(v[0], v[1], v[2], GSL_PREC_DOUBLE); }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ellint_rf[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ellint_rf";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_rf(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_rf(v[0], v[1], v[2], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_ellint_RF(v[0], v[1], v[2], GSL_PREC_DOUBLE); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ellint_rj.cpp b/src/boost/libs/math/reporting/performance/test_ellint_rj.cpp
new file mode 100644
index 000000000..841195aa9
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ellint_rj.cpp
@@ -0,0 +1,80 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/ellint_rj.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+#include "ellint_rj_data.ipp"
+#include "ellint_rj_e4.ipp"
+#include "ellint_rj_e3.ipp"
+#include "ellint_rj_e2.ipp"
+#include "ellint_rj_zp.ipp"
+
+ add_data(ellint_rj_data);
+ add_data(ellint_rj_e4);
+ add_data(ellint_rj_e3);
+ add_data(ellint_rj_e2);
+ add_data(ellint_rj_zp);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::ellint_rj(v[0], v[1], v[2], v[3]); }, [](const std::vector<double>& v){ return v[4]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_ellint_RJ(v[0], v[1], v[2], v[3], GSL_PREC_DOUBLE); }, [](const std::vector<double>& v){ return v[4]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ellint_rj[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ellint_rj";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_rj(v[0], v[1], v[2], v[3]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ellint_rj(v[0], v[1], v[2], v[3], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_ellint_RJ(v[0], v[1], v[2], v[3], GSL_PREC_DOUBLE); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_erf.cpp b/src/boost/libs/math/reporting/performance/test_erf.cpp
new file mode 100644
index 000000000..5c9025168
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_erf.cpp
@@ -0,0 +1,89 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/erf.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+int main()
+{
+ typedef double T;
+#define SC_(x) static_cast<double>(x)
+# include "erf_small_data.ipp"
+# include "erf_data.ipp"
+# include "erf_large_data.ipp"
+
+ add_data(erf_small_data);
+ add_data(erf_data);
+ add_data(erf_large_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::erf(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return ::erf(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::erf(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_erf(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+ unsigned data_used = data.size();
+ std::string function = "erf[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "erf";
+
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::erf(v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::erf(v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::erf(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "math.h");
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::erf(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_erf(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_erfc.cpp b/src/boost/libs/math/reporting/performance/test_erfc.cpp
new file mode 100644
index 000000000..6c09df1cb
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_erfc.cpp
@@ -0,0 +1,91 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/erf.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+int main()
+{
+ typedef double T;
+#define SC_(x) static_cast<double>(x)
+# include "erf_small_data.ipp"
+# include "erf_data.ipp"
+# include "erf_large_data.ipp"
+
+ add_data(erf_small_data);
+ add_data(erf_data);
+ add_data(erf_large_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::erfc(v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return ::erfc(v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::erfc(v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_erfc(v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "erfc[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "erfc";
+
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::erfc(v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::erfc(v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::erfc(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "math.h");
+#endif
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::erfc(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_erfc(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_expint.cpp b/src/boost/libs/math/reporting/performance/test_expint.cpp
new file mode 100644
index 000000000..2a2f44afb
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_expint.cpp
@@ -0,0 +1,82 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/expint.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+#include "expinti_data.ipp"
+#include "expinti_data_double.ipp"
+
+ add_data(expinti_data);
+ add_data(expinti_data_double);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::expint(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::expint(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_expint_Ei(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "expint[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "expint";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::expint(v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::expint(v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::expint(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_expint_Ei(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_expint_n.cpp b/src/boost/libs/math/reporting/performance/test_expint_n.cpp
new file mode 100644
index 000000000..413598d28
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_expint_n.cpp
@@ -0,0 +1,76 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/expint.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+#include "expint_data.ipp"
+#include "expint_small_data.ipp"
+#include "expint_1_data.ipp"
+
+ add_data(expint_data);
+ add_data(expint_small_data);
+ add_data(expint_1_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::expint(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_expint_En(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "expint (En)[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "expint (En)";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::expint(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::expint(static_cast<int>(v[0]), v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_expint_En(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_expm1.cpp b/src/boost/libs/math/reporting/performance/test_expm1.cpp
new file mode 100644
index 000000000..027f020a1
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_expm1.cpp
@@ -0,0 +1,78 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/expm1.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+int main()
+{
+ typedef double T;
+#define SC_(x) static_cast<double>(x)
+# include "../../test/log1p_expm1_data.ipp"
+
+ add_data(log1p_expm1_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::expm1(v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return ::expm1(v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::expm1(v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "expm1[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "expm1";
+
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::expm1(v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::expm1(v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::expm1(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "math.h");
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::expm1(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_gamma_p.cpp b/src/boost/libs/math/reporting/performance/test_gamma_p.cpp
new file mode 100644
index 000000000..4d11da845
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_gamma_p.cpp
@@ -0,0 +1,86 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/gamma.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+# include "igamma_med_data.ipp"
+# include "igamma_small_data.ipp"
+# include "igamma_big_data.ipp"
+# include "igamma_int_data.ipp"
+
+ add_data(igamma_med_data);
+ add_data(igamma_small_data);
+ add_data(igamma_big_data);
+ add_data(igamma_int_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::gamma_p(v[0], v[1]); }, [](const std::vector<double>& v){ return v[5]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_gamma_inc_P(v[0], v[1]); }, [](const std::vector<double>& v){ return v[5]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return pgamma(v[1], v[0], 1.0, 1, 0); }, [](const std::vector<double>& v){ return v[5]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "gamma_p[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "gamma_p";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::gamma_p(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::gamma_p(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_gamma_inc_P(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return pgamma(v[1], v[0], 1.0, 1, 0); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_gamma_p_inv.cpp b/src/boost/libs/math/reporting/performance/test_gamma_p_inv.cpp
new file mode 100644
index 000000000..a825957bc
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_gamma_p_inv.cpp
@@ -0,0 +1,78 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/gamma.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+# include "gamma_inv_data.ipp"
+# include "gamma_inv_big_data.ipp"
+# include "gamma_inv_small_data.ipp"
+
+ add_data(gamma_inv_data);
+ add_data(gamma_inv_big_data);
+ add_data(gamma_inv_small_data);
+
+ unsigned data_total = data.size();
+
+ std::cout << "screening Boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::gamma_p_inv(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "screening Rmath data:\n";
+ screen_data([](const std::vector<double>& v){ return qgamma(v[1], v[0], 1.0, 1, 0); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "gamma_p_inv[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "gamma_p_inv";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::gamma_p_inv(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::gamma_p_inv(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return qgamma(v[1], v[0], 1.0, 1, 0); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_gamma_q.cpp b/src/boost/libs/math/reporting/performance/test_gamma_q.cpp
new file mode 100644
index 000000000..1651dd6d9
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_gamma_q.cpp
@@ -0,0 +1,90 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/gamma.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+# include "igamma_med_data.ipp"
+# include "igamma_small_data.ipp"
+# include "igamma_big_data.ipp"
+# include "igamma_int_data.ipp"
+
+ add_data(igamma_med_data);
+ add_data(igamma_small_data);
+ add_data(igamma_big_data);
+ add_data(igamma_int_data);
+
+ unsigned data_total = data.size();
+
+
+ std::cout << "Screening Boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::gamma_q(v[0], v[1]); }, [](const std::vector<double>& v){ return v[3]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening GSL data:\n";
+ screen_data([](const std::vector<double>& v){ return gsl_sf_gamma_inc_Q(v[0], v[1]); }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening GSL data:\n";
+ screen_data([](const std::vector<double>& v){ return pgamma(v[1], v[0], 1.0, 0, 0); }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "gamma_q[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "gamma_q";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::gamma_q(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::gamma_q(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_gamma_inc_Q(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return pgamma(v[1], v[0], 1.0, 0, 0); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_gamma_q_inv.cpp b/src/boost/libs/math/reporting/performance/test_gamma_q_inv.cpp
new file mode 100644
index 000000000..923ef5d51
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_gamma_q_inv.cpp
@@ -0,0 +1,78 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/gamma.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+# include "gamma_inv_data.ipp"
+# include "gamma_inv_big_data.ipp"
+# include "gamma_inv_small_data.ipp"
+
+ add_data(gamma_inv_data);
+ add_data(gamma_inv_big_data);
+ add_data(gamma_inv_small_data);
+
+ unsigned data_total = data.size();
+
+ std::cout << "screening Boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::gamma_q_inv(v[0], v[1]); }, [](const std::vector<double>& v){ return v[3]; });
+
+
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "screening Rmath data:\n";
+ screen_data([](const std::vector<double>& v){ return qgamma(v[1], v[0], 1.0, 0, 0); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "gamma_q_inv[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "gamma_q_inv";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::gamma_q_inv(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::gamma_q_inv(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return qgamma(v[1], v[0], 1.0, 0, 0); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_gcd.cpp b/src/boost/libs/math/reporting/performance/test_gcd.cpp
new file mode 100644
index 000000000..f9793a02b
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_gcd.cpp
@@ -0,0 +1,478 @@
+// Copyright Jeremy Murphy 2016.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/integer/common_factor_rt.hpp>
+#include <boost/math/special_functions/prime.hpp>
+#include <boost/multiprecision/cpp_int.hpp>
+#include <boost/multiprecision/integer.hpp>
+#include <boost/random.hpp>
+#include <boost/array.hpp>
+#include <iostream>
+#include <algorithm>
+#include <numeric>
+#include <string>
+#include <tuple>
+#include <type_traits>
+#include <vector>
+#include <functional>
+#include "fibonacci.hpp"
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+
+
+using namespace std;
+
+boost::multiprecision::cpp_int total_sum(0);
+
+template <typename Func, class Table>
+double exec_timed_test_foo(Func f, const Table& data, double min_elapsed = 0.5)
+{
+ double t = 0;
+ unsigned repeats = 1;
+ typename Table::value_type::first_type sum{0};
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ do
+ {
+ for(unsigned count = 0; count < repeats; ++count)
+ {
+ for(typename Table::size_type n = 0; n < data.size(); ++n)
+ sum += f(data[n].first, data[n].second);
+ }
+
+ t = boost::chrono::duration_cast<boost::chrono::duration<double>>(w.elapsed()).count();
+ if(t < min_elapsed)
+ repeats *= 2;
+ }
+ while(t < min_elapsed);
+ total_sum += sum;
+ return t / repeats;
+}
+
+
+template <typename T>
+struct test_function_template
+{
+ vector<pair<T, T> > const & data;
+ const char* data_name;
+
+ test_function_template(vector<pair<T, T> > const &data, const char* name) : data(data), data_name(name) {}
+
+ template <typename Function>
+ void operator()(pair<Function, string> const &f) const
+ {
+ auto result = exec_timed_test_foo(f.first, data);
+ auto table_name = string("gcd method comparison with ") + compiler_name() + string(" on ") + platform_name();
+
+ report_execution_time(result,
+ table_name,
+ string(data_name),
+ string(f.second) + "\n" + boost_name());
+ }
+};
+
+boost::random::mt19937 rng;
+boost::random::uniform_int_distribution<> d_0_6(0, 6);
+boost::random::uniform_int_distribution<> d_1_20(1, 20);
+
+template <class T>
+T get_prime_products()
+{
+ int n_primes = d_0_6(rng);
+ switch(n_primes)
+ {
+ case 0:
+ // Generate a power of 2:
+ return static_cast<T>(1u) << d_1_20(rng);
+ case 1:
+ // prime number:
+ return boost::math::prime(d_1_20(rng) + 3);
+ }
+ T result = 1;
+ for(int i = 0; i < n_primes; ++i)
+ result *= boost::math::prime(d_1_20(rng) + 3) * boost::math::prime(d_1_20(rng) + 3) * boost::math::prime(d_1_20(rng) + 3) * boost::math::prime(d_1_20(rng) + 3) * boost::math::prime(d_1_20(rng) + 3);
+ return result;
+}
+
+template <class T>
+T get_uniform_random()
+{
+ static boost::random::uniform_int_distribution<T> minimax((std::numeric_limits<T>::min)(), (std::numeric_limits<T>::max)());
+ return minimax(rng);
+}
+
+template <class T>
+inline bool even(T const& val)
+{
+ return !(val & 1u);
+}
+
+template <class Backend, boost::multiprecision::expression_template_option ExpressionTemplates>
+inline bool even(boost::multiprecision::number<Backend, ExpressionTemplates> const& val)
+{
+ return !bit_test(val, 0);
+}
+
+template <class T>
+T euclid_textbook(T a, T b)
+{
+ using std::swap;
+ if(a < b)
+ swap(a, b);
+ while(b)
+ {
+ T t = b;
+ b = a % b;
+ a = t;
+ }
+ return a;
+}
+
+template <class T>
+T binary_textbook(T u, T v)
+{
+ if(u && v)
+ {
+ unsigned shifts = (std::min)(boost::multiprecision::lsb(u), boost::multiprecision::lsb(v));
+ if(shifts)
+ {
+ u >>= shifts;
+ v >>= shifts;
+ }
+ while(u)
+ {
+ unsigned bit_index = boost::multiprecision::lsb(u);
+ if(bit_index)
+ {
+ u >>= bit_index;
+ }
+ else if(bit_index = boost::multiprecision::lsb(v))
+ {
+ v >>= bit_index;
+ }
+ else
+ {
+ if(u < v)
+ v = (v - u) >> 1u;
+ else
+ u = (u - v) >> 1u;
+ }
+ }
+ return v << shifts;
+ }
+ return u + v;
+}
+
+template <typename Integer>
+inline BOOST_CXX14_CONSTEXPR Integer gcd_default(Integer a, Integer b) BOOST_GCD_NOEXCEPT(Integer)
+{
+ using boost::integer::gcd;
+ return gcd(a, b);
+}
+
+
+template <class T>
+void test_type(const char* name)
+{
+ using namespace boost::integer::gcd_detail;
+ typedef T int_type;
+ std::vector<pair<int_type, int_type> > data;
+
+ for(unsigned i = 0; i < 1000; ++i)
+ {
+ data.push_back(std::make_pair(get_prime_products<T>(), get_prime_products<T>()));
+ }
+ std::string row_name("gcd<");
+ row_name += name;
+ row_name += "> (random prime number products)";
+
+ typedef pair< function<int_type(int_type, int_type)>, string> f_test;
+ array<f_test, 6> test_functions{ {
+ { gcd_default<int_type>, "gcd" },
+ { Euclid_gcd<int_type>, "Euclid_gcd" },
+ { Stein_gcd<int_type>, "Stein_gcd" } ,
+ { mixed_binary_gcd<int_type>, "mixed_binary_gcd" },
+ { binary_textbook<int_type>, "Stein_gcd_textbook" },
+ { euclid_textbook<int_type>, "gcd_euclid_textbook" },
+ } };
+ for_each(begin(test_functions), end(test_functions), test_function_template<int_type>(data, row_name.c_str()));
+
+ data.clear();
+ for(unsigned i = 0; i < 1000; ++i)
+ {
+ data.push_back(std::make_pair(get_uniform_random<T>(), get_uniform_random<T>()));
+ }
+ row_name.erase();
+ row_name += "gcd<";
+ row_name += name;
+ row_name += "> (uniform random numbers)";
+ for_each(begin(test_functions), end(test_functions), test_function_template<int_type>(data, row_name.c_str()));
+
+ // Fibonacci number tests:
+ row_name.erase();
+ row_name += "gcd<";
+ row_name += name;
+ row_name += "> (adjacent Fibonacci numbers)";
+ for_each(begin(test_functions), end(test_functions), test_function_template<int_type>(fibonacci_numbers_permution_1<T>(), row_name.c_str()));
+
+ row_name.erase();
+ row_name += "gcd<";
+ row_name += name;
+ row_name += "> (permutations of Fibonacci numbers)";
+ for_each(begin(test_functions), end(test_functions), test_function_template<int_type>(fibonacci_numbers_permution_2<T>(), row_name.c_str()));
+
+ row_name.erase();
+ row_name += "gcd<";
+ row_name += name;
+ row_name += "> (Trivial cases)";
+ for_each(begin(test_functions), end(test_functions), test_function_template<int_type>(trivial_gcd_test_cases<T>(), row_name.c_str()));
+}
+
+/*******************************************************************************************************************/
+
+template <class T>
+T generate_random(unsigned bits_wanted)
+{
+ static boost::random::mt19937 gen;
+ typedef boost::random::mt19937::result_type random_type;
+
+ T max_val;
+ unsigned digits;
+ if(std::numeric_limits<T>::is_bounded && (bits_wanted == (unsigned)std::numeric_limits<T>::digits))
+ {
+ max_val = (std::numeric_limits<T>::max)();
+ digits = std::numeric_limits<T>::digits;
+ }
+ else
+ {
+ max_val = T(1) << bits_wanted;
+ digits = bits_wanted;
+ }
+
+ unsigned bits_per_r_val = std::numeric_limits<random_type>::digits - 1;
+ while((random_type(1) << bits_per_r_val) > (gen.max)()) --bits_per_r_val;
+
+ unsigned terms_needed = digits / bits_per_r_val + 1;
+
+ T val = 0;
+ for(unsigned i = 0; i < terms_needed; ++i)
+ {
+ val *= (gen.max)();
+ val += gen();
+ }
+ val %= max_val;
+ return val;
+}
+
+template <typename N>
+N gcd_stein(N m, N n)
+{
+ BOOST_ASSERT(m >= static_cast<N>(0));
+ BOOST_ASSERT(n >= static_cast<N>(0));
+ if(m == N(0)) return n;
+ if(n == N(0)) return m;
+ // m > 0 && n > 0
+ unsigned d_m = 0;
+ while(even(m)) { m >>= 1; d_m++; }
+ unsigned d_n = 0;
+ while(even(n)) { n >>= 1; d_n++; }
+ // odd(m) && odd(n)
+ while(m != n) {
+ if(n > m) swap(n, m);
+ m -= n;
+ do m >>= 1; while(even(m));
+ // m == n
+ }
+ return m << (std::min)(d_m, d_n);
+}
+
+
+boost::multiprecision::cpp_int big_gcd(const boost::multiprecision::cpp_int& a, const boost::multiprecision::cpp_int& b)
+{
+ return boost::multiprecision::gcd(a, b);
+}
+
+namespace boost { namespace multiprecision { namespace backends {
+
+template <unsigned MinBits1, unsigned MaxBits1, cpp_integer_type SignType1, cpp_int_check_type Checked1, class Allocator1>
+inline typename enable_if_c<!is_trivial_cpp_int<cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1> >::value>::type
+ eval_gcd_new(
+ cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1>& result,
+ const cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1>& a,
+ const cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1>& b)
+{
+ using default_ops::eval_lsb;
+ using default_ops::eval_is_zero;
+ using default_ops::eval_get_sign;
+
+ if(a.size() == 1)
+ {
+ eval_gcd(result, b, *a.limbs());
+ return;
+ }
+ if(b.size() == 1)
+ {
+ eval_gcd(result, a, *b.limbs());
+ return;
+ }
+
+ int shift;
+
+ cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1> u(a), v(b), mod;
+
+ int s = eval_get_sign(u);
+
+ /* GCD(0,x) := x */
+ if(s < 0)
+ {
+ u.negate();
+ }
+ else if(s == 0)
+ {
+ result = v;
+ return;
+ }
+ s = eval_get_sign(v);
+ if(s < 0)
+ {
+ v.negate();
+ }
+ else if(s == 0)
+ {
+ result = u;
+ return;
+ }
+
+ /* Let shift := lg K, where K is the greatest power of 2
+ dividing both u and v. */
+
+ unsigned us = eval_lsb(u);
+ unsigned vs = eval_lsb(v);
+ shift = (std::min)(us, vs);
+ eval_right_shift(u, us);
+ eval_right_shift(v, vs);
+
+ // From now on access u and v via pointers, that way we have a trivial swap:
+ cpp_int_backend<MinBits1, MaxBits1, SignType1, Checked1, Allocator1>* up(&u), *vp(&v), *mp(&mod);
+
+ do
+ {
+ /* Now u and v are both odd, so diff(u, v) is even.
+ Let u = min(u, v), v = diff(u, v)/2. */
+ s = up->compare(*vp);
+ if(s > 0)
+ std::swap(up, vp);
+ if(s == 0)
+ break;
+ if(vp->size() <= 2)
+ {
+ if(vp->size() == 1)
+ *up = boost::integer::gcd_detail::mixed_binary_gcd(*vp->limbs(), *up->limbs());
+ else
+ {
+ double_limb_type i, j;
+ i = vp->limbs()[0] | (static_cast<double_limb_type>(vp->limbs()[1]) << sizeof(limb_type) * CHAR_BIT);
+ j = (up->size() == 1) ? *up->limbs() : up->limbs()[0] | (static_cast<double_limb_type>(up->limbs()[1]) << sizeof(limb_type) * CHAR_BIT);
+ u = boost::integer::gcd_detail::mixed_binary_gcd(i, j);
+ }
+ break;
+ }
+ if(vp->size() > up->size() /*eval_msb(*vp) > eval_msb(*up) + 32*/)
+ {
+ eval_modulus(*mp, *vp, *up);
+ std::swap(vp, mp);
+ eval_subtract(*up, *vp);
+ if(eval_is_zero(*vp) == 0)
+ {
+ vs = eval_lsb(*vp);
+ eval_right_shift(*vp, vs);
+ }
+ else
+ break;
+ if(eval_is_zero(*up) == 0)
+ {
+ vs = eval_lsb(*up);
+ eval_right_shift(*up, vs);
+ }
+ else
+ {
+ std::swap(up, vp);
+ break;
+ }
+ }
+ else
+ {
+ eval_subtract(*vp, *up);
+ vs = eval_lsb(*vp);
+ eval_right_shift(*vp, vs);
+ }
+ }
+ while(true);
+
+ result = *up;
+ eval_left_shift(result, shift);
+}
+
+}}}
+
+
+boost::multiprecision::cpp_int big_gcd_new(const boost::multiprecision::cpp_int& a, const boost::multiprecision::cpp_int& b)
+{
+ boost::multiprecision::cpp_int result;
+ boost::multiprecision::backends::eval_gcd_new(result.backend(), a.backend(), b.backend());
+ return result;
+}
+
+#if 0
+void test_n_bits(unsigned n, std::string data_name, const std::vector<pair<boost::multiprecision::cpp_int, boost::multiprecision::cpp_int> >* p_data = 0)
+{
+ using namespace boost::math::detail;
+ typedef boost::multiprecision::cpp_int int_type;
+ std::vector<pair<int_type, int_type> > data, data2;
+
+ for(unsigned i = 0; i < 1000; ++i)
+ {
+ data.push_back(std::make_pair(generate_random<int_type>(n), generate_random<int_type>(n)));
+ }
+
+ typedef pair< function<int_type(int_type, int_type)>, string> f_test;
+ array<f_test, 2> test_functions{ { /*{ Stein_gcd<int_type>, "Stein_gcd" } ,{ Euclid_gcd<int_type>, "Euclid_gcd" },{ binary_textbook<int_type>, "Stein_gcd_textbook" },{ euclid_textbook<int_type>, "gcd_euclid_textbook" },{ mixed_binary_gcd<int_type>, "mixed_binary_gcd" },{ gcd_stein<int_type>, "gcd_stein" },*/{ big_gcd, "boost::multiprecision::gcd" },{ big_gcd_new, "big_gcd_new" } } };
+ for_each(begin(test_functions), end(test_functions), test_function_template<int_type>(p_data ? *p_data : data, data_name.c_str(), true));
+}
+#endif
+
+int main()
+{
+ test_type<unsigned short>("unsigned short");
+ test_type<unsigned>("unsigned");
+ test_type<unsigned long>("unsigned long");
+ test_type<unsigned long long>("unsigned long long");
+
+ test_type<boost::multiprecision::uint256_t>("boost::multiprecision::uint256_t");
+ test_type<boost::multiprecision::uint512_t>("boost::multiprecision::uint512_t");
+ test_type<boost::multiprecision::uint1024_t>("boost::multiprecision::uint1024_t");
+
+ /*
+ test_n_bits(16, " 16 bit random values");
+ test_n_bits(32, " 32 bit random values");
+ test_n_bits(64, " 64 bit random values");
+ test_n_bits(125, " 125 bit random values");
+ test_n_bits(250, " 250 bit random values");
+ test_n_bits(500, " 500 bit random values");
+ test_n_bits(1000, " 1000 bit random values");
+ test_n_bits(5000, " 5000 bit random values");
+ test_n_bits(10000, "10000 bit random values");
+ //test_n_bits(100000);
+ //test_n_bits(1000000);
+
+ test_n_bits(0, "consecutive first 1000 fibonacci numbers", &fibonacci_numbers_cpp_int_permution_1());
+ test_n_bits(0, "permutations of first 1000 fibonacci numbers", &fibonacci_numbers_cpp_int_permution_2());
+ */
+ return 0;
+}
diff --git a/src/boost/libs/math/reporting/performance/test_ibeta.cpp b/src/boost/libs/math/reporting/performance/test_ibeta.cpp
new file mode 100644
index 000000000..59a53e4af
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ibeta.cpp
@@ -0,0 +1,81 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/beta.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+
+int main()
+{
+# include "ibeta_small_data.ipp"
+# include "ibeta_data.ipp"
+# include "ibeta_large_data.ipp"
+# include "ibeta_int_data.ipp"
+
+ add_data(ibeta_small_data);
+ add_data(ibeta_data);
+ add_data(ibeta_large_data);
+ add_data(ibeta_int_data);
+
+ unsigned data_total = data.size();
+
+ std::cout << "Screening boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::ibeta(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[5]; });
+
+
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return ::pbeta(v[2], v[0], v[1], 1, 0); }, [](const std::vector<double>& v){ return v[5]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ibeta[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ibeta";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ibeta(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ibeta(v[0], v[1], v[2], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::pbeta(v[2], v[0], v[1], 1, 0); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ibeta_inv.cpp b/src/boost/libs/math/reporting/performance/test_ibeta_inv.cpp
new file mode 100644
index 000000000..68488cdef
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ibeta_inv.cpp
@@ -0,0 +1,79 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/beta.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+
+int main()
+{
+# include "ibeta_inv_data.ipp"
+
+ add_data(ibeta_inv_data);
+
+ unsigned data_total = data.size();
+
+ std::cout << "Screening boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::ibeta_inv(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[3]; });
+
+
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return ::qbeta(v[2], v[0], v[1], 1, 0); }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ibeta_inv[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ibeta_inv";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ibeta_inv(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+#if defined(COMPILER_COMPARISON_TABLES)
+ report_execution_time(time, std::string("Compiler Option Comparison on ") + platform_name(), "boost::math::ibeta_inv", get_compiler_options_name());
+#else
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+#endif
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ibeta_inv(v[0], v[1], v[2], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::qbeta(v[2], v[0], v[1], 1, 0); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ibetac.cpp b/src/boost/libs/math/reporting/performance/test_ibetac.cpp
new file mode 100644
index 000000000..33eadbeb9
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ibetac.cpp
@@ -0,0 +1,81 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/beta.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+
+int main()
+{
+# include "ibeta_small_data.ipp"
+# include "ibeta_data.ipp"
+# include "ibeta_large_data.ipp"
+# include "ibeta_int_data.ipp"
+
+ add_data(ibeta_small_data);
+ add_data(ibeta_data);
+ add_data(ibeta_large_data);
+ add_data(ibeta_int_data);
+
+ unsigned data_total = data.size();
+
+ std::cout << "Screening boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::ibetac(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[6]; });
+
+
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return ::pbeta(v[2], v[0], v[1], 0, 0); }, [](const std::vector<double>& v){ return v[6]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ibetac[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ibetac";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ibetac(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ibetac(v[0], v[1], v[2], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::pbeta(v[2], v[0], v[1], 0, 0); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ibetac_inv.cpp b/src/boost/libs/math/reporting/performance/test_ibetac_inv.cpp
new file mode 100644
index 000000000..5889acaf4
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ibetac_inv.cpp
@@ -0,0 +1,75 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/beta.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+
+int main()
+{
+# include "ibeta_inv_data.ipp"
+
+ add_data(ibeta_inv_data);
+
+ unsigned data_total = data.size();
+
+ std::cout << "Screening boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::ibetac_inv(v[0], v[1], v[2]); }, [](const std::vector<double>& v){ return v[4]; });
+
+
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return ::qbeta(v[2], v[0], v[1], 0, 0); }, [](const std::vector<double>& v){ return v[4]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "ibetac_inv[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "ibetac_inv";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ibetac_inv(v[0], v[1], v[2]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::ibetac_inv(v[0], v[1], v[2], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::qbeta(v[2], v[0], v[1], 0, 0); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_igamma.cpp b/src/boost/libs/math/reporting/performance/test_igamma.cpp
new file mode 100644
index 000000000..48c31d3ec
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_igamma.cpp
@@ -0,0 +1,78 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/gamma.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+# include "igamma_med_data.ipp"
+# include "igamma_small_data.ipp"
+# include "igamma_big_data.ipp"
+# include "igamma_int_data.ipp"
+
+ add_data(igamma_med_data);
+ add_data(igamma_small_data);
+ add_data(igamma_big_data);
+ add_data(igamma_int_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::tgamma(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_gamma_inc(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "tgamma (incomplete)[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "tgamma (incomplete)";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::tgamma(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::tgamma(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_gamma_inc(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_in.cpp b/src/boost/libs/math/reporting/performance/test_in.cpp
new file mode 100644
index 000000000..6a56bf71f
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_in.cpp
@@ -0,0 +1,127 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/bessel.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<T, 3>, 10> i0_data = { {
+ { { SC_(0.0), SC_(0.0), SC_(1.0) } },
+ { { SC_(0.0), SC_(1.0), SC_(1.26606587775200833559824462521471753760767031135496220680814) } },
+ { { SC_(0.0), SC_(-2.0), SC_(2.27958530233606726743720444081153335328584110278545905407084) } },
+ { { SC_(0.0), SC_(4.0), SC_(11.3019219521363304963562701832171024974126165944353377060065) } },
+ { { SC_(0.0), SC_(-7.0), SC_(168.593908510289698857326627187500840376522679234531714193194) } },
+ { { SC_(0.0), T(1) / 1024, SC_(1.00000023841859331241759166109699567801556273303717896447683) } },
+ { { SC_(0.0), T(SC_(1.0)) / (1024 * 1024), SC_(1.00000000000022737367544324498417583090700894607432256476338) } },
+ { { SC_(0.0), SC_(-1.0), SC_(1.26606587775200833559824462521471753760767031135496220680814) } },
+ { { SC_(0.0), SC_(100.0), SC_(1.07375170713107382351972085760349466128840319332527279540154e42) } },
+ { { SC_(0.0), SC_(200.0), SC_(2.03968717340972461954167312677945962233267573614834337894328e85) } },
+ } };
+static const boost::array<boost::array<T, 3>, 10> i1_data = { {
+ { { SC_(1.0), SC_(0.0), SC_(0.0) } },
+ { { SC_(1.0), SC_(1.0), SC_(0.565159103992485027207696027609863307328899621621092009480294) } },
+ { { SC_(1.0), SC_(-2.0), SC_(-1.59063685463732906338225442499966624795447815949553664713229) } },
+ { { SC_(1.0), SC_(4.0), SC_(9.75946515370444990947519256731268090005597033325296730692753) } },
+ { { SC_(1.0), SC_(-8.0), SC_(-399.873136782560098219083086145822754889628443904067647306574) } },
+ { { SC_(1.0), T(SC_(1.0)) / 1024, SC_(0.000488281308207663226432087816784315537514225208473395063575150) } },
+ { { SC_(1.0), T(SC_(1.0)) / (1024 * 1024), SC_(4.76837158203179210108624277276025646653133998635956784292029E-7) } },
+ { { SC_(1.0), SC_(-10.0), SC_(-2670.98830370125465434103196677215254914574515378753771310849) } },
+ { { SC_(1.0), SC_(100.0), SC_(1.06836939033816248120614576322429526544612284405623226965918e42) } },
+ { { SC_(1.0), SC_(200.0), SC_(2.03458154933206270342742797713906950389661161681122964159220e85) } },
+ } };
+static const boost::array<boost::array<T, 3>, 11> in_data = { {
+ { { SC_(-2.0), SC_(0.0), SC_(0.0) } },
+ { { SC_(2.0), T(SC_(1.0)) / (1024 * 1024), SC_(1.13686837721624646204093977095674566928522671779753217215467e-13) } },
+ { { SC_(5.0), SC_(10.0), SC_(777.188286403259959907293484802339632852674154572666041953297) } },
+ { { SC_(-5.0), SC_(100.0), SC_(9.47009387303558124618275555002161742321578485033007130107740e41) } },
+ { { SC_(-5.0), SC_(-1.0), SC_(-0.000271463155956971875181073905153777342383564426758143634974124) } },
+ { { SC_(10.0), SC_(20.0), SC_(3.54020020901952109905289138244985607057267103782948493874391e6) } },
+ { { SC_(10.0), SC_(-5.0), SC_(0.00458004441917605126118647027872016953192323139337073320016447) } },
+ { { SC_(1e+02), SC_(9.0), SC_(2.74306601746058997093587654668959071522869282506446891736820e-93) } },
+ { { SC_(1e+02), SC_(80.0), SC_(4.65194832850610205318128191404145885093970505338730540776711e8) } },
+ { { SC_(-100.0), SC_(-200.0), SC_(4.35275044972702191438729017441198257508190719030765213981307e74) } },
+ { { SC_(10.0), SC_(1e-100), SC_(2.69114445546737213403880070546737213403880070546737213403880e-1010) } },
+ } };
+
+int main()
+{
+#include "bessel_i_int_data.ipp"
+
+ add_data(i0_data);
+ add_data(i1_data);
+ add_data(in_data);
+ add_data(bessel_i_int_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::cyl_bessel_i(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::cyl_bessel_i(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_bessel_In(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return bessel_i(v[1], static_cast<int>(v[0]), 1); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "cyl_bessel_i (integer order)[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "cyl_bessel_i (integer order)";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_bessel_i(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_bessel_i(static_cast<int>(v[0]), v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::cyl_bessel_i(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_bessel_In(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return bessel_i(v[1], static_cast<int>(v[0]), 1); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_iv.cpp b/src/boost/libs/math/reporting/performance/test_iv.cpp
new file mode 100644
index 000000000..585c36bb7
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_iv.cpp
@@ -0,0 +1,113 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/bessel.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<T, 3>, 10> iv_data = { {
+ { { SC_(2.25), T(1) / (1024 * 1024), SC_(2.34379212133481347189068464680335815256364262507955635911656e-15) } },
+ { { SC_(5.5), SC_(3.125), SC_(0.0583514045989371500460946536220735787163510569634133670181210) } },
+ { { T(-5) + T(1) / 1024, SC_(2.125), SC_(0.0267920938009571023702933210070984416052633027166975342895062) } },
+ { { SC_(-5.5), SC_(10.0), SC_(597.577606961369169607937419869926705730305175364662688426534) } },
+ { { SC_(-5.5), SC_(100.0), SC_(9.22362906144706871737354069133813819358704200689067071415379e41) } },
+ { { T(-10486074) / (1024 * 1024), T(1) / 1024, SC_(1.41474005665181350367684623930576333542989766867888186478185e35) } },
+ { { T(-10486074) / (1024 * 1024), SC_(50.0), SC_(1.07153277202900671531087024688681954238311679648319534644743e20) } },
+ { { T(144794) / 1024, SC_(100.0), SC_(2066.27694757392660413922181531984160871678224178890247540320) } },
+ { { T(144794) / 1024, SC_(200.0), SC_(2.23699739472246928794922868978337381373643889659337595319774e64) } },
+ { { T(-144794) / 1024, SC_(100.0), SC_(2066.27694672763190927440969155740243346136463461655104698748) } },
+ } };
+static const boost::array<boost::array<T, 3>, 5> iv_large_data = { {
+ // Bug report https://svn.boost.org/trac/boost/ticket/5560:
+ { { SC_(-1.0), static_cast<T>(ldexp(0.5, -512)), SC_(1.86458518280005168582274132886573345934411788365010172356788e-155) } },
+ { { SC_(1.0), static_cast<T>(ldexp(0.5, -512)), SC_(1.86458518280005168582274132886573345934411788365010172356788e-155) } },
+ { { SC_(-1.125), static_cast<T>(ldexp(0.5, -512)), SC_(-1.34963720853101363690381585556234820027343435206156667634081e173) } },
+ { { SC_(1.125), static_cast<T>(ldexp(0.5, -512)), SC_(8.02269390325932403421158766283366891170783955777638875887348e-175) } },
+ { { SC_(0.5), static_cast<T>(ldexp(0.5, -683)), SC_(8.90597649117647254543282704099383321071493400182381039079219e-104) } },
+ } };
+
+int main()
+{
+#include "bessel_i_data.ipp"
+
+ add_data(iv_data);
+ add_data(iv_large_data);
+ add_data(bessel_i_data);
+
+ unsigned data_total = data.size();
+
+ std::cout << "Screening boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::cyl_bessel_i(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return std::tr1::cyl_bessel_i(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening GSL data:\n";
+ screen_data([](const std::vector<double>& v){ return gsl_sf_bessel_Inu(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening GSL data:\n";
+ screen_data([](const std::vector<double>& v){ return bessel_i(v[1], v[0], 1); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "cyl_bessel_i[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "cyl_bessel_i";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_bessel_i(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_bessel_i(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::cyl_bessel_i(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_bessel_Inu(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return bessel_i(v[1], v[0], 1); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_jn.cpp b/src/boost/libs/math/reporting/performance/test_jn.cpp
new file mode 100644
index 000000000..48dee7a1f
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_jn.cpp
@@ -0,0 +1,168 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/bessel.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<typename table_type<T>::type, 3>, 8> j0_data = { {
+ { { SC_(0.0), SC_(0.0), SC_(1.0) } },
+ { { SC_(0.0), SC_(1.0), SC_(0.7651976865579665514497175261026632209093) } },
+ { { SC_(0.0), SC_(-2.0), SC_(0.2238907791412356680518274546499486258252) } },
+ { { SC_(0.0), SC_(4.0), SC_(-0.3971498098638473722865907684516980419756) } },
+ { { SC_(0.0), SC_(-8.0), SC_(0.1716508071375539060908694078519720010684) } },
+ { { SC_(0.0), SC_(1e-05), SC_(0.999999999975000000000156249999999565972) } },
+ { { SC_(0.0), SC_(1e-10), SC_(0.999999999999999999997500000000000000000) } },
+ { { SC_(0.0), SC_(-1e+01), SC_(-0.2459357644513483351977608624853287538296) } },
+ } };
+static const boost::array<boost::array<T, 3>, 6> j0_tricky = { {
+ // Big numbers make the accuracy of std::sin the limiting factor:
+ { { SC_(0.0), SC_(1e+03), SC_(0.02478668615242017456133073111569370878617) } },
+ { { SC_(0.0), SC_(1e+05), SC_(-0.001719201116235972192570601477073201747532) } },
+ // test at the roots:
+ { { SC_(0.0), T(2521642.0) / (1024 * 1024), SC_(1.80208819970046790002973759410972422387259992955354630042138e-7) } },
+ { { SC_(0.0), T(5788221.0) / (1024 * 1024), SC_(-1.37774249380686777043369399806210229535671843632174587432454e-7) } },
+ { { SC_(0.0), T(9074091.0) / (1024 * 1024), SC_(1.03553057441100845081018471279571355857520645127532785991335e-7) } },
+ { { SC_(0.0), T(12364320.0) / (1024 * 1024), SC_(-3.53017140778223781420794006033810387155048392363051866610931e-9) } }
+ } };
+
+static const boost::array<boost::array<typename table_type<T>::type, 3>, 8> j1_data = { {
+ { { SC_(1.0), SC_(0.0), SC_(0.0) } },
+ { { SC_(1.0), SC_(1.0), SC_(0.4400505857449335159596822037189149131274) } },
+ { { SC_(1.0), SC_(-2.0), SC_(-0.5767248077568733872024482422691370869203) } },
+ { { SC_(1.0), SC_(4.0), SC_(-6.604332802354913614318542080327502872742e-02) } },
+ { { SC_(1.0), SC_(-8.0), SC_(-0.2346363468539146243812766515904546115488) } },
+ { { SC_(1.0), SC_(1e-05), SC_(4.999999999937500000000260416666666124132e-06) } },
+ { { SC_(1.0), SC_(1e-10), SC_(4.999999999999999999993750000000000000000e-11) } },
+ { { SC_(1.0), SC_(-1e+01), SC_(-4.347274616886143666974876802585928830627e-02) } },
+ } };
+static const boost::array<boost::array<T, 3>, 5> j1_tricky = { {
+ // Big numbers make the accuracy of std::sin the limiting factor:
+ { { SC_(1.0), SC_(1e+03), SC_(4.728311907089523917576071901216916285418e-03) } },
+ { { SC_(1.0), SC_(1e+05), SC_(1.846757562882567716362123967114215743694e-03) } },
+ // test zeros:
+ { { SC_(1.0), T(4017834) / (1024 * 1024), SC_(3.53149033321258645807835062770856949751958513973522222203044e-7) } },
+ { { SC_(1.0), T(7356375) / (1024 * 1024), SC_(-2.31227973111067286051984021150135526024117175836722748404342e-7) } },
+ { { SC_(1.0), T(10667654) / (1024 * 1024), SC_(1.24591331097191900488116495350277530373473085499043086981229e-7) } },
+ } };
+
+static const boost::array<boost::array<typename table_type<T>::type, 3>, 17> jn_data = { {
+ // This first one is a modified test case from https://svn.boost.org/trac/boost/ticket/2733
+ { { SC_(-1.0), SC_(1.25), SC_(-0.510623260319880467069474837274910375352924050139633057168856) } },
+ { { SC_(2.0), SC_(0.0), SC_(0.0) } },
+ { { SC_(-2.0), SC_(0.0), SC_(0.0) } },
+ { { SC_(2.0), SC_(1e-02), SC_(1.249989583365885362413250958437642113452e-05) } },
+ { { SC_(5.0), SC_(10.0), SC_(-0.2340615281867936404436949416457777864635) } },
+ { { SC_(5.0), SC_(-10.0), SC_(0.2340615281867936404436949416457777864635) } },
+ { { SC_(-5.0), SC_(1e+06), SC_(7.259643842453285052375779970433848914846e-04) } },
+ { { SC_(5.0), SC_(1e+06), SC_(-0.000725964384245328505237577997043384891484649290328285235308619) } },
+ { { SC_(-5.0), SC_(-1.0), SC_(2.497577302112344313750655409880451981584e-04) } },
+ { { SC_(10.0), SC_(10.0), SC_(0.2074861066333588576972787235187534280327) } },
+ { { SC_(10.0), SC_(-10.0), SC_(0.2074861066333588576972787235187534280327) } },
+ { { SC_(10.0), SC_(-5.0), SC_(1.467802647310474131107532232606627020895e-03) } },
+ { { SC_(-10.0), SC_(1e+06), SC_(-3.310793117604488741264958559035744460210e-04) } },
+ { { SC_(10.0), SC_(1e+06), SC_(-0.000331079311760448874126495855903574446020957243277028930713243) } },
+ { { SC_(1e+02), SC_(8e+01), SC_(4.606553064823477354141298259169874909670e-06) } },
+ { { SC_(1e+03), SC_(1e+05), SC_(1.283178112502480365195139312635384057363e-03) } },
+ { { SC_(10.0), SC_(1e-100), SC_(2.69114445546737213403880070546737213403880070546737213403880e-1010) } },
+ } };
+
+
+int main()
+{
+#include "bessel_j_int_data.ipp"
+
+ add_data(j0_data);
+ add_data(j0_tricky);
+ add_data(j1_data);
+ add_data(j1_tricky);
+ add_data(jn_data);
+ add_data(bessel_j_int_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::cyl_bessel_j(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return ::jn(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::cyl_bessel_j(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_bessel_Jn(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return bessel_j(v[1], static_cast<int>(v[0])); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "cyl_bessel_j (integer order)[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "cyl_bessel_j (integer order)";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_bessel_j(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+#if defined(COMPILER_COMPARISON_TABLES)
+ report_execution_time(time, std::string("Compiler Option Comparison on ") + platform_name(), "boost::math::cyl_bessel_j (integer orders)", get_compiler_options_name());
+#else
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+#endif
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_bessel_j(static_cast<int>(v[0]), v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::jn(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "math.h");
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::cyl_bessel_j(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_bessel_Jn(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return bessel_j(v[1], static_cast<int>(v[0])); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_js.cpp b/src/boost/libs/math/reporting/performance/test_js.cpp
new file mode 100644
index 000000000..72438b24f
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_js.cpp
@@ -0,0 +1,80 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/bessel.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+#include "sph_bessel_data.ipp"
+
+ add_data(sph_bessel_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::sph_bessel(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::sph_bessel(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_bessel_jl(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "sph_bessel[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "sph_bessel";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::sph_bessel(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::sph_bessel(static_cast<int>(v[0]), v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::sph_bessel(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_bessel_jl(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_jv.cpp b/src/boost/libs/math/reporting/performance/test_jv.cpp
new file mode 100644
index 000000000..ed6d7abc6
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_jv.cpp
@@ -0,0 +1,119 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/bessel.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<T, 3>, 21> jv_data = { {
+ //SC_(-2.4), {{ SC_(0.0), std::numeric_limits<T>::infinity() }},
+ { { T(22.5), T(0.0), SC_(0.0) } },
+ { { T(2457.0) / 1024, T(1.0) / 1024, SC_(3.80739920118603335646474073457326714709615200130620574875292e-9) } },
+ { { SC_(5.5), T(3217) / 1024, SC_(0.0281933076257506091621579544064767140470089107926550720453038) } },
+ { { SC_(-5.5), T(3217) / 1024, SC_(-2.55820064470647911823175836997490971806135336759164272675969) } },
+ { { SC_(-5.5), SC_(1e+04), SC_(2.449843111985605522111159013846599118397e-03) } },
+ { { SC_(5.5), SC_(1e+04), SC_(0.00759343502722670361395585198154817047185480147294665270646578) } },
+ { { SC_(5.5), SC_(1e+06), SC_(-0.000747424248595630177396350688505919533097973148718960064663632) } },
+ { { SC_(5.125), SC_(1e+06), SC_(-0.000776600124835704280633640911329691642748783663198207360238214) } },
+ { { SC_(5.875), SC_(1e+06), SC_(-0.000466322721115193071631008581529503095819705088484386434589780) } },
+ { { SC_(0.5), SC_(101.0), SC_(0.0358874487875643822020496677692429287863419555699447066226409) } },
+ { { SC_(-5.5), SC_(1e+04), SC_(0.00244984311198560552211115901384659911839737686676766460822577) } },
+ { { SC_(-5.5), SC_(1e+06), SC_(0.000279243200433579511095229508894156656558211060453622750659554) } },
+ { { SC_(-0.5), SC_(101.0), SC_(0.0708184798097594268482290389188138201440114881159344944791454) } },
+ { { T(-10486074) / (1024 * 1024), T(1) / 1024, SC_(1.41474013160494695750009004222225969090304185981836460288562e35) } },
+ { { T(-10486074) / (1024 * 1024), SC_(15.0), SC_(-0.0902239288885423309568944543848111461724911781719692852541489) } },
+ { { T(10486074) / (1024 * 1024), SC_(1e+02), SC_(-0.0547064914615137807616774867984047583596945624129838091326863) } },
+ { { T(10486074) / (1024 * 1024), SC_(2e+04), SC_(-0.00556783614400875611650958980796060611309029233226596737701688) } },
+ { { T(-10486074) / (1024 * 1024), SC_(1e+02), SC_(-0.0547613660316806551338637153942604550779513947674222863858713) } },
+ // Bug report https://svn.boost.org/trac/boost/ticket/4812:
+ { { SC_(1.5), T(8034) / 1024, SC_(0.0339477646369710610146236955872928005087352629422508823945264) } },
+ { { SC_(8.5), boost::math::constants::pi<T>() * 4, SC_(0.0436807946352780974532519564114026730332781693877984686758680) } },
+ { { SC_(-8.5), boost::math::constants::pi<T>() * 4, SC_(-0.257086543428224355151772807588810984369026142375675714560864) } },
+ } };
+
+int main()
+{
+#include "bessel_j_data.ipp"
+#include "bessel_j_large_data.ipp"
+
+ add_data(jv_data);
+ add_data(bessel_j_data);
+ add_data(bessel_j_large_data);
+
+ unsigned data_total = data.size();
+
+ std::cout << "Screening boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::cyl_bessel_j(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return std::tr1::cyl_bessel_j(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return gsl_sf_bessel_Jnu(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return bessel_j(v[1], v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "cyl_bessel_j[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "cyl_bessel_j";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_bessel_j(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_bessel_j(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::cyl_bessel_j(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_bessel_Jnu(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return bessel_j(v[1], v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_kn.cpp b/src/boost/libs/math/reporting/performance/test_kn.cpp
new file mode 100644
index 000000000..e5553cf56
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_kn.cpp
@@ -0,0 +1,123 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/bessel.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<T, 3>, 9> k0_data = { {
+ { { SC_(0.0), SC_(1.0), SC_(0.421024438240708333335627379212609036136219748226660472298970) } },
+ { { SC_(0.0), SC_(2.0), SC_(0.113893872749533435652719574932481832998326624388808882892530) } },
+ { { SC_(0.0), SC_(4.0), SC_(0.0111596760858530242697451959798334892250090238884743405382553) } },
+ { { SC_(0.0), SC_(8.0), SC_(0.000146470705222815387096584408698677921967305368833759024089154) } },
+ { { SC_(0.0), T(std::ldexp(1.0, -15)), SC_(10.5131392267382037062459525561594822400447325776672021972753) } },
+ { { SC_(0.0), T(std::ldexp(1.0, -30)), SC_(20.9103469324567717360787328239372191382743831365906131108531) } },
+ { { SC_(0.0), T(std::ldexp(1.0, -60)), SC_(41.7047623492551310138446473188663682295952219631968830346918) } },
+ { { SC_(0.0), SC_(50.0), SC_(3.41016774978949551392067551235295223184502537762334808993276e-23) } },
+ { { SC_(0.0), SC_(100.0), SC_(4.65662822917590201893900528948388635580753948544211387402671e-45) } },
+ } };
+static const boost::array<boost::array<T, 3>, 9> k1_data = { {
+ { { SC_(1.0), SC_(1.0), SC_(0.601907230197234574737540001535617339261586889968106456017768) } },
+ { { SC_(1.0), SC_(2.0), SC_(0.139865881816522427284598807035411023887234584841515530384442) } },
+ { { SC_(1.0), SC_(4.0), SC_(0.0124834988872684314703841799808060684838415849886258457917076) } },
+ { { SC_(1.0), SC_(8.0), SC_(0.000155369211805001133916862450622474621117065122872616157079566) } },
+ { { SC_(1.0), T(std::ldexp(1.0, -15)), SC_(32767.9998319528316432647441316539139725104728341577594326513) } },
+ { { SC_(1.0), T(std::ldexp(1.0, -30)), SC_(1.07374182399999999003003028572687332810353799544215073362305e9) } },
+ { { SC_(1.0), T(std::ldexp(1.0, -60)), SC_(1.15292150460684697599999999999999998169660198868126604634036e18) } },
+ { { SC_(1.0), SC_(50.0), SC_(3.44410222671755561259185303591267155099677251348256880221927e-23) } },
+ { { SC_(1.0), SC_(100.0), SC_(4.67985373563690928656254424202433530797494354694335352937465e-45) } },
+ } };
+static const boost::array<boost::array<T, 3>, 9> kn_data = { {
+ { { SC_(2.0), T(std::ldexp(1.0, -30)), SC_(2.30584300921369395150000000000000000234841952009593636868109e18) } },
+ { { SC_(5.0), SC_(10.0), SC_(0.0000575418499853122792763740236992723196597629124356739596921536) } },
+ { { SC_(-5.0), SC_(100.0), SC_(5.27325611329294989461777188449044716451716555009882448801072e-45) } },
+ { { SC_(10.0), SC_(10.0), SC_(0.00161425530039067002345725193091329085443750382929208307802221) } },
+ { { SC_(10.0), T(std::ldexp(1.0, -30)), SC_(3.78470202927236255215249281534478864916684072926050665209083e98) } },
+ { { SC_(-10.0), SC_(1.0), SC_(1.80713289901029454691597861302340015908245782948536080022119e8) } },
+ { { SC_(100.0), SC_(5.0), SC_(7.03986019306167654653386616796116726248616158936088056952477e115) } },
+ { { SC_(100.0), SC_(80.0), SC_(8.39287107246490782848985384895907681748152272748337807033319e-12) } },
+ { { SC_(-1000.0), SC_(700.0), SC_(6.51561979144735818903553852606383312984409361984128221539405e-31) } },
+ } };
+
+int main()
+{
+#include "bessel_k_int_data.ipp"
+
+ add_data(k0_data);
+ add_data(k1_data);
+ add_data(kn_data);
+ add_data(bessel_k_int_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::cyl_bessel_k(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::cyl_bessel_k(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_bessel_Kn(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return bessel_k(v[1], static_cast<int>(v[0]), 1); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "cyl_bessel_k (integer order)[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "cyl_bessel_k (integer order)";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_bessel_k(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_bessel_k(static_cast<int>(v[0]), v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::cyl_bessel_k(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_bessel_Kn(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return bessel_k(v[1], static_cast<int>(v[0]), 1); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_kv.cpp b/src/boost/libs/math/reporting/performance/test_kv.cpp
new file mode 100644
index 000000000..8bf691276
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_kv.cpp
@@ -0,0 +1,114 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/bessel.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<T, 3>, 11> kv_data = { {
+ { { SC_(0.5), SC_(0.875), SC_(0.558532231646608646115729767013630967055657943463362504577189) } },
+ { { SC_(0.5), SC_(1.125), SC_(0.383621010650189547146769320487006220295290256657827220786527) } },
+ { { SC_(2.25), T(std::ldexp(1.0, -30)), SC_(5.62397392719283271332307799146649700147907612095185712015604e20) } },
+ { { SC_(5.5), T(3217) / 1024, SC_(1.30623288775012596319554857587765179889689223531159532808379) } },
+ { { SC_(-5.5), SC_(10.0), SC_(0.0000733045300798502164644836879577484533096239574909573072142667) } },
+ { { SC_(-5.5), SC_(100.0), SC_(5.41274555306792267322084448693957747924412508020839543293369e-45) } },
+ { { T(10240) / 1024, T(1) / 1024, SC_(2.35522579263922076203415803966825431039900000000993410734978e38) } },
+ { { T(10240) / 1024, SC_(10.0), SC_(0.00161425530039067002345725193091329085443750382929208307802221) } },
+ { { T(144793) / 1024, SC_(100.0), SC_(1.39565245860302528069481472855619216759142225046370312329416e-6) } },
+ { { T(144793) / 1024, SC_(200.0), SC_(9.11950412043225432171915100042647230802198254567007382956336e-68) } },
+ { { T(-144793) / 1024, SC_(50.0), SC_(1.30185229717525025165362673848737761549946548375142378172956e42) } },
+ } };
+static const boost::array<boost::array<T, 3>, 5> kv_large_data = { {
+ // Bug report https://svn.boost.org/trac/boost/ticket/5560:
+ { { SC_(-1.0), static_cast<T>(ldexp(0.5, -512)), SC_(2.68156158598851941991480499964116922549587316411847867554471e154) } },
+ { { SC_(1.0), static_cast<T>(ldexp(0.5, -512)), SC_(2.68156158598851941991480499964116922549587316411847867554471e154) } },
+ { { SC_(-1.125), static_cast<T>(ldexp(0.5, -512)), SC_(5.53984048006472105611199242328122729730752165907526178753978e173) } },
+ { { SC_(1.125), static_cast<T>(ldexp(0.5, -512)), SC_(5.53984048006472105611199242328122729730752165907526178753978e173) } },
+ { { SC_(0.5), static_cast<T>(ldexp(0.5, -683)), SC_(1.12284149973980088540335945247019177715948513804063794284101e103) } },
+ } };
+
+int main()
+{
+#include "bessel_k_data.ipp"
+
+ add_data(kv_data);
+ add_data(kv_large_data);
+ add_data(bessel_k_data);
+
+ unsigned data_total = data.size();
+
+ std::cout << "Screening boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::cyl_bessel_k(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return std::tr1::cyl_bessel_k(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return gsl_sf_bessel_Knu(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return bessel_k(v[1], v[0], 1); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "cyl_bessel_k[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "cyl_bessel_k";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_bessel_k(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_bessel_k(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::cyl_bessel_k(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_bessel_Knu(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return bessel_k(v[1], v[0], 1); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_laguerre.cpp b/src/boost/libs/math/reporting/performance/test_laguerre.cpp
new file mode 100644
index 000000000..1174e64a4
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_laguerre.cpp
@@ -0,0 +1,81 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/laguerre.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+# include "laguerre2.ipp"
+
+ add_data(laguerre2);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::laguerre(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::laguerre(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_laguerre_n(v[0], 0, v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "laguerre[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "laguerre";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::laguerre(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::laguerre(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::laguerre(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_laguerre_n(v[0], 0, v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_legendre.cpp b/src/boost/libs/math/reporting/performance/test_legendre.cpp
new file mode 100644
index 000000000..27c5e4a0a
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_legendre.cpp
@@ -0,0 +1,82 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/legendre.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+# include "legendre_p.ipp"
+# include "legendre_p_large.ipp"
+
+ add_data(legendre_p);
+ add_data(legendre_p_large);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::legendre_p(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::legendre(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_legendre_Pl(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "legendre[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "legendre";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::legendre_p(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::legendre_p(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::legendre(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_legendre_Pl(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_legendre_q.cpp b/src/boost/libs/math/reporting/performance/test_legendre_q.cpp
new file mode 100644
index 000000000..639ead4d8
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_legendre_q.cpp
@@ -0,0 +1,74 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/legendre.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+# include "legendre_p.ipp"
+# include "legendre_p_large.ipp"
+
+ add_data(legendre_p);
+ add_data(legendre_p_large);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::legendre_q(v[0], v[1]); }, [](const std::vector<double>& v){ return v[3]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_legendre_Ql(v[0], v[1]); }, [](const std::vector<double>& v){ return v[3]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "legendre Q[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "legendre Q";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::legendre_q(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::legendre_q(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_legendre_Ql(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_lgamma.cpp b/src/boost/libs/math/reporting/performance/test_lgamma.cpp
new file mode 100644
index 000000000..1b0c7767e
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_lgamma.cpp
@@ -0,0 +1,98 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/gamma.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+int main()
+{
+ typedef double T;
+#define SC_(x) static_cast<double>(x)
+# include "test_gamma_data.ipp"
+
+ add_data(factorials);
+ add_data(near_0);
+ add_data(near_1);
+ add_data(near_2);
+ add_data(near_m10);
+ add_data(near_m55);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::lgamma(v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return ::lgamma(v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::lgamma(v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_lngamma(v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return lgammafn(v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "lgamma[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "lgamma";
+
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::lgamma(v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::lgamma(v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::lgamma(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "math.h");
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::lgamma(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_lngamma(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return lgammafn(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_log1p.cpp b/src/boost/libs/math/reporting/performance/test_log1p.cpp
new file mode 100644
index 000000000..bdc11f55e
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_log1p.cpp
@@ -0,0 +1,77 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/log1p.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+int main()
+{
+ typedef double T;
+#define SC_(x) static_cast<double>(x)
+# include "../../test/log1p_expm1_data.ipp"
+
+ add_data(log1p_expm1_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::log1p(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return ::log1p(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+#ifdef TEST_LIBSTDCXX && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::log1p(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "log1p[br](" + boost::lexical_cast<std::string>(data_used)+"/" + boost::lexical_cast<std::string>(data_total)+" tests selected)";
+ std::string function_short = "log1p";
+
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::log1p(v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::log1p(v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::log1p(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "math.h");
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::log1p(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_poly_method.cpp b/src/boost/libs/math/reporting/performance/test_poly_method.cpp
new file mode 100644
index 000000000..752447000
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_poly_method.cpp
@@ -0,0 +1,371 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+#define evaluate_polynomial_c_imp evaluate_polynomial_c_imp_1
+#undef BOOST_MATH_TOOLS_POLY_EVAL_20_HPP
+#include <boost/math/tools/detail/polynomial_horner1_20.hpp>
+#undef evaluate_polynomial_c_imp
+#undef BOOST_MATH_TOOLS_POLY_EVAL_20_HPP
+#define evaluate_polynomial_c_imp evaluate_polynomial_c_imp_2
+#include <boost/math/tools/detail/polynomial_horner2_20.hpp>
+#undef evaluate_polynomial_c_imp
+#undef BOOST_MATH_TOOLS_POLY_EVAL_20_HPP
+#define evaluate_polynomial_c_imp evaluate_polynomial_c_imp_3
+#include <boost/math/tools/detail/polynomial_horner3_20.hpp>
+#undef evaluate_polynomial_c_imp
+
+#undef BOOST_MATH_TOOLS_POLY_RAT_20_HPP
+#define evaluate_rational_c_imp evaluate_rational_c_imp_1
+#include <boost/math/tools/detail/rational_horner1_20.hpp>
+#undef evaluate_rational_c_imp
+#undef BOOST_MATH_TOOLS_POLY_RAT_20_HPP
+#define evaluate_rational_c_imp evaluate_rational_c_imp_2
+#include <boost/math/tools/detail/rational_horner2_20.hpp>
+#undef evaluate_rational_c_imp
+#undef BOOST_MATH_TOOLS_RAT_EVAL_20_HPP
+#define evaluate_rational_c_imp evaluate_rational_c_imp_3
+#include <boost/math/tools/detail/rational_horner3_20.hpp>
+#undef evaluate_rational_c_imp
+#undef BOOST_MATH_TOOLS_POLY_RAT_20_HPP
+
+static const double num[21] = {
+ static_cast<double>(56906521.91347156388090791033559122686859L),
+ static_cast<double>(103794043.1163445451906271053616070238554L),
+ static_cast<double>(86363131.28813859145546927288977868422342L),
+ static_cast<double>(43338889.32467613834773723740590533316085L),
+ static_cast<double>(14605578.08768506808414169982791359218571L),
+ static_cast<double>(3481712.15498064590882071018964774556468L),
+ static_cast<double>(601859.6171681098786670226533699352302507L),
+ static_cast<double>(75999.29304014542649875303443598909137092L),
+ static_cast<double>(6955.999602515376140356310115515198987526L),
+ static_cast<double>(449.9445569063168119446858607650988409623L),
+ static_cast<double>(19.51992788247617482847860966235652136208L),
+ static_cast<double>(0.5098416655656676188125178644804694509993L),
+ static_cast<double>(0.006061842346248906525783753964555936883222L),
+ 0.0
+};
+static const double denom[20] = {
+ static_cast<double>(0u),
+ static_cast<double>(39916800u),
+ static_cast<double>(120543840u),
+ static_cast<double>(150917976u),
+ static_cast<double>(105258076u),
+ static_cast<double>(45995730u),
+ static_cast<double>(13339535u),
+ static_cast<double>(2637558u),
+ static_cast<double>(357423u),
+ static_cast<double>(32670u),
+ static_cast<double>(1925u),
+ static_cast<double>(66u),
+ static_cast<double>(1u),
+ 0.0
+};
+static const boost::uint32_t denom_int[20] = {
+ static_cast<boost::uint32_t>(0u),
+ static_cast<boost::uint32_t>(39916800u),
+ static_cast<boost::uint32_t>(120543840u),
+ static_cast<boost::uint32_t>(150917976u),
+ static_cast<boost::uint32_t>(105258076u),
+ static_cast<boost::uint32_t>(45995730u),
+ static_cast<boost::uint32_t>(13339535u),
+ static_cast<boost::uint32_t>(2637558u),
+ static_cast<boost::uint32_t>(357423u),
+ static_cast<boost::uint32_t>(32670u),
+ static_cast<boost::uint32_t>(1925u),
+ static_cast<boost::uint32_t>(66u),
+ static_cast<boost::uint32_t>(1u),
+ 0
+};
+
+std::string make_order_string(int n)
+{
+ std::string result = boost::lexical_cast<std::string>(n);
+ if (result.size() < 2)
+ result.insert(result.begin(), ' ');
+ return result;
+}
+
+void test_poly_1(const boost::integral_constant<int, 1>&)
+{
+}
+
+template <int N>
+void test_poly_1(const boost::integral_constant<int, N>&)
+{
+ test_poly_1(boost::integral_constant<int, N - 1>());
+
+ double time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double result = 0;
+ for (unsigned i = 0; i < 10; ++i)
+ result += boost::math::tools::detail::evaluate_polynomial_c_imp_1(denom, v[0] + i, static_cast<boost::integral_constant<int, N>*>(0));
+ return result;
+ });
+ report_execution_time(time, std::string("Polynomial Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(N), "Method 1[br](Double Coefficients)");
+
+ time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double result = 0;
+ for (unsigned i = 0; i < 10; ++i)
+ result += boost::math::tools::detail::evaluate_polynomial_c_imp_1(denom_int, v[0] + i, static_cast<boost::integral_constant<int, N>*>(0));
+ return result;
+ });
+ report_execution_time(time, std::string("Polynomial Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(N), "Method 1[br](Integer Coefficients)");
+}
+
+
+void test_poly_2(const boost::integral_constant<int, 1>&)
+{
+}
+
+template <int N>
+void test_poly_2(const boost::integral_constant<int, N>&)
+{
+ test_poly_2(boost::integral_constant<int, N - 1>());
+
+ double time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double result = 0;
+ for (unsigned i = 0; i < 10; ++i)
+ result += boost::math::tools::detail::evaluate_polynomial_c_imp_2(denom, v[0] + i, static_cast<boost::integral_constant<int, N>*>(0));
+ return result;
+ });
+ report_execution_time(time, std::string("Polynomial Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(N), "Method 2[br](Double Coefficients)");
+
+ time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double result = 0;
+ for (unsigned i = 0; i < 10; ++i)
+ result += boost::math::tools::detail::evaluate_polynomial_c_imp_2(denom_int, v[0] + i, static_cast<boost::integral_constant<int, N>*>(0));
+ return result;
+ });
+ report_execution_time(time, std::string("Polynomial Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(N), "Method 2[br](Integer Coefficients)");
+}
+
+void test_poly_3(const boost::integral_constant<int, 1>&)
+{
+}
+
+template <int N>
+void test_poly_3(const boost::integral_constant<int, N>&)
+{
+ test_poly_3(boost::integral_constant<int, N - 1>());
+
+ double time = exec_timed_test([](const std::vector<double>& v) { double result = 0;
+ for (unsigned i = 0; i < 10; ++i)
+ result += boost::math::tools::detail::evaluate_polynomial_c_imp_3(denom, v[0] + i, static_cast<boost::integral_constant<int, N>*>(0));
+ return result;
+ });
+ report_execution_time(time, std::string("Polynomial Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(N), "Method 3[br](Double Coefficients)");
+
+ time = exec_timed_test([](const std::vector<double>& v) { double result = 0;
+ for (unsigned i = 0; i < 10; ++i)
+ result += boost::math::tools::detail::evaluate_polynomial_c_imp_3(denom_int, v[0] + i, static_cast<boost::integral_constant<int, N>*>(0));
+ return result;
+ });
+ report_execution_time(time, std::string("Polynomial Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(N), "Method 3[br](Integer Coefficients)");
+}
+
+template <class T, class U>
+U evaluate_polynomial_0(const T* poly, U const& z, std::size_t count)
+{
+ U sum = static_cast<U>(poly[count - 1]);
+ for (int i = static_cast<int>(count) - 2; i >= 0; --i)
+ {
+ sum *= z;
+ sum += static_cast<U>(poly[i]);
+ }
+ return sum;
+}
+
+void test_rat_1(const boost::integral_constant<int, 1>&)
+{
+}
+
+template <int N>
+void test_rat_1(const boost::integral_constant<int, N>&)
+{
+ test_rat_1(boost::integral_constant<int, N - 1>());
+
+ double time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double result = 0;
+ for (unsigned i = 0; i < 10; ++i)
+ result += boost::math::tools::detail::evaluate_rational_c_imp_1(num, denom, v[0] + i, static_cast<boost::integral_constant<int, N>*>(0));
+ return result;
+ });
+ report_execution_time(time, std::string("Rational Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(N), "Method 1[br](Double Coefficients)");
+
+ time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double result = 0;
+ for (unsigned i = 0; i < 10; ++i)
+ result += boost::math::tools::detail::evaluate_rational_c_imp_1(num, denom_int, v[0] + i, static_cast<boost::integral_constant<int, N>*>(0));
+ return result;
+ });
+ report_execution_time(time, std::string("Rational Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(N), "Method 1[br](Integer Coefficients)");
+}
+
+void test_rat_2(const boost::integral_constant<int, 1>&)
+{
+}
+
+template <int N>
+void test_rat_2(const boost::integral_constant<int, N>&)
+{
+ test_rat_2(boost::integral_constant<int, N - 1>());
+
+ double time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double result = 0;
+ for (unsigned i = 0; i < 10; ++i)
+ result += boost::math::tools::detail::evaluate_rational_c_imp_2(num, denom, v[0] + i, static_cast<boost::integral_constant<int, N>*>(0));
+ return result;
+ });
+ report_execution_time(time, std::string("Rational Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(N), "Method 2[br](Double Coefficients)");
+
+ time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double result = 0;
+ for (unsigned i = 0; i < 10; ++i)
+ result += boost::math::tools::detail::evaluate_rational_c_imp_2(num, denom_int, v[0] + i, static_cast<boost::integral_constant<int, N>*>(0));
+ return result;
+ });
+ report_execution_time(time, std::string("Rational Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(N), "Method 2[br](Integer Coefficients)");
+}
+
+void test_rat_3(const boost::integral_constant<int, 1>&)
+{
+}
+
+template <int N>
+void test_rat_3(const boost::integral_constant<int, N>&)
+{
+ test_rat_3(boost::integral_constant<int, N - 1>());
+
+ double time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double result = 0;
+ for (unsigned i = 0; i < 10; ++i)
+ result += boost::math::tools::detail::evaluate_rational_c_imp_3(num, denom, v[0] + i, static_cast<boost::integral_constant<int, N>*>(0));
+ return result;
+ });
+ report_execution_time(time, std::string("Rational Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(N), "Method 3[br](Double Coefficients)");
+
+ time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double result = 0;
+ for (unsigned i = 0; i < 10; ++i)
+ result += boost::math::tools::detail::evaluate_rational_c_imp_3(num, denom_int, v[0] + i, static_cast<boost::integral_constant<int, N>*>(0));
+ return result;
+ });
+ report_execution_time(time, std::string("Rational Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(N), "Method 3[br](Integer Coefficients)");
+}
+
+template <class T, class U, class V>
+V evaluate_rational_0(const T* num, const U* denom, const V& z_, std::size_t count)
+{
+ V z(z_);
+ V s1, s2;
+ if (z <= 1)
+ {
+ s1 = static_cast<V>(num[count - 1]);
+ s2 = static_cast<V>(denom[count - 1]);
+ for (int i = (int)count - 2; i >= 0; --i)
+ {
+ s1 *= z;
+ s2 *= z;
+ s1 += num[i];
+ s2 += denom[i];
+ }
+ }
+ else
+ {
+ z = 1 / z;
+ s1 = static_cast<V>(num[0]);
+ s2 = static_cast<V>(denom[0]);
+ for (unsigned i = 1; i < count; ++i)
+ {
+ s1 *= z;
+ s2 *= z;
+ s1 += num[i];
+ s2 += denom[i];
+ }
+ }
+ return s1 / s2;
+}
+
+
+int main()
+{
+ double val = 0.001;
+ while (val < 1)
+ {
+ std::vector<double> v;
+ v.push_back(val);
+ data.push_back(v);
+ val *= 1.1;
+ }
+
+ for (unsigned i = 3; i <= 20; ++i)
+ {
+ double time = exec_timed_test([&](const std::vector<double>& v) {
+ double result = 0;
+ for (unsigned j = 0; j < 10; ++j)
+ result += evaluate_polynomial_0(denom, v[0] + j, i);
+ return result;
+ });
+ report_execution_time(time, std::string("Polynomial Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(i), "Method 0[br](Double Coefficients)");
+
+ time = exec_timed_test([&](const std::vector<double>& v) {
+ double result = 0;
+ for (unsigned j = 0; j < 10; ++j)
+ result += evaluate_polynomial_0(denom_int, v[0] + j, i);
+ return result;
+ });
+ report_execution_time(time, std::string("Polynomial Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(i), "Method 0[br](Integer Coefficients)");
+ }
+
+ test_poly_1(boost::integral_constant<int, 20>());
+ test_poly_2(boost::integral_constant<int, 20>());
+ test_poly_3(boost::integral_constant<int, 20>());
+
+ for (unsigned i = 3; i <= 20; ++i)
+ {
+ double time = exec_timed_test([&](const std::vector<double>& v) {
+ double result = 0;
+ for (unsigned j = 0; j < 10; ++j)
+ result += evaluate_rational_0(num, denom, v[0] + j, i);
+ return result;
+ });
+ report_execution_time(time, std::string("Rational Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(i), "Method 0[br](Double Coefficients)");
+
+ time = exec_timed_test([&](const std::vector<double>& v) {
+ double result = 0;
+ for (unsigned j = 0; j < 10; ++j)
+ result += evaluate_rational_0(num, denom_int, v[0] + j, i);
+ return result;
+ });
+ report_execution_time(time, std::string("Rational Method Comparison with ") + compiler_name() + std::string(" on ") + platform_name(), "Order " + make_order_string(i), "Method 0[br](Integer Coefficients)");
+ }
+
+ test_rat_1(boost::integral_constant<int, 20>());
+ test_rat_2(boost::integral_constant<int, 20>());
+ test_rat_3(boost::integral_constant<int, 20>());
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_polygamma.cpp b/src/boost/libs/math/reporting/performance/test_polygamma.cpp
new file mode 100644
index 000000000..81ba5686e
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_polygamma.cpp
@@ -0,0 +1,221 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/polygamma.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+typedef double value_type;
+#define SC_(x) static_cast<double>(x)
+ boost::array<boost::array<value_type, 3>, 484> data1 =
+ { {
+ {{ 1, SC_(0.1250000), SC_(65.388133444988034473142999334395961) }}, {{ 1, SC_(2.250000), SC_(0.55732915450711073927131911933522402) }}, {{ 1, SC_(4.375000), SC_(0.25666408805722660683906428275458774) }}, {{ 1, SC_(6.500000), SC_(0.16628453574995823763989666631218566) }}, {{ 1, SC_(8.625000), SC_(0.12292237374423990274075995315923687) }}, {{ 1, SC_(10.75000), SC_(0.097483848201852104395946001854344927) }}, {{ 1, SC_(12.87500), SC_(0.080764208092843621858393487209278638) }}, {{ 1, SC_(15.00000), SC_(0.068938227847683806226155216756371670) }}, {{ 1, SC_(17.12500), SC_(0.060132263162293455894576107399989891) }}, {{ 1, SC_(19.25000), SC_(0.053320703915617277211139745531295189) }}, {{ 1, SC_(21.37500), SC_(0.047895038036916716105500109226810942) }}, {{ 1, SC_(23.50000), SC_(0.043471416266946770249685779030294199) }}, {{ 1, SC_(25.62500), SC_(0.039795743807625238080963836217545550) }}, {{ 1, SC_(27.75000), SC_(0.036693131333593477569076090983653779) }}, {{ 1, SC_(29.87500), SC_(0.034039266877179098641898178094001935) }}, {{ 1, SC_(32.00000), SC_(0.031743366520302090126581680438741427) }}, {{ 1, SC_(34.12500), SC_(0.029737585673522726661363528635488348) }}, {{ 1, SC_(36.25000), SC_(0.027970204614894933106878169214392067) }}, {{ 1, SC_(38.37500), SC_(0.026401106865951764123858232364900665) }}, {{ 1, SC_(40.50000), SC_(0.024998698201356741322280011143883922) }}, {{ 1, SC_(42.62500), SC_(0.023737757818075642720991864115881164) }}, {{ 1, SC_(44.75000), SC_(0.022597908441287364284087900916682571) }}, {{ 1, SC_(46.87500), SC_(0.021562506914486557632388530071308920) }}, {{ 1, SC_(49.00000), SC_(0.020617826354560516060031453062401102) }}, {{ 1, SC_(51.12500), SC_(0.019752444228552790805040230288386135) }}, {{ 1, SC_(53.25000), SC_(0.018956778300513446216011889734099110) }}, {{ 1, SC_(55.37500), SC_(0.018222730375562878627773770314126276) }}, {{ 1, SC_(57.50000), SC_(0.017543409716574620734228673575882677) }}, {{ 1, SC_(59.62500), SC_(0.016912916093398919581541485278641593) }}, {{ 1, SC_(61.75000), SC_(0.016326167985389235938281994221076159) }}, {{ 1, SC_(63.87500), SC_(0.015778765341125640054231784371915358) }}, {{ 1, SC_(66.00000), SC_(0.015266879048806385777045778219279459) }}, {{ 1, SC_(68.12500), SC_(0.014787161242916062152535888615850260) }}, {{ 1, SC_(70.25000), SC_(0.014336672004276912093324664070489886) }}, {{ 1, SC_(72.37500), SC_(0.013912819061256593888508241399678441) }}, {{ 1, SC_(74.50000), SC_(0.013513307879079644573772830117155790) }}, {{ 1, SC_(76.62500), SC_(0.013136100107643257539226305043251166) }}, {{ 1, SC_(78.75000), SC_(0.012779378799112389298746113446648982) }}, {{ 1, SC_(80.87500), SC_(0.012441519142554280549428650598112729) }}, {{ 1, SC_(83.00000), SC_(0.012121063720980953787190412456820037) }}, {{ 1, SC_(85.12500), SC_(0.011816701495952671887865236708275449) }}, {{ 1, SC_(87.25000), SC_(0.011527249880640584213306489206202069) }}, {{ 1, SC_(89.37500), SC_(0.011251639384481213426240562514542477) }}, {{ 1, SC_(91.50000), SC_(0.010988900409103388104670465071922664) }}, {{ 1, SC_(93.62500), SC_(0.010738151851930343087942933225290955) }}, {{ 1, SC_(95.75000), SC_(0.010498591235178571927709342934117247) }}, {{ 1, SC_(97.87500), SC_(0.010269486127251686167359605922136260) }}, {{ 1, SC_(100.0000), SC_(0.010050166663333571395245668465701423) }},
+ {{ 2, SC_(0.1250000), -SC_(1025.7533381181356825956689300565174) }}, {{ 2, SC_(2.250000), -SC_(0.30373993753692033333796717884398989) }}, {{ 2, SC_(4.375000), -SC_(0.065528725397877855792664680804766330) }}, {{ 2, SC_(6.500000), -SC_(0.027587910706876798794117450572831562) }}, {{ 2, SC_(8.625000), -SC_(0.015091062676061564388822078971884395) }}, {{ 2, SC_(10.75000), -SC_(0.0094956196449265900776488965631791775) }}, {{ 2, SC_(12.87500), -SC_(0.0065193261909178260169885198194705291) }}, {{ 2, SC_(15.00000), -SC_(0.0047506027165515547467791223768191188) }}, {{ 2, SC_(17.12500), -SC_(0.0036148020016626802195565448384834283) }}, {{ 2, SC_(19.25000), -SC_(0.0028424250740909855631736845850335535) }}, {{ 2, SC_(21.37500), -SC_(0.0022934967923297751145806065882712900) }}, {{ 2, SC_(23.50000), -SC_(0.0018894667868625909895476094900477678) }}, {{ 2, SC_(25.62500), -SC_(0.0015834924252652953218803111387922996) }}, {{ 2, SC_(27.75000), -SC_(0.0013462349527320363170378913859580860) }}, {{ 2, SC_(29.87500), -SC_(0.0011585598948326545653381467670779893) }}, {{ 2, SC_(32.00000), -SC_(0.0010075567602140907392185110593117265) }}, {{ 2, SC_(34.12500), -SC_(0.00088425886906787461365402045268994574) }}, {{ 2, SC_(36.25000), -SC_(0.00078228136778540401396894643668418462) }}, {{ 2, SC_(38.37500), -SC_(0.00069697797537723210697105880606724159) }}, {{ 2, SC_(40.50000), -SC_(0.00062490237932923289658683588812998732) }}, {{ 2, SC_(42.62500), -SC_(0.00056345469641484389456121935536309197) }}, {{ 2, SC_(44.75000), -SC_(0.00051064374134295093656385520125286421) }}, {{ 2, SC_(46.87500), -SC_(0.00046492369550612086723038302919171885) }}, {{ 2, SC_(49.00000), -SC_(0.00042507970884222510504308867471824948) }}, {{ 2, SC_(51.12500), -SC_(0.00039014637079445100439645401142194535) }}, {{ 2, SC_(53.25000), -SC_(0.00035934868438211062777790080207505881) }}, {{ 2, SC_(55.37500), -SC_(0.00033205871518117505559928737076624192) }}, {{ 2, SC_(57.50000), -SC_(0.00030776333242771756953580263456220628) }}, {{ 2, SC_(59.62500), -SC_(0.00028603991345613245802207114123372414) }}, {{ 2, SC_(61.75000), -SC_(0.00026653784162151616772904552992231739) }}, {{ 2, SC_(63.87500), -SC_(0.00024896427102287300629668349085350311) }}, {{ 2, SC_(66.00000), -SC_(0.00023307306946180321476975587412226332) }}, {{ 2, SC_(68.12500), -SC_(0.00021865615382096049855997233359992101) }}, {{ 2, SC_(70.25000), -SC_(0.00020553664405312492990454318541834320) }}, {{ 2, SC_(72.37500), -SC_(0.00019356341228034103704385457246984425) }}, {{ 2, SC_(74.50000), -SC_(0.00018260671130395075946075978013398780) }}, {{ 2, SC_(76.62500), -SC_(0.00017255464497899193114313963889049197) }}, {{ 2, SC_(78.75000), -SC_(0.00016331030013937037094502788633900241) }}, {{ 2, SC_(80.87500), -SC_(0.00015478940207215993505449988937898640) }}, {{ 2, SC_(83.00000), -SC_(0.00014691838710034332570083901051760808) }}, {{ 2, SC_(85.12500), -SC_(0.00013963280957351165370765015817038278) }}, {{ 2, SC_(87.25000), -SC_(0.00013287601856558888563037791437997733) }}, {{ 2, SC_(89.37500), -SC_(0.00012659805332837531702241737466058293) }}, {{ 2, SC_(91.50000), -SC_(0.00012075471712784846612240303590084686) }}, {{ 2, SC_(93.62500), -SC_(0.00011530679728326736002584104318350829) }}, {{ 2, SC_(95.75000), -SC_(0.00011021940561565095981861374083495299) }}, {{ 2, SC_(97.87500), -SC_(0.00010546141852085692313553484671110170) }}, {{ 2, SC_(100.0000), -SC_(0.00010100499983334999700083300446059382) }},
+ {{ 3, SC_(0.1250000), SC_(24580.143419063566218511004446647010) }},
+ {{ 3, SC_(2.250000), SC_(0.32454400918839602279124382903505677) }},
+ {{ 3, SC_(4.375000), SC_(0.033289201205556512286673394063908247) }},
+ {{ 3, SC_(6.500000), SC_(0.0091336635043781405048050655353658508) }},
+ {{ 3, SC_(8.625000), SC_(0.0037008460120616755687668778806054328) }},
+ {{ 3, SC_(10.75000), SC_(0.0018484328773891268475922730275004208) }},
+ {{ 3, SC_(12.87500), SC_(0.0010519186241203463873018930415985105) }},
+ {{ 3, SC_(15.00000), SC_(0.00065447977828273734841733708901750530) }},
+ {{ 3, SC_(17.12500), SC_(0.00043447135395979214393136263736764201) }},
+ {{ 3, SC_(19.25000), SC_(0.00030297696415718385912539504824566570) }},
+ {{ 3, SC_(21.37500), SC_(0.00021961042047214603636739002880115737) }},
+ {{ 3, SC_(23.50000), SC_(0.00016422394665239820056068884910278128) }},
+ {{ 3, SC_(25.62500), SC_(0.00012599930135391694524067581601102767) }},
+ {{ 3, SC_(27.75000), SC_(0.000098773010741268191080883613389009048) }},
+ {{ 3, SC_(29.87500), SC_(0.000078857844307768334137453508928722671) }},
+ {{ 3, SC_(32.00000), SC_(0.000063955754777976299576673673574642423) }},
+ {{ 3, SC_(34.12500), SC_(0.000052583702941352521813139097855885393) }},
+ {{ 3, SC_(36.25000), SC_(0.000043755438122384003302367816109980192) }},
+ {{ 3, SC_(38.37500), SC_(0.000036797707573246758497786056137200200) }},
+ {{ 3, SC_(40.50000), SC_(0.000031240239710655936422248716017582946) }},
+ {{ 3, SC_(42.62500), SC_(0.000026747791378195202271687207455056302) }},
+ {{ 3, SC_(44.75000), SC_(0.000023076997706632396178157160717335565) }},
+ {{ 3, SC_(46.87500), SC_(0.000020048287815935784161580614536631137) }},
+ {{ 3, SC_(49.00000), SC_(0.000017527197874026635143654793647828466) }},
+ {{ 3, SC_(51.12500), SC_(0.000015411686998050652806770684541876757) }},
+ {{ 3, SC_(53.25000), SC_(0.000013623370966529973793708331754693666) }},
+ {{ 3, SC_(55.37500), SC_(0.000012101363299593660023105041673385376) }},
+ {{ 3, SC_(57.50000), SC_(0.000010797882726896889062768134787291884) }},
+ {{ 3, SC_(59.62500), SC_(9.6750769605707758334815857396558355e-6) }},
+ {{ 3, SC_(61.75000), SC_(8.7026966259856900409582330070865268e-6) }},
+ {{ 3, SC_(63.87500), SC_(7.8563716857343030149244371160376495e-6) }},
+ {{ 3, SC_(66.00000), SC_(7.1163203299934132027680033779014197e-6) }},
+ {{ 3, SC_(68.12500), SC_(6.4663719906627627544882175944382226e-6) }},
+ {{ 3, SC_(70.25000), SC_(5.8932210515208497328937862935232496e-6) }},
+ {{ 3, SC_(72.37500), SC_(5.3858517367657111634358444590928906e-6) }},
+ {{ 3, SC_(74.50000), SC_(4.9350912436686398240670814427342376e-6) }},
+ {{ 3, SC_(76.62500), SC_(4.5332598242018110991734569100539592e-6) }},
+ {{ 3, SC_(78.75000), SC_(4.1738947808706992483423293125251133e-6) }},
+ {{ 3, SC_(80.87500), SC_(3.8515312659502461861484363442184908e-6) }},
+ {{ 3, SC_(83.00000), SC_(3.5615270636518630626786644585266764e-6) }},
+ {{ 3, SC_(85.12500), SC_(3.2999216708248315372665461067377996e-6) }},
+ {{ 3, SC_(87.25000), SC_(3.0633223042636924720337703682152499e-6) }},
+ {{ 3, SC_(89.37500), SC_(2.8488111819903247190925375784544775e-6) }},
+ {{ 3, SC_(91.50000), SC_(2.6538697141941088454844912572034392e-6) }},
+ {{ 3, SC_(93.62500), SC_(2.4763162120667457234467192228222670e-6) }},
+ {{ 3, SC_(95.75000), SC_(2.3142544621402797124759791203351867e-6) }},
+ {{ 3, SC_(97.87500), SC_(2.1660310796121506708372890790676070e-6) }},
+ {{ 3, SC_(100.0000), SC_(2.0301999900013330334332872946449855e-6) }},
+
+ {{4, SC_(0.1250000), SC_(-786445.98543106378579320120709638297)}}, {{ 4, SC_(2.250000), SC_(-0.51106863793373355822715252195899576) }}, {{ 4, SC_(4.375000), SC_(-0.025241882074562753654505456518792508) }}, {{ 4, SC_(6.500000), SC_(-0.0045259302803220607103496010172883494) }}, {{ 4, SC_(8.625000), SC_(-0.0013596929106556359886012273921730071) }}, {{ 4, SC_(10.75000), SC_(-0.00053930828860547053427689740051604949) }}, {{ 4, SC_(12.87500), SC_(-0.00025445997266103206171225355293726865) }}, {{ 4, SC_(15.00000), SC_(-0.00013519619187519276575068431301221388) }}, {{ 4, SC_(17.12500), SC_(-0.000078306716822025065793290599586946118) }}, {{ 4, SC_(19.25000), SC_(-0.000048430513924395561509999792045098081) }}, {{ 4, SC_(21.37500), SC_(-0.000031536705873201397805285969259914559) }}, {{ 4, SC_(23.50000), SC_(-0.000021407049050977062373311093992814121) }}, {{ 4, SC_(25.62500), SC_(-0.000015036764178343754461565939319516893) }}, {{ 4, SC_(27.75000), SC_(-0.000010869219781124567432001391245344089) }}, {{ 4, SC_(29.87500), SC_(-8.0504604926168752698902834477348881e-6) }}, {{ 4, SC_(32.00000), SC_(-6.0889806370027137702207132674152980e-6) }}, {{ 4, SC_(34.12500), SC_(-4.6901011823268163094417546531023856e-6) }}, {{ 4, SC_(36.25000), SC_(-3.6708283086618325558290000911536581e-6) }}, {{ 4, SC_(38.37500), SC_(-2.9139932244650290336213711603586301e-6) }}, {{ 4, SC_(40.50000), SC_(-2.3425302303691304543510535971847968e-6) }}, {{ 4, SC_(42.62500), SC_(-1.9045296486050512642801504306671373e-6) }}, {{ 4, SC_(44.75000), SC_(-1.5642760453399369047824852836708697e-6) }}, {{ 4, SC_(46.87500), SC_(-1.2967233822729326645555539185332769e-6) }}, {{ 4, SC_(49.00000), SC_(-1.0840030171141394983603065427611252e-6) }}, {{ 4, SC_(51.12500), SC_(-9.1316643010960703020517255319750485e-7) }}, {{ 4, SC_(53.25000), SC_(-7.7469609700462921021995856208285815e-7) }}, {{ 4, SC_(55.37500), SC_(-6.6150474476547305805911346012045165e-7) }}, {{ 4, SC_(57.50000), SC_(-5.6825133351570053043820949353677183e-7) }}, {{ 4, SC_(59.62500), SC_(-4.9086620236193161135912086142572580e-7) }}, {{ 4, SC_(61.75000), SC_(-4.2621666772058776224801114961267801e-7) }}, {{ 4, SC_(63.87500), SC_(-3.7186839586672891333608898041067112e-7) }}, {{ 4, SC_(66.00000), SC_(-3.2591301914111222705427951896642626e-7) }}, {{ 4, SC_(68.12500), SC_(-2.8684217920848561693233665614958777e-7) }}, {{ 4, SC_(70.25000), SC_(-2.5345451083204479337777798526354757e-7) }}, {{ 4, SC_(72.37500), SC_(-2.2478626654835416271537021644553013e-7) }}, {{ 4, SC_(74.50000), SC_(-2.0005909073946645851596541397664333e-7) }}, {{ 4, SC_(76.62500), SC_(-1.7864035957298817513241281766878220e-7) }}, {{ 4, SC_(78.75000), SC_(-1.6001281551287093216803849072235519e-7) }}, {{ 4, SC_(80.87500), SC_(-1.4375113796429048125939526070340983e-7) }}, {{ 4, SC_(83.00000), SC_(-1.2950373350296884735201964028079076e-7) }}, {{ 4, SC_(85.12500), SC_(-1.1697848507486443027254417751822546e-7) }}, {{ 4, SC_(87.25000), SC_(-1.0593152651055065213702117539700727e-7) }}, {{ 4, SC_(89.37500), SC_(-9.6158345290200883062520858433963680e-8) }}, {{ 4, SC_(91.50000), SC_(-8.7486689164653963817234101603388082e-8) }}, {{ 4, SC_(93.62500), SC_(-7.9770879280803145900384972987304463e-8) }}, {{ 4, SC_(95.75000), SC_(-7.2887226653828502529665531368895369e-8) }}, {{ 4, SC_(97.87500), SC_(-6.6730319180606630829991063550458595e-8) }}, {{ 4, SC_(100.0000), SC_(-6.1209999300119967012993094755881001e-8) }},
+ {{ 9, SC_(0.1250000), SC_(3.8963943320506514766700086867372762e14) }}, {{ 9, SC_(2.250000), SC_(112.10537259293726188704511169205760) }}, {{ 9, SC_(4.375000), SC_(0.16363919906361224458550935569570297) }}, {{ 9, SC_(6.500000), SC_(0.0036236228486465262827554601212241334) }}, {{ 9, SC_(8.625000), SC_(0.00024724827512609608284324030730925865) }}, {{ 9, SC_(10.75000), SC_(0.000031173409615380334086095590039151370) }}, {{ 9, SC_(12.87500), SC_(5.7824557132102074668570643058203530e-6) }}, {{ 9, SC_(15.00000), SC_(1.3980855499116564037825647833211369e-6) }}, {{ 9, SC_(17.12500), SC_(4.1002910484982160273499509487840966e-7) }}, {{ 9, SC_(19.25000), SC_(1.3928434419796988121776758599785632e-7) }}, {{ 9, SC_(21.37500), SC_(5.3108201638858702713365922453188085e-8) }}, {{ 9, SC_(23.50000), SC_(2.2228120959414339842295401083512930e-8) }}, {{ 9, SC_(25.62500), SC_(1.0046019155325212007574589173916857e-8) }}, {{ 9, SC_(27.75000), SC_(4.8421087709589697640039499715706350e-9) }}, {{ 9, SC_(29.87500), SC_(2.4651114661905897591489828702449678e-9) }}, {{ 9, SC_(32.00000), SC_(1.3154897461853304542190391130140025e-9) }}, {{ 9, SC_(34.12500), SC_(7.3134444425276046658844002904667737e-10) }}, {{ 9, SC_(36.25000), SC_(4.2146721224691157996140805304942419e-10) }}, {{ 9, SC_(38.37500), SC_(2.5073387292785072270991813660631786e-10) }}, {{ 9, SC_(40.50000), SC_(1.5344896969374692327054949367251260e-10) }}, {{ 9, SC_(42.62500), SC_(9.6326225603670754883495513330468241e-11) }}, {{ 9, SC_(44.75000), SC_(6.1868579168628392331266656512721531e-11) }}, {{ 9, SC_(46.87500), SC_(4.0570340164556015067828668493424902e-11) }}, {{ 9, SC_(49.00000), SC_(2.7111471879948743580114339016340155e-11) }}, {{ 9, SC_(51.12500), SC_(1.8433178567812423799249519881074934e-11) }}, {{ 9, SC_(53.25000), SC_(1.2733080158190412770374826663936684e-11) }}, {{ 9, SC_(55.37500), SC_(8.9250208887659481803261595053553675e-12) }}, {{ 9, SC_(57.50000), SC_(6.3408264036510339424452353875188095e-12) }}, {{ 9, SC_(59.62500), SC_(4.5615718874164287974321379689375635e-12) }}, {{ 9, SC_(61.75000), SC_(3.3199519699896432328216923633601725e-12) }}, {{ 9, SC_(63.87500), SC_(2.4426063512782352683767956278168985e-12) }}, {{ 9, SC_(66.00000), SC_(1.8153877149006577317987652651306379e-12) }}, {{ 9, SC_(68.12500), SC_(1.3620688165735114474674715908706633e-12) }}, {{ 9, SC_(70.25000), SC_(1.0310696339614726306516051424066462e-12) }}, {{ 9, SC_(72.37500), SC_(7.8705425492600705644491688042239872e-13) }}, {{ 9, SC_(74.50000), SC_(6.0553290145315817804599098427153448e-13) }}, {{ 9, SC_(76.62500), SC_(4.6934676954218461465393390444338856e-13) }}, {{ 9, SC_(78.75000), SC_(3.6634942521175284527379986400237305e-13) }}, {{ 9, SC_(80.87500), SC_(2.8785887689513567008615786864512179e-13) }}, {{ 9, SC_(83.00000), SC_(2.2761232508374172373558791779207099e-13) }}, {{ 9, SC_(85.12500), SC_(1.8105271275784390697733304142062576e-13) }}, {{ 9, SC_(87.25000), SC_(1.4483676610519321733096991924616972e-13) }}, {{ 9, SC_(89.37500), SC_(1.1649247346426341778218700567243322e-13) }}, {{ 9, SC_(91.50000), SC_(9.4178413859615655080323473554582586e-14) }}, {{ 9, SC_(93.62500), SC_(7.6513170761508530170189422972149840e-14) }}, {{ 9, SC_(95.75000), SC_(6.2453415533716351149737976646666822e-14) }}, {{ 9, SC_(97.87500), SC_(5.1206083919072129278059542340974138e-14) }}, {{ 9, SC_(100.0000), SC_(4.2164633350081151607323910418414347e-14) }},
+ {{ SC_(12.0), SC_(0.1250000), SC_(-2.6333391446175784623707514121843937e20) }}, {{ SC_(12.0), SC_(2.250000), SC_(-12755.934552347367694976392995238872) }}, {{ SC_(12.0), SC_(4.375000), SC_(-2.3995726885358590731215736760290659) }}, {{ SC_(12.0), SC_(6.500000), SC_(-0.015498964669830504389631890538267195) }}, {{ SC_(12.0), SC_(8.625000), SC_(-0.00043875188128348404126256495384460962) }}, {{ SC_(12.0), SC_(10.75000), SC_(-0.000027944407762544917990491373502083128) }}, {{ SC_(12.0), SC_(12.87500), SC_(-2.9683309167523389772660608703858297e-6) }}, {{ SC_(12.0), SC_(15.00000), SC_(-4.4822030612790888239848346241379762e-7) }}, {{ SC_(12.0), SC_(17.12500), SC_(-8.7479493941258027953346726543995677e-8) }}, {{ SC_(12.0), SC_(19.25000), SC_(-2.0757514198487629655709801633624060e-8) }}, {{ SC_(12.0), SC_(21.37500), SC_(-5.7438353740388980670397346200747331e-9) }}, {{ SC_(12.0), SC_(23.50000), SC_(-1.7993432749405246733914335090978470e-9) }}, {{ SC_(12.0), SC_(25.62500), SC_(-6.2435444143873592979499739047338207e-10) }}, {{ SC_(12.0), SC_(27.75000), SC_(-2.3603187097640550778749196581740161e-10) }}, {{ SC_(12.0), SC_(29.87500), SC_(-9.5975541975412793814120279791068637e-11) }}, {{ SC_(12.0), SC_(32.00000), SC_(-4.1552035282000578511439617844316334e-11) }}, {{ SC_(12.0), SC_(34.12500), SC_(-1.8998432787826251814581286958206123e-11) }}, {{ SC_(12.0), SC_(36.25000), SC_(-9.1125382347537588010833133716666482e-12) }}, {{ SC_(12.0), SC_(38.37500), SC_(-4.5599501480319696078145812150042737e-12) }}, {{ SC_(12.0), SC_(40.50000), SC_(-2.3695979124099134723655912747303232e-12) }}, {{ SC_(12.0), SC_(42.62500), SC_(-1.2737626539048915719376237689570656e-12) }}, {{ SC_(12.0), SC_(44.75000), SC_(-7.0592220046106837677774762353832582e-13) }}, {{ SC_(12.0), SC_(46.87500), SC_(-4.0219605264396476495155503895759108e-13) }}, {{ SC_(12.0), SC_(49.00000), SC_(-2.3499370395545407582624144041709511e-13) }}, {{ SC_(12.0), SC_(51.12500), SC_(-1.4049959061173089543038862427082956e-13) }}, {{ SC_(12.0), SC_(53.25000), SC_(-8.5797116983505159074486972598899288e-14) }}, {{ SC_(12.0), SC_(55.37500), SC_(-5.3422568073471069670219359482696794e-14) }}, {{ SC_(12.0), SC_(57.50000), SC_(-3.3867985175935679891876577636637264e-14) }}, {{ SC_(12.0), SC_(59.62500), SC_(-2.1832074877153446073077836903455745e-14) }}, {{ SC_(12.0), SC_(61.75000), SC_(-1.4293240909063248751348970309438269e-14) }}, {{ SC_(12.0), SC_(63.87500), SC_(-9.4937480883301538244379833116307891e-15) }}, {{ SC_(12.0), SC_(66.00000), SC_(-6.3914967852421984438071853365851405e-15) }}, {{ SC_(12.0), SC_(68.12500), SC_(-4.3576413857619763879519099830883388e-15) }}, {{ SC_(12.0), SC_(70.25000), SC_(-3.0063897012087057369199810835484853e-15) }}, {{ SC_(12.0), SC_(72.37500), SC_(-2.0973711510201259912443465435969711e-15) }}, {{ SC_(12.0), SC_(74.50000), SC_(-1.4786311290892013378232248983192765e-15) }}, {{ SC_(12.0), SC_(76.62500), SC_(-1.0527885762581410791135439292370286e-15) }}, {{ SC_(12.0), SC_(78.75000), SC_(-7.5662859409010038912157660753875556e-16) }}, {{ SC_(12.0), SC_(80.87500), SC_(-5.4861427907366815368388985862444385e-16) }}, {{ SC_(12.0), SC_(83.00000), SC_(-4.0113795601837316346341436637916290e-16) }}, {{ SC_(12.0), SC_(85.12500), SC_(-2.9564974628089487210535317533851159e-16) }}, {{ SC_(12.0), SC_(87.25000), SC_(-2.1955682892705039626630737602169576e-16) }}, {{ SC_(12.0), SC_(89.37500), SC_(-1.6422644673043790572542870203840550e-16) }}, {{ SC_(12.0), SC_(91.50000), SC_(-1.2368534305097629421391380808602245e-16) }}, {{ SC_(12.0), SC_(93.62500), SC_(-9.3763732289494543868014071205929613e-17) }}, {{ SC_(12.0), SC_(95.75000), SC_(-7.1526151114554258090139227356676697e-17) }}, {{ SC_(12.0), SC_(97.87500), SC_(-5.4889394969371742548386275256109609e-17) }}, {{ SC_(12.0), SC_(100.0000), SC_(-4.2363681689608104413899863907775333e-17) }},
+ {{ SC_(21.0), SC_(0.1250000), SC_(3.7698461389048740847200205590867822e39) }}, {{ SC_(21.0), SC_(2.250000), SC_(9.1298158507949915159597719407312508e11) }}, {{ SC_(21.0), SC_(4.375000), SC_(408886.47063811418290988174462904689) }}, {{ SC_(21.0), SC_(6.500000), SC_(69.783498668647519157069128850360732) }}, {{ SC_(21.0), SC_(8.625000), SC_(0.14574011463957290617412866498392900) }}, {{ SC_(21.0), SC_(10.75000), SC_(0.0012181648740805635977027563578320036) }}, {{ SC_(21.0), SC_(12.87500), SC_(0.000024558760763169978336155197432207549) }}, {{ SC_(21.0), SC_(15.00000), SC_(9.0946144696294632279197453808024020e-7) }}, {{ SC_(21.0), SC_(17.12500), SC_(5.2548180764045016519118256734019257e-8) }}, {{ SC_(21.0), SC_(19.25000), SC_(4.2632373548174335144878212855377856e-9) }}, {{ SC_(21.0), SC_(21.37500), SC_(4.5191821412507380972584044138294203e-10) }}, {{ SC_(21.0), SC_(23.50000), SC_(5.9459999472668271337052481421711044e-11) }}, {{ SC_(21.0), SC_(25.62500), SC_(9.3494613148584596286144185433362367e-12) }}, {{ SC_(21.0), SC_(27.75000), SC_(1.7071269974977763414024284983419274e-12) }}, {{ SC_(21.0), SC_(29.87500), SC_(3.5397471216602229335658443914126577e-13) }}, {{ SC_(21.0), SC_(32.00000), SC_(8.1890165923201938880286772740175496e-14) }}, {{ SC_(21.0), SC_(34.12500), SC_(2.0838387642645373192280813068168954e-14) }}, {{ SC_(21.0), SC_(36.25000), SC_(5.7652633708208411748169589666923627e-15) }}, {{ SC_(21.0), SC_(38.37500), SC_(1.7175814132832512497760866952875142e-15) }}, {{ SC_(21.0), SC_(40.50000), SC_(5.4658871187824521586899247607212215e-16) }}, {{ SC_(21.0), SC_(42.62500), SC_(1.8454073409395762586978128093893739e-16) }}, {{ SC_(21.0), SC_(44.75000), SC_(6.5718894398363114531765518843039215e-17) }}, {{ SC_(21.0), SC_(46.87500), SC_(2.4563292426503881973678226160508883e-17) }}, {{ SC_(21.0), SC_(49.00000), SC_(9.5940884241955097871390055431773988e-18) }}, {{ SC_(21.0), SC_(51.12500), SC_(3.9012613551839347983144664217896505e-18) }}, {{ SC_(21.0), SC_(53.25000), SC_(1.6460967024588312755378806948280578e-18) }}, {{ SC_(21.0), SC_(55.37500), SC_(7.1860306265059509271853406338496567e-19) }}, {{ SC_(21.0), SC_(57.50000), SC_(3.2373123407072660945448849676538922e-19) }}, {{ SC_(21.0), SC_(59.62500), SC_(1.5015620637437584782988688648328655e-19) }}, {{ SC_(21.0), SC_(61.75000), SC_(7.1560282337372458319334209159595311e-20) }}, {{ SC_(21.0), SC_(63.87500), SC_(3.4975910507684158405937390693690592e-20) }}, {{ SC_(21.0), SC_(66.00000), SC_(1.7502964214288619731071110181806997e-20) }}, {{ SC_(21.0), SC_(68.12500), SC_(8.9546013195046736291336879943433535e-21) }}, {{ SC_(21.0), SC_(70.25000), SC_(4.6771364193808931649132626805767700e-21) }}, {{ SC_(21.0), SC_(72.37500), SC_(2.4909977030434827195554109631354701e-21) }}, {{ SC_(21.0), SC_(74.50000), SC_(1.3512434774057027230504407213596735e-21) }}, {{ SC_(21.0), SC_(76.62500), SC_(7.4577901408689598214597184764730976e-22) }}, {{ SC_(21.0), SC_(78.75000), SC_(4.1839783582393157943543388920119532e-22) }}, {{ SC_(21.0), SC_(80.87500), SC_(2.3839167824682948660923670294251560e-22) }}, {{ SC_(21.0), SC_(83.00000), SC_(1.3783660126553262954802012537509343e-22) }}, {{ SC_(21.0), SC_(85.12500), SC_(8.0813880329362090238603817798156305e-23) }}, {{ SC_(21.0), SC_(87.25000), SC_(4.8012632134261346749651412145722164e-23) }}, {{ SC_(21.0), SC_(89.37500), SC_(2.8886517006206031302171279370237901e-23) }}, {{ SC_(21.0), SC_(91.50000), SC_(1.7589221011224124901492492436031577e-23) }}, {{ SC_(21.0), SC_(93.62500), SC_(1.0833513342557474766046276358625049e-23) }}, {{ SC_(21.0), SC_(95.75000), SC_(6.7458879620191471687975317800222219e-24) }}, {{ SC_(21.0), SC_(97.87500), SC_(4.2446964227424748308143188339893397e-24) }}, {{ SC_(21.0), SC_(100.0000), SC_(2.6977147877389616650544376447910561e-24) }},
+ {{ SC_(30.0), SC_(0.1250000), SC_(-2.6269370855717061268373196091559060e60) }}, {{ SC_(30.0), SC_(2.250000), SC_(-3.2063201132225624894497621128724710e21) }}, {{ SC_(30.0), SC_(4.375000), SC_(-3.5816122065666942298125086110013811e12) }}, {{ SC_(30.0), SC_(6.500000), SC_(-1.6926495147567915305098150929608351e7) }}, {{ SC_(30.0), SC_(8.625000), SC_(-2691.9893080722988179729741180559768) }}, {{ SC_(30.0), SC_(10.75000), SC_(-3.0129827880548721952335149662772758) }}, {{ SC_(30.0), SC_(12.87500), SC_(-0.011679541591944513522798667560485778) }}, {{ SC_(30.0), SC_(15.00000), SC_(-0.00010699799160744992062995477402482814) }}, {{ SC_(30.0), SC_(17.12500), SC_(-1.8412916811312822615145612742242341e-6) }}, {{ SC_(30.0), SC_(19.25000), SC_(-5.1296809753659048984675389168991678e-8) }}, {{ SC_(30.0), SC_(21.37500), SC_(-2.0897092756900426602247473552496515e-9) }}, {{ SC_(30.0), SC_(23.50000), SC_(-1.1575741931670926101304469613657363e-10) }}, {{ SC_(30.0), SC_(25.62500), SC_(-8.2634766034599236789755939810493909e-12) }}, {{ SC_(30.0), SC_(27.75000), SC_(-7.2982420192371959627923444899651880e-13) }}, {{ SC_(30.0), SC_(29.87500), SC_(-7.7259330615365968247618603604357394e-14) }}, {{ SC_(30.0), SC_(32.00000), SC_(-9.5598830564651701596127591449043084e-15) }}, {{ SC_(30.0), SC_(34.12500), SC_(-1.3549801683291963236022185422404195e-15) }}, {{ SC_(30.0), SC_(36.25000), SC_(-2.1637420158752325246771018243486794e-16) }}, {{ SC_(30.0), SC_(38.37500), SC_(-3.8399012944498044530335003629202925e-17) }}, {{ SC_(30.0), SC_(40.50000), SC_(-7.4867790463777103523228388855693400e-18) }}, {{ SC_(30.0), SC_(42.62500), SC_(-1.5882468053156791511681017429675896e-18) }}, {{ SC_(30.0), SC_(44.75000), SC_(-3.6357619494056634364065401737558109e-19) }}, {{ SC_(30.0), SC_(46.87500), SC_(-8.9173782150303341835362824820507660e-20) }}, {{ SC_(30.0), SC_(49.00000), SC_(-2.3289849068324860513642836089935388e-20) }}, {{ SC_(30.0), SC_(51.12500), SC_(-6.4424396179339080523684393804219419e-21) }}, {{ SC_(30.0), SC_(53.25000), SC_(-1.8786312072016996388558435362347671e-21) }}, {{ SC_(30.0), SC_(55.37500), SC_(-5.7508919690939180263189604207862429e-22) }}, {{ SC_(30.0), SC_(57.50000), SC_(-1.8413295011736722141223685570224223e-22) }}, {{ SC_(30.0), SC_(59.62500), SC_(-6.1461867250080302453576793713083061e-23) }}, {{ SC_(30.0), SC_(61.75000), SC_(-2.1324740914631425269500808021967305e-23) }}, {{ SC_(30.0), SC_(63.87500), SC_(-7.6704605421877601246419439338550908e-24) }}, {{ SC_(30.0), SC_(66.00000), SC_(-2.8535639781622817027659809125071790e-24) }}, {{ SC_(30.0), SC_(68.12500), SC_(-1.0955940788660649214956488504913491e-24) }}, {{ SC_(30.0), SC_(70.25000), SC_(-4.3327278415671627426087404900842932e-25) }}, {{ SC_(30.0), SC_(72.37500), SC_(-1.7617839186667213519985857533371320e-25) }}, {{ SC_(30.0), SC_(74.50000), SC_(-7.3539453800410337613851853725254145e-26) }}, {{ SC_(30.0), SC_(76.62500), SC_(-3.1464535209737263958150922875079198e-26) }}, {{ SC_(30.0), SC_(78.75000), SC_(-1.3780503803711969857070836997294630e-26) }}, {{ SC_(30.0), SC_(80.87500), SC_(-6.1703357256500029511495096803651889e-27) }}, {{ SC_(30.0), SC_(83.00000), SC_(-2.8213173028841107933813502855693772e-27) }}, {{ SC_(30.0), SC_(85.12500), SC_(-1.3159280846978733546278731706334709e-27) }}, {{ SC_(30.0), SC_(87.25000), SC_(-6.2549157954995389707945629132366569e-28) }}, {{ SC_(30.0), SC_(89.37500), SC_(-3.0270730786291364371674711274018267e-28) }}, {{ SC_(30.0), SC_(91.50000), SC_(-1.4902791126813033033236323354658204e-28) }}, {{ SC_(30.0), SC_(93.62500), SC_(-7.4578261147126651898615763642561310e-29) }}, {{ SC_(30.0), SC_(95.75000), SC_(-3.7908508349033587121694154134344755e-29) }}, {{ SC_(30.0), SC_(97.87500), SC_(-1.9558790071355202604313002586790408e-29) }}, {{ SC_(30.0), SC_(100.0000), SC_(-1.0236429687189538253202730650097974e-29) }},
+ {{ SC_(1.0), SC_(1.0), SC_(1.6449340668482264364724151666460252) }}, {{ SC_(2.0), SC_(1.0), SC_(-2.4041138063191885707994763230229000) }}, {{ SC_(3.0), SC_(1.0), SC_(6.4939394022668291490960221792470074) }}, {{ SC_(4.0), SC_(1.0), SC_(-24.886266123440878231952771674968820) }}, {{ SC_(5.0), SC_(1.0), SC_(122.08116743813389676574215157491046) }}, {{ SC_(6.0), SC_(1.0), SC_(-726.01147971498443532465423589185367) }}, {{ SC_(7.0), SC_(1.0), SC_(5060.5498752376394704685736020836084) }}, {{ SC_(8.0), SC_(1.0), SC_(-40400.978398747634885327823655450854) }}, {{ SC_(9.0), SC_(1.0), SC_(363240.91142238262680714352556574776) }}, {{ SC_(10.0), SC_(1.0), SC_(-3.6305933116066287129906188428320541e6) }}, {{ SC_(11.0), SC_(1.0), SC_(3.9926622987731086702327073240472015e7) }}, {{ SC_(12.0), SC_(1.0), SC_(-4.7906037988983145242687676449906363e8) }}, {{ SC_(13.0), SC_(1.0), SC_(6.2274021934109717641928534089474159e9) }}, {{ SC_(14.0), SC_(1.0), SC_(-8.7180957830172067845191220310364358e10) }}, {{ SC_(15.0), SC_(1.0), SC_(1.3076943522189138208900999074851102e12) }}, {{ SC_(16.0), SC_(1.0), SC_(-2.0922949679481510906631655688111514e13) }}, {{ SC_(17.0), SC_(1.0), SC_(3.5568878585922371597561239671618245e14) }}, {{ SC_(18.0), SC_(1.0), SC_(-6.4023859228189214007356494533239755e15) }}, {{ SC_(19.0), SC_(1.0), SC_(1.2164521645363939666987669627404138e17) }}, {{ SC_(20.0), SC_(1.0), SC_(-2.4329031685078613217372568182431975e18) }}, {{ SC_(21.0), SC_(1.0), SC_(5.1090954354370285677650274860473481e19) }}, {{ SC_(22.0), SC_(1.0), SC_(-1.1240008617808912306021529490019443e21) }}, {{ SC_(23.0), SC_(1.0), SC_(2.5852018279876877767780261785042411e22) }}, {{ SC_(24.0), SC_(1.0), SC_(-6.2044842022477556107699152049463576e23) }}, {{ SC_(25.0), SC_(1.0), SC_(1.5511210274472132898983174657140502e25) }}, {{ SC_(26.0), SC_(1.0), SC_(-4.0329146413141407973995741108882374e26) }}, {{ SC_(27.0), SC_(1.0), SC_(1.0888869490983028015891074275710607e28) }}, {{ SC_(28.0), SC_(1.0), SC_(-3.0488834517961710017831014422416477e29) }}, {{ SC_(29.0), SC_(1.0), SC_(8.8417620019742774502390188870678590e30) }}, {{ SC_(30.0), SC_(1.0), SC_(-2.6525285993570947629478654469554513e32) }}, {{ SC_(31.0), SC_(1.0), SC_(8.2228386560924560722190676893264356e33) }}, {{ SC_(32.0), SC_(1.0), SC_(-2.6313083696432603856870073439642460e35) }}, {{ SC_(33.0), SC_(1.0), SC_(8.6833176193173226237779341368101141e36) }}, {{ SC_(34.0), SC_(1.0), SC_(-2.9523279904819655207731742551529264e38) }}, {{ SC_(35.0), SC_(1.0), SC_(1.0333147966536512091762081841406431e40) }}, {{ SC_(36.0), SC_(1.0), SC_(-3.7199332679260782597263218144656884e41) }}, {{ SC_(37.0), SC_(1.0), SC_(1.3763753091276417298557030711497089e43) }}, {{ SC_(38.0), SC_(1.0), SC_(-5.2302261746755248448805548317868492e44) }}, {{ SC_(39.0), SC_(1.0), SC_(2.0397882081215995125998316157358476e46) }}, {{ SC_(40.0), SC_(1.0), SC_(-8.1591528324826876968158659241126765e47) }}, {{ SC_(41.0), SC_(1.0), SC_(3.3452526613171413332404690085486207e49) }}, {{ SC_(42.0), SC_(1.0), SC_(-1.4050061177530396292499296757724836e51) }}, {{ SC_(43.0), SC_(1.0), SC_(6.0415263063377269847520379087368697e52) }}, {{ SC_(44.0), SC_(1.0), SC_(-2.6582715747885243206668113464973395e54) }}, {{ SC_(45.0), SC_(1.0), SC_(1.1962222086548189449597808756809115e56) }}, {{ SC_(46.0), SC_(1.0), SC_(-5.5026221598121280483325452519279417e57) }}, {{ SC_(47.0), SC_(1.0), SC_(2.5862324151116909945729536986576770e59) }}, {{ SC_(48.0), SC_(1.0), SC_(-1.2413915592536094722406207462376651e61) }}, {{ SC_(49.0), SC_(1.0), SC_(6.0828186403426810113507774083359074e62) }}, {{ SC_(50.0), SC_(1.0), SC_(-3.0414093201713391550183240542952737e64) }},
+ {{ SC_(1.0), SC_(0.5), SC_(4.9348022005446793094172454999380756) }}, {{ SC_(2.0), SC_(0.5), SC_(-16.828796644234319995596334261160300) }}, {{ SC_(3.0), SC_(0.5), SC_(97.409091034002437236440332688705111) }}, {{ SC_(4.0), SC_(0.5), SC_(-771.47424982666722519053592192403342) }}, {{ SC_(5.0), SC_(0.5), SC_(7691.1135486024354962417555492193592) }}, {{ SC_(6.0), SC_(0.5), SC_(-92203.457923803023286231087958265416) }}, {{ SC_(7.0), SC_(0.5), SC_(1.2904402181855980649694862685313201e6) }}, {{ SC_(8.0), SC_(0.5), SC_(-2.0644899961760041426402517887935387e7) }}, {{ SC_(9.0), SC_(0.5), SC_(3.7159545238509742722370782665375996e8) }}, {{ SC_(10.0), SC_(0.5), SC_(-7.4318245088587689754917967712772148e9) }}, {{ SC_(11.0), SC_(0.5), SC_(1.6349952113475880004602936491973290e11) }}, {{ SC_(12.0), SC_(0.5), SC_(-3.9239835716776094268285475780118302e12) }}, {{ SC_(13.0), SC_(0.5), SC_(1.0202353013465195041277151739878551e14) }}, {{ SC_(14.0), SC_(0.5), SC_(-2.8566584452212481470833807159097089e15) }}, {{ SC_(15.0), SC_(0.5), SC_(8.5699749372666517252032697437036695e16) }}, {{ SC_(16.0), SC_(0.5), SC_(-2.7423919374393211160431177426964643e18) }}, {{ SC_(17.0), SC_(0.5), SC_(9.3241325391494482576994960512370215e19) }}, {{ SC_(18.0), SC_(0.5), SC_(-3.3566877083169638444274914449348672e21) }}, {{ SC_(19.0), SC_(0.5), SC_(1.2755413284287493036311595679555294e23) }}, {{ SC_(20.0), SC_(0.5), SC_(-5.1021653127394298787426098736355399e24) }}, {{ SC_(21.0), SC_(0.5), SC_(2.1429094312139835232862558079810850e26) }}, {{ SC_(22.0), SC_(0.5), SC_(-9.4288014971412166432678344430683531e27) }}, {{ SC_(23.0), SC_(0.5), SC_(4.3372486886542455183876952472394031e29) }}, {{ SC_(24.0), SC_(0.5), SC_(-2.0818793705491236054644197662022342e31) }}, {{ SC_(25.0), SC_(0.5), SC_(1.0409396852737427640356547073711139e33) }}, {{ SC_(26.0), SC_(0.5), SC_(-5.4128863634220427078493834793146517e34) }}, {{ SC_(27.0), SC_(0.5), SC_(2.9229586362476475227234677536391722e36) }}, {{ SC_(28.0), SC_(0.5), SC_(-1.6368568362986349120390762957016873e38) }}, {{ SC_(29.0), SC_(0.5), SC_(9.4937696505319902685274359255316741e39) }}, {{ SC_(30.0), SC_(0.5), SC_(-5.6962617903191757168598825608931775e41) }}, {{ SC_(31.0), SC_(0.5), SC_(3.5316823099978851326405053801048261e43) }}, {{ SC_(32.0), SC_(0.5), SC_(-2.2602766783986456717032825683189511e45) }}, {{ SC_(33.0), SC_(0.5), SC_(1.4917826077431059644231123371238779e47) }}, {{ SC_(34.0), SC_(0.5), SC_(-1.0144121732653120152568117095915465e49) }}, {{ SC_(35.0), SC_(0.5), SC_(7.1008852128571840121789056825569522e50) }}, {{ SC_(36.0), SC_(0.5), SC_(-5.1126373532571724660603059705232204e52) }}, {{ SC_(37.0), SC_(0.5), SC_(3.7833516414103076192831949360932899e54) }}, {{ SC_(38.0), SC_(0.5), SC_(-2.8753472474718337892361988468491097e56) }}, {{ SC_(39.0), SC_(0.5), SC_(2.2427708530280303552352874820086301e58) }}, {{ SC_(40.0), SC_(0.5), SC_(-1.7942166824224242840898439541031383e60) }}, {{ SC_(41.0), SC_(0.5), SC_(1.4712576795863879129267798604374659e62) }}, {{ SC_(42.0), SC_(0.5), SC_(-1.2358564508525658468509652718307801e64) }}, {{ SC_(43.0), SC_(0.5), SC_(1.0628365477332066282896715879731180e66) }}, {{ SC_(44.0), SC_(0.5), SC_(-9.3529616200522183289427782398136808e67) }}, {{ SC_(45.0), SC_(0.5), SC_(8.4176654580469964960466008955275434e69) }}, {{ SC_(46.0), SC_(0.5), SC_(-7.7442522214032367763622903043252397e71) }}, {{ SC_(47.0), SC_(0.5), SC_(7.2795970881190425697803703632702328e73) }}, {{ SC_(48.0), SC_(0.5), SC_(-6.9884132045942808669890971414448669e75) }}, {{ SC_(49.0), SC_(0.5), SC_(6.8486449405023952496492961188997479e77) }}, {{ SC_(50.0), SC_(0.5), SC_(-6.8486449405023952496492897589943408e79) }},
+ }};
+ boost::array<boost::array<value_type, 3>, 284> big_data =
+ { {
+ {{ 1, SC_(2.0000000000000000000000000000000000), SC_(0.64493406684822643647241516664602519) }}, {{ 1, SC_(4.0000000000000000000000000000000000), SC_(0.28382295573711532536130405553491408) }}, {{ 1, SC_(8.0000000000000000000000000000000000), SC_(0.13313701469403142513454668592040161) }}, {{ 1, SC_(16.000000000000000000000000000000000), SC_(0.064493783403239361781710772311927225) }}, {{ 1, SC_(32.000000000000000000000000000000000), SC_(0.031743366520302090126581680438741427) }}, {{ 1, SC_(64.000000000000000000000000000000000), SC_(0.015747706064338930155744003071350465) }}, {{ 1, SC_(128.00000000000000000000000000000000), SC_(0.0078430970500146151295391657680446584) }}, {{ 1, SC_(256.00000000000000000000000000000000), SC_(0.0039138893286083964054615299292933721) }}, {{ 1, SC_(512.00000000000000000000000000000000), SC_(0.0019550335903952979329050939908745913) }}, {{ 1, SC_(1024.0000000000000000000000000000000), SC_(0.00097703949237860262165259669085763056) }},
+ {{ 1, SC_(2048.0000000000000000000000000000000), SC_(0.00048840047869210349388677277938304048) }}, {{ 1, SC_(4096.0000000000000000000000000000000), SC_(0.00024417042974770687112825193241674713) }}, {{ 1, SC_(8192.0000000000000000000000000000000), SC_(0.00012207776338376182351559927851701587) }}, {{ 1, SC_(16384.000000000000000000000000000000), SC_(0.000061037018933044843502668828413112893) }}, {{ 1, SC_(32768.000000000000000000000000000000), SC_(0.000030518043791024259310109487753004549) }},
+ {{ 2, SC_(2.0000000000000000000000000000000000), SC_(-0.40411380631918857079947632302289998) }}, {{ 2, SC_(4.0000000000000000000000000000000000), SC_(-0.080039732245114496725402248948825907) }}, {{ 2, SC_(8.0000000000000000000000000000000000), SC_(-0.017699569195767773909291677736213879) }}, {{ 2, SC_(16.000000000000000000000000000000000), SC_(-0.0041580101239589621541865297842265262) }}, {{ 2, SC_(32.000000000000000000000000000000000), SC_(-0.0010075567602140907392185110593117265) }}, {{ 2, SC_(64.000000000000000000000000000000000), SC_(-0.00024798512216328534949893202341675581) }}, {{ 2, SC_(128.00000000000000000000000000000000), SC_(-0.000061513856015459056093727063597403146) }}, {{ 2, SC_(256.00000000000000000000000000000000), SC_(-0.000015318510122005107648117663349723503) }}, {{ 2, SC_(512.00000000000000000000000000000000), SC_(-3.8221551221702861883051574825692679e-6) }}, {{ 2, SC_(1024.0000000000000000000000000000000), SC_(-9.5460609372807180482794242236285690e-7) }}, {{ 2, SC_(2048.0000000000000000000000000000000), SC_(-2.3853502284509660646447307719091929e-7) }}, {{ 2, SC_(4096.0000000000000000000000000000000), SC_(-5.9619198466975795959019740002484769e-8) }}, {{ 2, SC_(8192.0000000000000000000000000000000), SC_(-1.4902980294273504017537750635770593e-8) }}, {{ 2, SC_(16384.000000000000000000000000000000), SC_(-3.7255176790762511898502424554181168e-9) }}, {{ 2, SC_(32768.000000000000000000000000000000), SC_(-9.3135099675858978849200435754135096e-10) }}, {{ 2, SC_(65536.000000000000000000000000000000), SC_(-2.3283419639465348371721333739142464e-10) }}, {{ 2, SC_(131072.00000000000000000000000000000), SC_(-5.8208105004371323183654400926421586e-11) }}, {{ 2, SC_(262144.00000000000000000000000000000), SC_(-1.4551970739623962182873920142648449e-11) }}, {{ 2, SC_(524288.00000000000000000000000000000), SC_(-3.6379857459922343037889500943887953e-12) }}, {{ 2, SC_(1.0485760000000000000000000000000000e6), SC_(-9.0949556913507981662486265691361231e-13) }}, {{ 2, SC_(2.0971520000000000000000000000000000e6), SC_(-2.2737378386347515742334544652596257e-13) }}, {{ 2, SC_(4.1943040000000000000000000000000000e6), SC_(-5.6843432413336786525629259100975662e-14) }}, {{ 2, SC_(8.3886080000000000000000000000000000e6), SC_(-1.4210856409267999200219031777240284e-14) }}, {{ 2, SC_(1.6777216000000000000000000000000000e7), SC_(-3.5527138905587440538179478730582199e-15) }}, {{ 2, SC_(3.3554432000000000000000000000000000e7), SC_(-8.8817844616990522846624354086352033e-16) }}, {{ 2, SC_(6.7108864000000000000000000000000000e7), SC_(-2.2204460823375378294874032126041593e-16) }}, {{ 2, SC_(1.3421772800000000000000000000000000e8), SC_(-5.5511151644848134838439376350034016e-17) }}, {{ 2, SC_(2.6843545600000000000000000000000000e8), SC_(-1.3877787859513245136156122749960089e-17) }}, {{ 2, SC_(5.3687091200000000000000000000000000e8), SC_(-3.4694469584159627304129087489268059e-18) }}, {{ 2, SC_(1.0737418240000000000000000000000000e9), SC_(-8.6736173879619711452843652170069542e-19) }}, {{ 2, SC_(2.1474836480000000000000000000000000e9), SC_(-2.1684043459807508269328995828313535e-19) }}, {{ 2, SC_(4.2949672960000000000000000000000000e9), SC_(-5.4210108636896996185378196868612602e-20) }}, {{ 2, SC_(8.5899345920000000000000000000000000e9), SC_(-1.3552527157646527235627019117855720e-20) }}, {{ 2, SC_(1.7179869184000000000000000000000000e10), SC_(-3.3881317892144165825842826725813744e-21) }}, {{ 2, SC_(3.4359738368000000000000000000000000e10), SC_(-8.4703294727895224235683785200562563e-22) }}, {{ 2, SC_(6.8719476736000000000000000000000000e10), SC_(-2.1175823681665657267812262331022925e-22) }}, {{ 2, SC_(1.3743895347200000000000000000000000e11), SC_(-5.2939559203778957180649004761553143e-23) }}, {{ 2, SC_(2.7487790694400000000000000000000000e11), SC_(-1.3234889800896591046552307550599825e-23) }}, {{ 2, SC_(5.4975581388800000000000000000000000e11), SC_(-3.3087224502181292305618503541427776e-24) }}, {{ 2, SC_(1.0995116277760000000000000000000000e12), SC_(-8.2718061255377999125593529818894574e-25) }}, {{ 2, SC_(2.1990232555520000000000000000000000e12), SC_(-2.0679515313835095826591797740024589e-25) }}, {{ 2, SC_(4.3980465111040000000000000000000000e12), SC_(-5.1698788284575984622971267465834721e-26) }}, {{ 2, SC_(8.7960930222080000000000000000000000e12), SC_(-1.2924697071142526787804288756502028e-26) }}, {{ 2, SC_(1.7592186044416000000000000000000000e13), SC_(-3.2311742677854480259587561910416561e-27) }}, {{ 2, SC_(3.5184372088832000000000000000000000e13), SC_(-8.0779356694633904761564954897872834e-28) }}, {{ 2, SC_(7.0368744177664000000000000000000000e13), SC_(-2.0194839173658189204465744995814610e-28) }}, {{ 2, SC_(1.4073748835532800000000000000000000e14), SC_(-5.0487097934145114278757495332542949e-29) }}, {{ 2, SC_(2.8147497671065600000000000000000000e14), SC_(-1.2621774483536233728138515438750504e-29) }}, {{ 2, SC_(5.6294995342131200000000000000000000e14), SC_(-3.1554436208840528268407715604044070e-30) }}, {{ 2, SC_(1.1258999068426240000000000000000000e15), SC_(-7.8886090522101250606096072769163284e-31) }}, {{ 2, SC_(2.2517998136852480000000000000000000e15), SC_(-1.9721522630525303893408616162178294e-31) }}, {{ 2, SC_(4.5035996273704960000000000000000000e15), SC_(-4.9303806576313248785877287867808721e-32) }}, {{ 2, SC_(9.0071992547409920000000000000000000e15), SC_(-1.2325951644078310828013790399747782e-32) }}, {{ 2, SC_(1.8014398509481984000000000000000000e16), SC_(-3.0814879110195775359465061540364098e-33) }}, {{ 2, SC_(3.6028797018963968000000000000000000e16), SC_(-7.7037197775489436260450885777153639e-34) }}, {{ 2, SC_(7.2057594037927936000000000000000000e16), SC_(-1.9259299443872358797836250435068840e-34) }}, {{ 2, SC_(1.4411518807585587200000000000000000e17), SC_(-4.8148248609680896660495037326147640e-35) }}, {{ 2, SC_(2.8823037615171174400000000000000000e17), SC_(-1.2037062152420224123361810736346353e-35) }}, {{ 2, SC_(5.7646075230342348800000000000000000e17), SC_(-3.0092655381050560256202091096877686e-36) }}, {{ 2, SC_(1.1529215046068469760000000000000000e18), SC_(-7.5231638452626400575252183062208969e-37) }}, {{ 2, SC_(2.3058430092136939520000000000000000e18), SC_(-1.8807909613156600135656415180554087e-37) }}, {{ 2, SC_(4.6116860184273879040000000000000000e18), SC_(-4.7019774032891500328945249720137522e-38) }}, {{ 2, SC_(9.2233720368547758080000000000000000e18), SC_(-1.1754943508222875080961838901128419e-38) }}, {{ 2, SC_(1.8446744073709551616000000000000000e19), SC_(-2.9387358770557187700811505341688594e-39) }}, {{ 2, SC_(3.6893488147419103232000000000000000e19), SC_(-7.3468396926392969250037398465305920e-40) }}, {{ 2, SC_(7.3786976294838206464000000000000000e19), SC_(-1.8367099231598242312260429005212034e-40) }}, {{ 2, SC_(1.4757395258967641292800000000000000e20), SC_(-4.5917748078995605780339921749137029e-41) }}, {{ 2, SC_(2.9514790517935282585600000000000000e20), SC_(-1.1479437019748901445046086591797625e-41) }}, {{ 2, SC_(5.9029581035870565171200000000000000e20), SC_(-2.8698592549372253612566599172635773e-42) }}, {{ 2, SC_(1.1805916207174113034240000000000000e21), SC_(-7.1746481373430634031355726298016569e-43) }}, {{ 2, SC_(2.3611832414348226068480000000000000e21), SC_(-1.7936620343357658507831335120307534e-43) }}, {{ 2, SC_(4.7223664828696452136960000000000000e21), SC_(-4.4841550858394146269568842233023076e-44) }}, {{ 2, SC_(9.4447329657392904273920000000000000e21), SC_(-1.1210387714598536567391023612287549e-44) }}, {{ 2, SC_(1.8889465931478580854784000000000000e22), SC_(-2.8025969286496341418476075348258598e-45) }}, {{ 2, SC_(3.7778931862957161709568000000000000e22), SC_(-7.0064923216240853546188333767571150e-46) }}, {{ 2, SC_(7.5557863725914323419136000000000000e22), SC_(-1.7516230804060213386546851616508370e-46) }}, {{ 2, SC_(1.5111572745182864683827200000000000e23), SC_(-4.3790577010150533466366839259540402e-47) }}, {{ 2, SC_(3.0223145490365729367654400000000000e23), SC_(-1.0947644252537633366591673592168785e-47) }}, {{ 2, SC_(6.0446290980731458735308800000000000e23), SC_(-2.7369110631344083416479138702026569e-48) }}, {{ 2, SC_(1.2089258196146291747061760000000000e24), SC_(-6.8422776578360208541197790157072179e-49) }}, {{ 2, SC_(2.4178516392292583494123520000000000e24), SC_(-1.7105694144590052135299440464518764e-49) }}, {{ 2, SC_(4.8357032784585166988247040000000000e24), SC_(-4.2764235361475130338248592317860310e-50) }}, {{ 2, SC_(9.6714065569170333976494080000000000e24), SC_(-1.0691058840368782584562146974035503e-50) }}, {{ 2, SC_(1.9342813113834066795298816000000000e25), SC_(-2.6727647100921956461405366053301788e-51) }}, {{ 2, SC_(3.8685626227668133590597632000000000e25), SC_(-6.6819117752304891153513413406020758e-52) }}, {{ 2, SC_(7.7371252455336267181195264000000000e25), SC_(-1.6704779438076222788378353135600976e-52) }}, {{ 2, SC_(1.5474250491067253436239052800000000e26), SC_(-4.1761948595190556970945882569122172e-53) }}, {{ 2, SC_(3.0948500982134506872478105600000000e26), SC_(-1.0440487148797639242736470608545510e-53) }}, {{ 2, SC_(6.1897001964269013744956211200000000e26), SC_(-2.6101217871994098106841176479194982e-54) }}, {{ 2, SC_(1.2379400392853802748991242240000000e27), SC_(-6.5253044679985245267102941145276465e-55) }}, {{ 2, SC_(2.4758800785707605497982484480000000e27), SC_(-1.6313261169996311316775735279730243e-55) }}, {{ 2, SC_(4.9517601571415210995964968960000000e27), SC_(-4.0783152924990778291939338191089514e-56) }}, {{ 2, SC_(9.9035203142830421991929937920000000e27), SC_(-1.0195788231247694572984834546742867e-56) }}, {{ 2, SC_(1.9807040628566084398385987584000000e28), SC_(-2.5489470578119236432462086365570278e-57) }}, {{ 2, SC_(3.9614081257132168796771975168000000e28), SC_(-6.3723676445298091081155215912317084e-58) }}, {{ 2, SC_(7.9228162514264337593543950336000000e28), SC_(-1.5930919111324522770288803977878195e-58) }}, {{ 2, SC_(1.5845632502852867518708790067200000e29), SC_(-3.9827297778311306925722009944444141e-59) }}, {{ 2, SC_(3.1691265005705735037417580134400000e29), SC_(-9.9568244445778267314305024860796170e-60) }}, {{ 2, SC_(6.3382530011411470074835160268800000e29), SC_(-2.4892061111444566828576256215159770e-60) }}, {{ 2, SC_(1.2676506002282294014967032053760000e30), SC_(-6.2230152778611417071440640537850333e-61) }},
+ {{ 4, SC_(2.0000000000000000000000000000000000), SC_(-0.88626612344087823195277167496882003)}}, {{ 4, SC_(4.0000000000000000000000000000000000), SC_(-0.037500691342112799854006242870054601) }}, {{ 4, SC_(8.0000000000000000000000000000000000), SC_(-0.0018687951506376135155684814141062787) }}, {{ 4, SC_(16.000000000000000000000000000000000), SC_(-0.00010359125360358782747907937474060894) }}, {{ 4, SC_(32.000000000000000000000000000000000), SC_(-6.0889806370027137702207132674152980e-6) }}, {{ 4, SC_(64.000000000000000000000000000000000), SC_(-3.6894923384141876864824136311646410e-7) }}, {{ 4, SC_(128.00000000000000000000000000000000), SC_(-2.2703261395872369173970078168917455e-8) }}, {{ 4, SC_(256.00000000000000000000000000000000), SC_(-1.4079333251018200826827045864949986e-9) }}, {{ 4, SC_(512.00000000000000000000000000000000), SC_(-8.7653106993395973543058191653743071e-11) }}, {{ 4, SC_(1024.0000000000000000000000000000000), SC_(-5.4676350252855605594922081412167012e-12) }}, {{ 4, SC_(2048.0000000000000000000000000000000), SC_(-3.4139371559748457865769094969096427e-13) }}, {{ 4, SC_(4096.0000000000000000000000000000000), SC_(-2.1326692531241146202038690286850691e-14) }}, {{ 4, SC_(8192.0000000000000000000000000000000), SC_(-1.3325929232891576568330300144201981e-15) }}, {{ 4, SC_(16384.000000000000000000000000000000), SC_(-8.3276891759241673633332539309962691e-17) }}, {{ 4, SC_(32768.000000000000000000000000000000), SC_(-5.2044880733635773100598702692535183e-18) }}, {{ 4, SC_(65536.000000000000000000000000000000), SC_(-3.2527057803921971134912503489998463e-19) }}, {{ 4, SC_(131072.00000000000000000000000000000), SC_(-2.0329100928805067785989990248970031e-20) }}, {{ 4, SC_(262144.00000000000000000000000000000), SC_(-1.2705591144350687435054305331329679e-21) }}, {{ 4, SC_(524288.00000000000000000000000000000), SC_(-7.9409641728159744142284095369593220e-23) }}, {{ 4, SC_(1.0485760000000000000000000000000000e6), SC_(-4.9630931416565518652153749436192000e-24) }}, {{ 4, SC_(2.0971520000000000000000000000000000e6), SC_(-3.1019302553034238539128749896589195e-25) }}, {{ 4, SC_(4.1943040000000000000000000000000000e6), SC_(-1.9387054851177155898453895640231670e-26) }}, {{ 4, SC_(8.3886080000000000000000000000000000e6), SC_(-1.2116906393089944897903424066391815e-27) }}, {{ 4, SC_(1.6777216000000000000000000000000000e7), SC_(-7.5730655929014196050202587407391615e-29) }}, {{ 4, SC_(3.3554432000000000000000000000000000e7), SC_(-4.7331657134447220363116949282744848e-30) }}, {{ 4, SC_(6.7108864000000000000000000000000000e7), SC_(-2.9582284827408716767299704712288552e-31) }}, {{ 4, SC_(1.3421772800000000000000000000000000e8), SC_(-1.8488927741623954373880437387993075e-32) }}, {{ 4, SC_(2.6843545600000000000000000000000000e8), SC_(-1.1555579752419193033729099502283072e-33) }}, {{ 4, SC_(5.3687091200000000000000000000000000e8), SC_(-7.2222373183570650057583536416196423e-35) }}, {{ 4, SC_(1.0737418240000000000000000000000000e9), SC_(-4.5138983155653748230741551964743254e-36) }}, {{ 4, SC_(2.1474836480000000000000000000000000e9), SC_(-2.8211864446009246407535785204401521e-37) }}, {{ 4, SC_(4.2949672960000000000000000000000000e9), SC_(-1.7632415270545045810527364994409865e-38) }}, {{ 4, SC_(8.5899345920000000000000000000000000e9), SC_(-1.1020259541524799509144333467867914e-39) }}, {{ 4, SC_(1.7179869184000000000000000000000000e10), SC_(-6.8876622126511702800708681871153888e-41) }}, {{ 4, SC_(3.4359738368000000000000000000000000e10), SC_(-4.3047888826564097334549177850495839e-42) }}, {{ 4, SC_(6.8719476736000000000000000000000000e10), SC_(-2.6904930515819524297904926510117385e-43) }}, {{ 4, SC_(1.3743895347200000000000000000000000e11), SC_(-1.6815581572142503768636183351690905e-44) }}, {{ 4, SC_(2.7487790694400000000000000000000000e11), SC_(-1.0509738482512596443662561409356175e-45) }}, {{ 4, SC_(5.4975581388800000000000000000000000e11), SC_(-6.5685865515464763986220054285432304e-47) }}, {{ 4, SC_(1.0995116277760000000000000000000000e12), SC_(-4.1053665947090801308053030433926733e-48) }}, {{ 4, SC_(2.1990232555520000000000000000000000e12), SC_(-2.5658541216908414510241138209492617e-49) }}, {{ 4, SC_(4.3980465111040000000000000000000000e12), SC_(-1.6036588260560466472871963710133920e-50) }}, {{ 4, SC_(8.7960930222080000000000000000000000e12), SC_(-1.0022867662848012609285994319421665e-51) }}, {{ 4, SC_(1.7592186044416000000000000000000000e13), SC_(-6.2642922892792957132228143635273796e-53) }}, {{ 4, SC_(3.5184372088832000000000000000000000e13), SC_(-3.9151826807993372683952177161081714e-54) }}, {{ 4, SC_(7.0368744177664000000000000000000000e13), SC_(-2.4469891754995162451316856809457970e-55) }}, {{ 4, SC_(1.4073748835532800000000000000000000e14), SC_(-1.5293682346871759195775143660953743e-56) }}, {{ 4, SC_(2.8147497671065600000000000000000000e14), SC_(-9.5585514667947815797663735871501036e-58) }}, {{ 4, SC_(5.6294995342131200000000000000000000e14), SC_(-5.9740946667467172631061424917674488e-59) }}, {{ 4, SC_(1.1258999068426240000000000000000000e15), SC_(-3.7338091667166916568638887448064559e-60) }},
+ {{ 5, SC_(2.0000000000000000000000000000000000), SC_(2.0811674381338967657421515749104633) }}, {{ 5, SC_(4.0000000000000000000000000000000000), SC_(0.041558384635954378910875854745854295) }}, {{ 5, SC_(8.0000000000000000000000000000000000), SC_(0.00098951000477133869852907040195234770) }}, {{ 5, SC_(16.000000000000000000000000000000000), SC_(0.000026687171525751195904263272526023849) }}, {{ 5, SC_(32.000000000000000000000000000000000), SC_(7.7287973331327549424848375559872037e-7) }}, {{ 5, SC_(64.000000000000000000000000000000000), SC_(2.3238496018000614929174818530730601e-8) }}, {{ 5, SC_(128.00000000000000000000000000000000), SC_(7.1224092682782859288630591196158856e-10) }}, {{ 5, SC_(256.00000000000000000000000000000000), SC_(2.2041868318688703092956583673488732e-11) }}, {{ 5, SC_(512.00000000000000000000000000000000), SC_(6.8545820059344569325690341822051481e-13) }},
+ {{ 5, SC_(1024.0000000000000000000000000000000), SC_(2.1368374599013908699681782557176684e-14) }}, {{ 5, SC_(2048.0000000000000000000000000000000), SC_(6.6694736345106372565672272296621720e-16) }}, {{ 5, SC_(4096.0000000000000000000000000000000), SC_(2.0829390307857624148581922800405889e-17) }}, {{ 5, SC_(8192.0000000000000000000000000000000), SC_(6.5071985107212205839819397506176587e-19) }}, {{ 5, SC_(16384.000000000000000000000000000000), SC_(2.0331892850726898586186509892109697e-20) }},
+ {{ SC_(30.0), SC_(2.0000000000000000000000000000000000), SC_(-1.2351841765847806469554512503841320e23) }}, {{ SC_(30.0), SC_(4.0000000000000000000000000000000000), SC_(-5.7574709672867347088590035301645472e13) }}, {{ SC_(30.0), SC_(8.0000000000000000000000000000000000), SC_(-27506.955293920803735428099734719508) }}, {{ SC_(30.0), SC_(16.000000000000000000000000000000000), SC_(-0.000014776733178819597558222752004691771) }}, {{ SC_(30.0), SC_(32.000000000000000000000000000000000), SC_(-9.5598830564651701596127591449043084e-15) }}, {{ SC_(30.0), SC_(64.000000000000000000000000000000000), SC_(-7.2304485310918134795078579958346544e-24) }}, {{ SC_(30.0), SC_(128.00000000000000000000000000000000), SC_(-6.0283544055510492723170660715813893e-33) }}, {{ SC_(30.0), SC_(256.00000000000000000000000000000000), SC_(-5.3033945300844267682288152122688373e-42) }}, {{ SC_(30.0), SC_(512.00000000000000000000000000000000), SC_(-4.7984984493788567623415259200478215e-51) }}, {{ SC_(30.0), SC_(1024.0000000000000000000000000000000), SC_(-4.4044059984515492135344714328158802e-60) }}, {{ SC_(30.0), SC_(2048.0000000000000000000000000000000), SC_(-4.0720911710023652995468796384464697e-69) }}, {{ SC_(30.0), SC_(4096.0000000000000000000000000000000), SC_(-3.7785912001586472052142107275635729e-78) }}, {{ SC_(30.0), SC_(8192.0000000000000000000000000000000), SC_(-3.5126550370582447330888831842922732e-87) }}, {{ SC_(30.0), SC_(16384.000000000000000000000000000000), SC_(-3.2684225122971143182856602549511625e-96) }}, {{ SC_(30.0), SC_(32768.000000000000000000000000000000), SC_(-3.0425628731892016567765116031607680e-105) }}, {{ SC_(30.0), SC_(65536.000000000000000000000000000000), SC_(-2.8329590706806369266402498060974102e-114) }}, {{ SC_(30.0), SC_(131072.00000000000000000000000000000), SC_(-2.6380968281136772828042603723998837e-123) }}, {{ SC_(30.0), SC_(262144.00000000000000000000000000000), SC_(-2.4567785517794442581328674255623958e-132) }}, {{ SC_(30.0), SC_(524288.00000000000000000000000000000), SC_(-2.2879878661829847442965875847125058e-141) }}, {{ SC_(30.0), SC_(1.0485760000000000000000000000000000e6), SC_(-2.1308242685223148657953902073871316e-150) }}, {{ SC_(30.0), SC_(2.0971520000000000000000000000000000e6), SC_(-1.9844705497704998113296263703338786e-159) }}, {{ SC_(30.0), SC_(4.1943040000000000000000000000000000e6), SC_(-1.8481756120690176942737056133829355e-168) }}, {{ SC_(30.0), SC_(8.3886080000000000000000000000000000e6), SC_(-1.7212445915482984340950265207437808e-177) }}, {{ SC_(30.0), SC_(1.6777216000000000000000000000000000e7), SC_(-1.6030325113209352859611074788378703e-186) }}, {{ SC_(30.0), SC_(3.3554432000000000000000000000000000e7), SC_(-1.4929396982396668313427669448409354e-195) }}, {{ SC_(30.0), SC_(6.7108864000000000000000000000000000e7), SC_(-1.3904081327297841105213325845203069e-204) }}, {{ SC_(30.0), SC_(1.3421772800000000000000000000000000e8), SC_(-1.2949183372218004102189189609880637e-213) }}, {{ SC_(30.0), SC_(2.6843545600000000000000000000000000e8), SC_(-1.2059866123484480516357481544084177e-222) }}, {{ SC_(30.0), SC_(5.3687091200000000000000000000000000e8), SC_(-1.1231625253833571996113692012033249e-231) }}, {{ SC_(30.0), SC_(1.0737418240000000000000000000000000e9), SC_(-1.0460266002388281642669220414065145e-240) }}, {{ SC_(30.0), SC_(2.1474836480000000000000000000000000e9), SC_(-9.7418817964607553111407834656180990e-250) }}, {{ SC_(30.0), SC_(4.2949672960000000000000000000000000e9), SC_(-9.0728344045929855573515168095233657e-259) }}, {{ SC_(30.0), SC_(8.5899345920000000000000000000000000e9), SC_(-8.4497354819902512502834172688634013e-268) }}, {{ SC_(30.0), SC_(1.7179869184000000000000000000000000e10), SC_(-7.8694293970360059201227925630244920e-277) }}, {{ SC_(30.0), SC_(3.4359738368000000000000000000000000e10), SC_(-7.3289772436027860614787732271106255e-286) }}, {{ SC_(30.0), SC_(6.8719476736000000000000000000000000e10), SC_(-6.8256419543205073368020956733620994e-295) }}, {{ SC_(30.0), SC_(1.3743895347200000000000000000000000e11), SC_(-6.3568744376074160576260336726346352e-304) }}, {{ SC_(30.0), SC_(2.7487790694400000000000000000000000e11), SC_(-5.9203006674167918417546432760193032e-313) }}, {{ SC_(30.0), SC_(5.4975581388800000000000000000000000e11), SC_(-5.5137096599259016840358774274418939e-322) }}, {{ SC_(30.0), SC_(1.0995116277760000000000000000000000e12), SC_(-5.1350422760943708365732963065500637e-331) }}, {{ SC_(30.0), SC_(2.1990232555520000000000000000000000e12), SC_(-4.7823807932989146872399082006693143e-340) }}, {{ SC_(30.0), SC_(4.3980465111040000000000000000000000e12), SC_(-4.4539391931915691818714510320431840e-349) }}, {{ SC_(30.0), SC_(8.7960930222080000000000000000000000e12), SC_(-4.1480541165768856815409742503596800e-358) }}, {{ SC_(30.0), SC_(1.7592186044416000000000000000000000e13), SC_(-3.8631764394914254898921483964257641e-367) }}, {{ SC_(30.0), SC_(3.5184372088832000000000000000000000e13), SC_(-3.5978634278194778773174853574513736e-376) }}, {{ SC_(30.0), SC_(7.0368744177664000000000000000000000e13), SC_(-3.3507714307109927261253979955016489e-385) }}, {{ SC_(30.0), SC_(1.4073748835532800000000000000000000e14), SC_(-3.1206490757974196189832923991915393e-394) }}, {{ SC_(30.0), SC_(2.8147497671065600000000000000000000e14), SC_(-2.9063309317429115226430982195302982e-403) }}, {{ SC_(30.0), SC_(5.6294995342131200000000000000000000e14), SC_(-2.7067316060353387914883678696809847e-412) }}, {{ SC_(30.0), SC_(1.1258999068426240000000000000000000e15), SC_(-2.5208402481258872249902802122831258e-421) }}, {{ SC_(30.0), SC_(2.2517998136852480000000000000000000e15), SC_(-2.3477154300789073415295882015261417e-430) }}, {{ SC_(30.0), SC_(4.5035996273704960000000000000000000e15), SC_(-2.1864803788055661339931292249701424e-439) }}, {{ SC_(30.0), SC_(9.0071992547409920000000000000000000e15), SC_(-2.0363185357354232042765617960742937e-448) }}, {{ SC_(30.0), SC_(1.8014398509481984000000000000000000e16), SC_(-1.8964694214383340521722742474983073e-457) }}, {{ SC_(30.0), SC_(3.6028797018963968000000000000000000e16), SC_(-1.7662247842534755008372178353398608e-466) }}, {{ SC_(30.0), SC_(7.2057594037927936000000000000000000e16), SC_(-1.6449250134206145379392674041454779e-475) }}, {{ SC_(30.0), SC_(1.4411518807585587200000000000000000e17), SC_(-1.5319557985482871222587909400586267e-484) }}, {{ SC_(30.0), SC_(2.8823037615171174400000000000000000e17), SC_(-1.4267450185011020326364788255126534e-493) }}, {{ SC_(30.0), SC_(5.7646075230342348800000000000000000e17), SC_(-1.3287598439502548384585954790099239e-502) }}, {{ SC_(30.0), SC_(1.1529215046068469760000000000000000e18), SC_(-1.2375040389134127843853680088571555e-511) }}, {{ SC_(30.0), SC_(2.3058430092136939520000000000000000e18), SC_(-1.1525154476178928989312989675999669e-520) }}, {{ SC_(30.0), SC_(4.6116860184273879040000000000000000e18), SC_(-1.0733636539596066765325327508232535e-529) }}, {{ SC_(30.0), SC_(9.2233720368547758080000000000000000e18), SC_(-9.9964780170433844885501818972479211e-539) }}, {{ SC_(30.0), SC_(1.8446744073709551616000000000000000e19), SC_(-9.3099456439198781553856371993072353e-548) }}, {{ SC_(30.0), SC_(3.6893488147419103232000000000000000e19), SC_(-8.6705625466256198953841239814504762e-557) }}, {{ SC_(30.0), SC_(7.3786976294838206464000000000000000e19), SC_(-8.0750906342879122995040411743125170e-566) }}, {{ SC_(30.0), SC_(1.4757395258967641292800000000000000e20), SC_(-7.5205141997783559362248117439409145e-575) }}, {{ SC_(30.0), SC_(2.9514790517935282585600000000000000e20), SC_(-7.0040246469698435960734303533011581e-584) }}, {{ SC_(30.0), SC_(5.9029581035870565171200000000000000e20), SC_(-6.5230062668862227312246814035998837e-593) }}, {{ SC_(30.0), SC_(1.1805916207174113034240000000000000e21), SC_(-6.0750229907093781336599992450810038e-602) }}, {{ SC_(30.0), SC_(2.3611832414348226068480000000000000e21), SC_(-5.6578060525556822620531601462211155e-611) }}, {{ SC_(30.0), SC_(4.7223664828696452136960000000000000e21), SC_(-5.2692424995411953535258666060047970e-620) }}, {{ SC_(30.0), SC_(9.4447329657392904273920000000000000e21), SC_(-4.9073644909460054277605359114212468e-629) }}, {{ SC_(30.0), SC_(1.8889465931478580854784000000000000e22), SC_(-4.5703393322844108825145652571006034e-638) }}, {{ SC_(30.0), SC_(3.7778931862957161709568000000000000e22), SC_(-4.2564601938095045113123493445833636e-647) }}, {{ SC_(30.0), SC_(7.5557863725914323419136000000000000e22), SC_(-3.9641374664469664090420159863859993e-656) }}, {{ SC_(30.0), SC_(1.5111572745182864683827200000000000e23), SC_(-3.6918907113810688341424078675611601e-665) }}, {{ SC_(30.0), SC_(3.0223145490365729367654400000000000e23), SC_(-3.4383411625223875363750612697898904e-674) }}, {{ SC_(30.0), SC_(6.0446290980731458735308800000000000e23), SC_(-3.2022047438867274079238771888571055e-683) }}, {{ SC_(30.0), SC_(1.2089258196146291747061760000000000e24), SC_(-2.9822855665224859564787125744222496e-692) }}, {{ SC_(30.0), SC_(2.4178516392292583494123520000000000e24), SC_(-2.7774698720523025435197111896762965e-701) }}, {{ SC_(30.0), SC_(4.8357032784585166988247040000000000e24), SC_(-2.5867203921566741015014262629362602e-710) }}, {{ SC_(30.0), SC_(9.6714065569170333976494080000000000e24), SC_(-2.4090710954337139627909495039162813e-719) }}, {{ SC_(30.0), SC_(1.9342813113834066795298816000000000e25), SC_(-2.2436222950310576360588405614024340e-728) }}, {{ SC_(30.0), SC_(3.8685626227668133590597632000000000e25), SC_(-2.0895360922730133273255449640176061e-737) }}, {{ SC_(30.0), SC_(7.7371252455336267181195264000000000e25), SC_(-1.9460321332076688551581879695116458e-746) }}, {{ SC_(30.0), SC_(1.5474250491067253436239052800000000e26), SC_(-1.8123836565834180034307649180969011e-755) }}, {{ SC_(30.0), SC_(3.0948500982134506872478105600000000e26), SC_(-1.6879138132402841033700526042422183e-764) }}, {{ SC_(30.0), SC_(6.1897001964269013744956211200000000e26), SC_(-1.5719922382759713599179429591983936e-773) }}, {{ SC_(30.0), SC_(1.2379400392853802748991242240000000e27), SC_(-1.4640318586267264186571752095136003e-782) }}, {{ SC_(30.0), SC_(2.4758800785707605497982484480000000e27), SC_(-1.3634859198953271085928894585406723e-791) }}, {{ SC_(30.0), SC_(4.9517601571415210995964968960000000e27), SC_(-1.2698452173688701433994709089494920e-800) }}, {{ SC_(30.0), SC_(9.9035203142830421991929937920000000e27), SC_(-1.1826355172031280988822420193126128e-809) }}, {{ SC_(30.0), SC_(1.9807040628566084398385987584000000e28), SC_(-1.1014151547133252945563215933898419e-818) }}, {{ SC_(30.0), SC_(3.9614081257132168796771975168000000e28), SC_(-1.0257727976081197099353387886404875e-827) }}, {{ SC_(30.0), SC_(7.9228162514264337593543950336000000e28), SC_(-9.5532536283891621039746216353614015e-837) }}, {{ SC_(30.0), SC_(1.5845632502852867518708790067200000e29), SC_(-8.8971607651460562869670071028704372e-846) }}, {{ SC_(30.0), SC_(3.1691265005705735037417580134400000e29), SC_(-8.2861266705636459281360796675545348e-855) }}, {{ SC_(30.0), SC_(6.3382530011411470074835160268800000e29), SC_(-7.7170568244193177000955489160105929e-864) }}, {{ SC_(30.0), SC_(1.2676506002282294014967032053760000e30), SC_(-7.1870692301721476950641245729469486e-873) }},
+ {{ SC_(31.0), SC_(2.0000000000000000000000000000000000), SC_(1.9145332544935048093264355986676073e24) }}, {{ SC_(31.0), SC_(4.0000000000000000000000000000000000), SC_(4.4611518561919816922776795853710092e14) }}, {{ SC_(31.0), SC_(8.0000000000000000000000000000000000), SC_(106267.95619808419253963903669279065) }}, {{ SC_(31.0), SC_(16.000000000000000000000000000000000), SC_(0.000028318136062027075392587779376335821) }}, {{ SC_(31.0), SC_(32.000000000000000000000000000000000), SC_(9.0814734303237413772295578988209818e-15) }}
+ } };
+ boost::array<boost::array<value_type, 3>, 551> neg_data =
+ { {
+ {{ SC_(1.0), SC_(-12.750), SC_(19.663772856722737612034697464751605) }}, {{ SC_(1.0), SC_(-12.250), SC_(19.660817549236368273654684043826967) }}, {{ SC_(1.0), SC_(-11.750), SC_(19.657621376522814505537196503582823) }}, {{ SC_(1.0), SC_(-11.250), SC_(19.654153659190554029589711115880278) }}, {{ SC_(1.0), SC_(-10.750), SC_(19.650378280099093364749509767503149) }}, {{ SC_(1.0), SC_(-10.250), SC_(19.646252424622652795021809881312377) }}, {{ SC_(1.0), SC_(-9.7500), SC_(19.641724953976865133273035997897957) }}, {{ SC_(1.0), SC_(-9.2500), SC_(19.636734280660725370869519577921538) }}, {{ SC_(1.0), SC_(-8.7500), SC_(19.631205558842085383108670448917024) }}, {{ SC_(1.0), SC_(-8.2500), SC_(19.625046917622010980803778160828770) }}, {{ SC_(1.0), SC_(-7.7500), SC_(19.618144334352289464741323510141514) }}, {{ SC_(1.0), SC_(-7.2500), SC_(19.610354539293269015698176691590937) }}, {{ SC_(1.0), SC_(-6.7500), SC_(19.601495010731061577124257953429755) }}, {{ SC_(1.0), SC_(-6.2500), SC_(19.591329569019785068016844943671793) }}, {{ SC_(1.0), SC_(-5.7500), SC_(19.579547136931335925546754524074474) }}, {{ SC_(1.0), SC_(-5.2500), SC_(19.565729569019785068016844943671793) }}, {{ SC_(1.0), SC_(-4.7500), SC_(19.549301390239464469970194977760674) }}, {{ SC_(1.0), SC_(-4.2500), SC_(19.529448389881463072551992335962043) }}, {{ SC_(1.0), SC_(-3.7500), SC_(19.504980060599575273294294700752364) }}, {{ SC_(1.0), SC_(-3.2500), SC_(19.474085068082155114074483685443011) }}, {{ SC_(1.0), SC_(-2.7500), SC_(19.433868949488464162183183589641253) }}, {{ SC_(1.0), SC_(-2.2500), SC_(19.379410511869137362595193744614609) }}, {{ SC_(1.0), SC_(-1.7500), SC_(19.301637544529786476232770366500757) }}, {{ SC_(1.0), SC_(-1.2500), SC_(19.181879647671606498397662880417078) }}, {{ SC_(1.0), SC_(-0.75000), SC_(18.975106932284888517049096897113002) }}, {{ SC_(1.0), SC_(-0.25000), SC_(18.541879647671606498397662880417078) }},
+ {{ SC_(2.0), SC_(-12.750), SC_(-124.03079461415823384604153251543681) }}, {{ SC_(2.0), SC_(-12.250), SC_(124.01896466745858356132308878716344) }}, {{ SC_(2.0), SC_(-11.750), SC_(-124.03175955222881001960976796032603) }}, {{ SC_(2.0), SC_(-11.250), SC_(124.01787668541028735821044014586602) }}, {{ SC_(2.0), SC_(-10.750), SC_(-124.03299241970518808612682102178640) }}, {{ SC_(2.0), SC_(-10.250), SC_(124.01647202148710491650947992638728) }}, {{ SC_(2.0), SC_(-9.7500), SC_(-124.03460234084420729198290916496876) }}, {{ SC_(2.0), SC_(-9.2500), SC_(124.01461482266526541911391108670126) }}, {{ SC_(2.0), SC_(-8.7500), SC_(-124.03676016548723903560636876475972) }}, {{ SC_(2.0), SC_(-8.2500), SC_(124.01208782525148933477537240192445) }}, {{ SC_(2.0), SC_(-7.7500), SC_(-124.03974558822776381694747663647984) }}, {{ SC_(2.0), SC_(-7.2500), SC_(124.00852603656573370687098416695770) }}, {{ SC_(2.0), SC_(-6.7500), SC_(-124.04404218787195165891317097369578) }}, {{ SC_(2.0), SC_(-6.2500), SC_(124.00327776890408296268303058132483) }}, {{ SC_(2.0), SC_(-5.7500), SC_(-124.05054526159038888901020902683808) }}, {{ SC_(2.0), SC_(-5.2500), SC_(123.99508576890408296268303058132483) }}, {{ SC_(2.0), SC_(-4.7500), SC_(-124.06106552130930069964553408642549) }}, {{ SC_(2.0), SC_(-4.2500), SC_(123.98126436732757934536308673076874) }}, {{ SC_(2.0), SC_(-3.7500), SC_(-124.07972713378925404561433420306057) }}, {{ SC_(2.0), SC_(-3.2500), SC_(123.95521103942202265902072971875978) }}, {{ SC_(2.0), SC_(-2.7500), SC_(-124.11765305971517997154026012898649) }}, {{ SC_(2.0), SC_(-2.2500), SC_(123.89694977406016558118732052440384) }}, {{ SC_(2.0), SC_(-1.7500), SC_(-124.21382135423058192495874247308867) }}, {{ SC_(2.0), SC_(-1.2500), SC_(123.72136678366236036856729308956159) }}, {{ SC_(2.0), SC_(-0.75000), SC_(-124.58699919679617959259722643810325) }}, {{ SC_(2.0), SC_(-0.25000), SC_(122.69736678366236036856729308956159) }},
+ {{ SC_(3.0), SC_(-12.750), SC_(1558.5445992104061926890981987122713) }}, {{ SC_(3.0), SC_(-12.250), SC_(1558.5444945580353369268010524200916) }}, {{ SC_(3.0), SC_(-11.750), SC_(1558.5443721661542924129644962546503) }}, {{ SC_(3.0), SC_(-11.250), SC_(1558.5442281134520807137938731609983) }}, {{ SC_(3.0), SC_(-10.750), SC_(1558.5440573914794724810878018559796) }}, {{ SC_(3.0), SC_(-10.250), SC_(1558.5438535364058987293402837691373) }}, {{ SC_(3.0), SC_(-9.7500), SC_(1558.5436081111616066561977307462543) }}, {{ SC_(3.0), SC_(-9.2500), SC_(1558.5433099660190188764440197184975) }}, {{ SC_(3.0), SC_(-8.7500), SC_(1558.5429441651175968889289739463186) }}, {{ SC_(3.0), SC_(-8.2500), SC_(1558.5424903992902266328747639288402) }}, {{ SC_(3.0), SC_(-7.7500), SC_(1558.5419205916065598210405941045860) }}, {{ SC_(3.0), SC_(-7.2500), SC_(1558.5411952034044973136368045706704) }}, {{ SC_(3.0), SC_(-6.7500), SC_(1558.5402573917442935596345188772766) }}, {{ SC_(3.0), SC_(-6.2500), SC_(1558.5390235064410556263866168800637) }}, {{ SC_(3.0), SC_(-5.7500), SC_(1558.5373671367583214573691686314356) }}, {{ SC_(3.0), SC_(-5.2500), SC_(1558.5350913464410556263866168800637) }}, {{ SC_(3.0), SC_(-4.7500), SC_(1558.5318783056006283387768251220856) }}, {{ SC_(3.0), SC_(-4.2500), SC_(1558.5271934026830535593466489654603) }}, {{ SC_(3.0), SC_(-3.7500), SC_(1558.5200920240343420150070566273687) }}, {{ SC_(3.0), SC_(-3.2500), SC_(1558.5088028182791311925167498981598) }}, {{ SC_(3.0), SC_(-2.7500), SC_(1558.4897512832936012742663158866280) }}, {{ SC_(3.0), SC_(-2.2500), SC_(1558.4550231887143400437474491033697) }}, {{ SC_(3.0), SC_(-1.7500), SC_(1558.3848404165495264159916078748802) }}, {{ SC_(3.0), SC_(-1.2500), SC_(1558.2209125348505997602540791902467) }}, {{ SC_(3.0), SC_(-0.75000), SC_(1557.7451069721513589857542067919980) }}, {{ SC_(3.0), SC_(-0.25000), SC_(1555.7633125348505997602540791902467) }},
+ {{ SC_(4.0), SC_(-12.750), SC_(-24481.574976569827769932951761311307) }}, {{ SC_(4.0), SC_(-12.250), SC_(24481.574556933476371183897773040987) }}, {{ SC_(4.0), SC_(-11.750), SC_(-24481.575047799396993548993707180364) }}, {{ SC_(4.0), SC_(-11.250), SC_(24481.574469931163471195977061446181) }}, {{ SC_(4.0), SC_(-10.750), SC_(-24481.575154956733102461973007401188) }}, {{ SC_(4.0), SC_(-10.250), SC_(24481.574336748213717601504674106852) }}, {{ SC_(4.0), SC_(-9.7500), SC_(-24481.575322130804866489839080372249) }}, {{ SC_(4.0), SC_(-9.2500), SC_(24481.574124623184691317447595452944) }}, {{ SC_(4.0), SC_(-8.7500), SC_(-24481.575594518925485881539083161966) }}, {{ SC_(4.0), SC_(-8.2500), SC_(24481.573770215950618995904133489849) }}, {{ SC_(4.0), SC_(-7.7500), SC_(-24481.576062438244817112573771089615) }}, {{ SC_(4.0), SC_(-7.2500), SC_(24481.573142242187841144152395619221) }}, {{ SC_(4.0), SC_(-6.7500), SC_(-24481.576920863980180344267229271453) }}, {{ SC_(4.0), SC_(-6.2500), SC_(24481.571944064552838833945395514059) }}, {{ SC_(4.0), SC_(-5.7500), SC_(-24481.578633607675571219683733120840) }}, {{ SC_(4.0), SC_(-5.2500), SC_(24481.569427482152838833945395514059) }}, {{ SC_(4.0), SC_(-4.7500), SC_(-24481.582451925002662084791450344735) }}, {{ SC_(4.0), SC_(-4.2500), SC_(24481.563410001194361068581610436266) }}, {{ SC_(4.0), SC_(-3.7500), SC_(-24481.592377214742692673229150129760) }}, {{ SC_(4.0), SC_(-3.2500), SC_(24481.546101215873022370388764255277) }}, {{ SC_(4.0), SC_(-2.7500), SC_(-24481.624740671532816130019273586550) }}, {{ SC_(4.0), SC_(-2.2500), SC_(24481.479910902562510187288086353997) }}, {{ SC_(4.0), SC_(-1.7500), SC_(-24481.777338295887834105691576149093) }}, {{ SC_(4.0), SC_(-1.2500), SC_(24481.063714184582527461077650952890) }}, {{ SC_(4.0), SC_(-0.75000), SC_(-24483.239586168797931089091350052823) }}, {{ SC_(4.0), SC_(-0.25000), SC_(24473.199394184582527461077650952890) }},
+ {{ SC_(5.0), SC_(-12.750), SC_(492231.26705220367447285602722829798) }}, {{ SC_(5.0), SC_(-12.250), SC_(492231.26703986858726773334478356804) }}, {{ SC_(5.0), SC_(-11.750), SC_(492231.26702427051007143797156325129) }}, {{ SC_(5.0), SC_(-11.250), SC_(492231.26700435743914528929551352935) }}, {{ SC_(5.0), SC_(-10.750), SC_(492231.26697867164364211329952060413) }}, {{ SC_(5.0), SC_(-10.250), SC_(492231.26694516501703258064111915631) }}, {{ SC_(5.0), SC_(-9.7500), SC_(492231.26690091626142628638506805946) }}, {{ SC_(5.0), SC_(-9.2500), SC_(492231.26684168939311732012547103246) }}, {{ SC_(5.0), SC_(-8.7500), SC_(492231.26676123004572403423122047499) }}, {{ SC_(5.0), SC_(-8.2500), SC_(492231.26665011791524038956143753889) }}, {{ SC_(5.0), SC_(-7.7500), SC_(492231.26649384757753475935425594490) }}, {{ SC_(5.0), SC_(-7.2500), SC_(492231.26626952775598108546947519306) }}, {{ SC_(5.0), SC_(-6.7500), SC_(492231.26594002452246170664879905339) }}, {{ SC_(5.0), SC_(-6.2500), SC_(492231.26544319835253121636119925846) }}, {{ SC_(5.0), SC_(-5.7500), SC_(492231.26467132548883883596990731311) }}, {{ SC_(5.0), SC_(-5.2500), SC_(492231.26342993243253121636119925846) }}, {{ SC_(5.0), SC_(-4.7500), SC_(492231.26135104955223808370232711841) }}, {{ SC_(5.0), SC_(-4.2500), SC_(492231.25769899818636191601473727961) }}, {{ SC_(5.0), SC_(-3.7500), SC_(492231.25090337614167956955737997628) }}, {{ SC_(5.0), SC_(-3.2500), SC_(492231.23733572133772815343491824315) }}, {{ SC_(5.0), SC_(-2.7500), SC_(492231.20775210042151496050388203390) }}, {{ SC_(5.0), SC_(-2.2500), SC_(492231.13550447009078633328002916426) }}, {{ SC_(5.0), SC_(-1.7500), SC_(492230.93030187432148227746333192018) }}, {{ SC_(5.0), SC_(-1.2500), SC_(492230.21062287457971360836795049513) }}, {{ SC_(5.0), SC_(-0.75000), SC_(492226.75245080886406232489254933809) }}, {{ SC_(5.0), SC_(-0.25000), SC_(492198.75334287457971360836795049513) }},
+ {{ SC_(6.0), SC_(-12.750), SC_(-1.1791224761262553923199740571475659e7) }}, {{ SC_(6.0), SC_(-12.250), SC_(1.1791224761212959953338096554813394e7) }}, {{ SC_(6.0), SC_(-11.750), SC_(-1.1791224761275698941741584362376857e7) }}, {{ SC_(6.0), SC_(-11.250), SC_(1.1791224761195566737931185183742355e7) }}, {{ SC_(6.0), SC_(-10.750), SC_(-1.1791224761298983469279962918313528e7) }}, {{ SC_(6.0), SC_(-10.250), SC_(1.1791224761163997446137740568065356e7) }}, {{ SC_(6.0), SC_(-9.7500), SC_(-1.1791224761342381822144610498473088e7) }}, {{ SC_(6.0), SC_(-9.2500), SC_(1.1791224761103426349211734412564015e7) }}, {{ SC_(6.0), SC_(-8.7500), SC_(-1.1791224761428342570269073362379294e7) }}, {{ SC_(6.0), SC_(-8.2500), SC_(1.1791224760979163768967238911569317e7) }}, {{ SC_(6.0), SC_(-7.7500), SC_(-1.1791224761611690548456004706583543e7) }}, {{ SC_(6.0), SC_(-7.2500), SC_(1.1791224760702370925869563208323974e7) }}, {{ SC_(6.0), SC_(-6.7500), SC_(-1.1791224762040456784641593897905007e7) }}, {{ SC_(6.0), SC_(-6.2500), SC_(1.1791224760018512109221395670440442e7) }}, {{ SC_(6.0), SC_(-5.7500), SC_(-1.1791224763168189258973034501364332e7) }}, {{ SC_(6.0), SC_(-5.2500), SC_(1.1791224758085776826021395670440442e7) }}, {{ SC_(6.0), SC_(-4.7500), SC_(-1.1791224766632825018904254258839318e7) }}, {{ SC_(6.0), SC_(-4.2500), SC_(1.1791224751536137687542195274483895e7) }}, {{ SC_(6.0), SC_(-3.7500), SC_(-1.1791224779829886169083430020877813e7) }}, {{ SC_(6.0), SC_(-3.2500), SC_(1.1791224722787982136529824573562902e7) }}, {{ SC_(6.0), SC_(-2.7500), SC_(-1.1791224848871927321346804506474521e7) }}, {{ SC_(6.0), SC_(-2.2500), SC_(1.1791224534791825988329541210690757e7) }}, {{ SC_(6.0), SC_(-1.7500), SC_(-1.1791225454217875175963567504038405e7) }}, {{ SC_(6.0), SC_(-1.2500), SC_(1.1791222068440904625468941445147639e7) }}, {{ SC_(6.0), SC_(-0.75000), SC_(-1.1791239778278671029974833461007258e7) }}, {{ SC_(6.0), SC_(-0.25000), SC_(1.1791071073496904625468941445147639e7) }},
+ {{ SC_(7.0), SC_(-12.750), SC_(3.3035269585550319411369451657990653e8) }}, {{ SC_(7.0), SC_(-12.250), SC_(3.3035269585550014530679554645726841e8) }}, {{ SC_(7.0), SC_(-11.750), SC_(3.3035269585549597724076958273392155e8) }}, {{ SC_(7.0), SC_(-11.250), SC_(3.3035269585549020632656302567379925e8) }}, {{ SC_(7.0), SC_(-10.750), SC_(3.3035269585548210560734246359421460e8) }}, {{ SC_(7.0), SC_(-10.250), SC_(3.3035269585547056321166932680182245e8) }}, {{ SC_(7.0), SC_(-9.7500), SC_(3.3035269585545384621477943726294791e8) }}, {{ SC_(7.0), SC_(-9.2500), SC_(3.3035269585542919758450034698830934e8) }}, {{ SC_(7.0), SC_(-8.7500), SC_(3.3035269585539213080586956648886140e8) }}, {{ SC_(7.0), SC_(-8.2500), SC_(3.3035269585533516103728829633890794e8) }}, {{ SC_(7.0), SC_(-7.7500), SC_(3.3035269585524545242332002141349801e8) }}, {{ SC_(7.0), SC_(-7.2500), SC_(3.3035269585510030650375087453009371e8) }}, {{ SC_(7.0), SC_(-6.7500), SC_(3.3035269585485817969386206988585281e8) }}, {{ SC_(7.0), SC_(-6.2500), SC_(3.3035269585444002902560781621765444e8) }}, {{ SC_(7.0), SC_(-5.7500), SC_(3.3035269585368867935011094629708018e8) }}, {{ SC_(7.0), SC_(-5.2500), SC_(3.3035269585227536550842381621765444e8) }}, {{ SC_(7.0), SC_(-4.7500), SC_(3.3035269584947086190323815702711063e8) }}, {{ SC_(7.0), SC_(-4.2500), SC_(3.3035269584354251332378488235637904e8) }}, {{ SC_(7.0), SC_(-3.7500), SC_(3.3035269583002256126086884537779074e8) }}, {{ SC_(7.0), SC_(-3.2500), SC_(3.3035269579619261006329391884897976e8) }}, {{ SC_(7.0), SC_(-2.7500), SC_(3.3035269570114408444331054633801022e8) }}, {{ SC_(7.0), SC_(-2.2500), SC_(3.3035269539127781220563177006740899e8) }}, {{ SC_(7.0), SC_(-1.7500), SC_(3.3035269416026348990428605870784761e8) }}, {{ SC_(7.0), SC_(-1.2500), SC_(3.3035268771818605685450990413016373e8) }}, {{ SC_(7.0), SC_(-0.75000), SC_(3.3035263686402030648824099487997220e8) }}, {{ SC_(7.0), SC_(-0.25000), SC_(3.3035184214649965685450990413016373e8) }},
+ {{ SC_(8.0), SC_(-7.7500), SC_(-1.0569114259666913771892699180522388e10) }}, {{ SC_(8.0), SC_(-7.2500), SC_(1.0569114259666319911021283350705169e10) }}, {{ SC_(8.0), SC_(-6.7500), SC_(-1.0569114259667313537290849324034796e10) }}, {{ SC_(8.0), SC_(-6.2500), SC_(1.0569114259665591328976435838084546e10) }}, {{ SC_(8.0), SC_(-5.7500), SC_(-1.0569114259668699611772332137177045e10) }}, {{ SC_(8.0), SC_(-5.2500), SC_(1.0569114259662820559674440318084546e10) }}, {{ SC_(8.0), SC_(-4.7500), SC_(-1.0569114259674567879524502974422220e10) }}, {{ SC_(8.0), SC_(-4.2500), SC_(1.0569114259649513356345466704581650e10) }}, {{ SC_(8.0), SC_(-3.7500), SC_(-1.0569114259707322912185335499305285e10) }}, {{ SC_(8.0), SC_(-3.2500), SC_(1.0569114259560384126678660185038311e10) }}, {{ SC_(8.0), SC_(-2.7500), SC_(-1.0569114259982263662729459870590150e10) }}, {{ SC_(8.0), SC_(-2.2500), SC_(1.0569114258563670778105953357268290e10) }}, {{ SC_(8.0), SC_(-1.7500), SC_(-1.0569114264464825392297531107332441e10) }}, {{ SC_(8.0), SC_(-1.2500), SC_(1.0569114231281566759079742278380307e10) }}, {{ SC_(8.0), SC_(-0.75000), SC_(-1.0569114526390508516485165684831300e10) }}, {{ SC_(8.0), SC_(-0.25000), SC_(1.0569108819622773799079742278380307e10) }},
+ {{ SC_(9.0), SC_(-7.7500), SC_(3.8051374324233954962308727459400485e11) }}, {{ SC_(9.0), SC_(-7.2500), SC_(3.8051374324233938918730928010849146e11) }}, {{ SC_(9.0), SC_(-6.7500), SC_(3.8051374324233908537939910023379690e11) }}, {{ SC_(9.0), SC_(-6.2500), SC_(3.8051374324233848474063291767903138e11) }}, {{ SC_(9.0), SC_(-5.7500), SC_(3.8051374324233723728009045648294056e11) }}, {{ SC_(9.0), SC_(-5.2500), SC_(3.8051374324233449483283804413023138e11) }}, {{ SC_(9.0), SC_(-4.7500), SC_(3.8051374324232805216534792821594812e11) }}, {{ SC_(9.0), SC_(-4.2500), SC_(3.8051374324231168248427408936422641e11) }}, {{ SC_(9.0), SC_(-3.7500), SC_(3.8051374324226598999820108764248547e11) }}, {{ SC_(9.0), SC_(-3.2500), SC_(3.8051374324212293823321496967578170e11) }}, {{ SC_(9.0), SC_(-2.7500), SC_(3.8051374324160613219689518915140179e11) }}, {{ SC_(9.0), SC_(-2.2500), SC_(3.8051374323936280896024439692195702e11) }}, {{ SC_(9.0), SC_(-1.7500), SC_(3.8051374322693593017285422874024520e11) }}, {{ SC_(9.0), SC_(-1.2500), SC_(3.8051374313023439288413955260640509e11) }}, {{ SC_(9.0), SC_(-0.75000), SC_(3.8051374187988955981988925091310821e11) }}, {{ SC_(9.0), SC_(-0.25000), SC_(3.8051370416629108357213955260640509e11) }},
+ {{ SC_(10.0), SC_(-7.7500), SC_(-1.5220204740668341333676731352020598e13)}}, {{ SC_(10.0), SC_(-7.2500), SC_(1.5220204740668340669650877835677384e13) }}, {{ SC_(10.0), SC_(-6.7500), SC_(-1.5220204740668341932700845125388608e13) }}, {{ SC_(10.0), SC_(-6.2500), SC_(1.5220204740668339422138220784050543e13) }}, {{ SC_(10.0), SC_(-5.7500), SC_(-1.5220204740668344670625746819834321e13) }}, {{ SC_(10.0), SC_(-5.2500), SC_(1.5220204740668333038285748986372463e13) }}, {{ SC_(10.0), SC_(-4.7500), SC_(-1.5220204740668360644738342521168221e13) }}, {{ SC_(10.0), SC_(-4.2500), SC_(1.5220204740668289586193246215389596e13) }}, {{ SC_(10.0), SC_(-3.7500), SC_(-1.5220204740668491301932335869743932e13) }}, {{ SC_(10.0), SC_(-3.2500), SC_(1.5220204740667845482073107110240315e13) }}, {{ SC_(10.0), SC_(-2.7500), SC_(-1.5220204740670250922735818265720155e13) }}, {{ SC_(10.0), SC_(-2.2500), SC_(1.5220204740659352776617813040228546e13) }}, {{ SC_(10.0), SC_(-1.7500), SC_(-1.5220204740723597111914149030851634e13) }}, {{ SC_(10.0), SC_(-1.2500), SC_(1.5220204740174337594057347065492760e13) }}, {{ SC_(10.0), SC_(-0.75000), SC_(-1.5220204748421004942502520332720988e13) }}, {{ SC_(10.0), SC_(-0.25000), SC_(1.5220204428462791119561347065492760e13) }},
+ {{ SC_(11.0), SC_(-7.7500), SC_(6.6969403856797204470999075620782555e14)}}, {{ SC_(11.0), SC_(-7.2500), SC_(6.6969403856797204443997065278152669e14) }}, {{ SC_(11.0), SC_(-6.7500), SC_(6.6969403856797204385976298181981934e14) }}, {{ SC_(11.0), SC_(-6.2500), SC_(6.6969403856797204254719282828940321e14) }}, {{ SC_(11.0), SC_(-5.7500), SC_(6.6969403856797203939795943831775966e14) }}, {{ SC_(11.0), SC_(-5.2500), SC_(6.6969403856797203131161247792548979e14) }}, {{ SC_(11.0), SC_(-4.7500), SC_(6.6969403856797200883878751610651220e14) }}, {{ SC_(11.0), SC_(-4.2500), SC_(6.6969403856797194026913294831009712e14) }}, {{ SC_(11.0), SC_(-3.7500), SC_(6.6969403856797170626423300519402108e14) }}, {{ SC_(11.0), SC_(-3.2500), SC_(6.6969403856797079082317494121441662e14) }}, {{ SC_(11.0), SC_(-2.7500), SC_(6.6969403856796654470987612349915749e14) }}, {{ SC_(11.0), SC_(-2.2500), SC_(6.6969403856794204628163394590053064e14) }}, {{ SC_(11.0), SC_(-1.7500), SC_(6.6969403856775315995316280043863158e14) }}, {{ SC_(11.0), SC_(-1.2500), SC_(6.6969403856557086094467166780182235e14) }}, {{ SC_(11.0), SC_(-0.75000), SC_(6.6969403851936945358946446654116707e14) }}, {{ SC_(11.0), SC_(-0.25000), SC_(6.6969403582250925196910686780182235e14) }},
+ {{ SC_(12.0), SC_(-7.7500), SC_(-3.2145233093874118337222380549030432e16)}}, {{ SC_(12.0), SC_(-7.2500), SC_(3.2145233093874118336089459241510371e16) }}, {{ SC_(12.0), SC_(-6.7500), SC_(-3.2145233093874118338538862264211861e16) }}, {{ SC_(12.0), SC_(-6.2500), SC_(3.2145233093874118332956585600971684e16) }}, {{ SC_(12.0), SC_(-5.7500), SC_(-3.2145233093874118346470957452659967e16) }}, {{ SC_(12.0), SC_(-5.2500), SC_(3.2145233093874118311384271328272970e16) }}, {{ SC_(12.0), SC_(-4.7500), SC_(-3.2145233093874118410246620594666049e16) }}, {{ SC_(12.0), SC_(-4.2500), SC_(3.2145233093874118103287175260580644e16) }}, {{ SC_(12.0), SC_(-3.7500), SC_(-3.2145233093874119174645495148550237e16) }}, {{ SC_(12.0), SC_(-3.2500), SC_(3.2145233093874114857792705593486958e16) }}, {{ SC_(12.0), SC_(-2.7500), SC_(-3.2145233093874135691619437169973801e16) }}, {{ SC_(12.0), SC_(-2.2500), SC_(3.2145233093874008724100861918481841e16) }}, {{ SC_(12.0), SC_(-1.7500), SC_(-3.2145233093875066825103277125147005e16) }}, {{ SC_(12.0), SC_(-1.2500), SC_(3.2145233093861362402303729768622063e16) }}, {{ SC_(12.0), SC_(-0.75000), SC_(-3.2145233094206840811597208557586761e16) }}, {{ SC_(12.0), SC_(-0.25000), SC_(3.2145233067527970956138307688622063e16) }},
+ {{ SC_(13.0), SC_(-7.7500), SC_(1.6715535177261375555623235851859237e18)}}, {{ SC_(13.0), SC_(-7.2500), SC_(1.6715535177261375555616811505615971e18) }}, {{ SC_(13.0), SC_(-6.7500), SC_(1.6715535177261375555601152932765871e18) }}, {{ SC_(13.0), SC_(-6.2500), SC_(1.6715535177261375555560635840337346e18) }}, {{ SC_(13.0), SC_(-5.7500), SC_(1.6715535177261375555448386655062426e18) }}, {{ SC_(13.0), SC_(-5.2500), SC_(1.6715535177261375555111931703465213e18) }}, {{ SC_(13.0), SC_(-4.7500), SC_(1.6715535177261375554006502097069245e18) }}, {{ SC_(13.0), SC_(-4.2500), SC_(1.6715535177261375549959051229408070e18) }}, {{ SC_(13.0), SC_(-3.7500), SC_(1.6715535177261375533086111846120836e18) }}, {{ SC_(13.0), SC_(-3.2500), SC_(1.6715535177261375450685102745473439e18) }}, {{ SC_(13.0), SC_(-2.7500), SC_(1.6715535177261374960497681856044819e18) }}, {{ SC_(13.0), SC_(-2.2500), SC_(1.6715535177261371205337428998473234e18) }}, {{ SC_(13.0), SC_(-1.7500), SC_(1.6715535177261330943278445785436631e18) }}, {{ SC_(13.0), SC_(-1.2500), SC_(1.6715535177260640528966928029814669e18) }}, {{ SC_(13.0), SC_(-0.75000), SC_(1.6715535177236684875710325164741107e18) }}, {{ SC_(13.0), SC_(-0.25000), SC_(1.6715535174521967818565724133494669e18) }},
+ {{ SC_(20.0), SC_(-7.7500), SC_(-1.0700016187896297695358366297227405e31)}}, {{ SC_(20.0), SC_(-7.2500), SC_(1.0700016187896297695358366297227207e31) }}, {{ SC_(20.0), SC_(-6.7500), SC_(-1.0700016187896297695358366297227919e31) }}, {{ SC_(20.0), SC_(-6.2500), SC_(1.0700016187896297695358366297225123e31) }}, {{ SC_(20.0), SC_(-5.7500), SC_(-1.0700016187896297695358366297237267e31) }}, {{ SC_(20.0), SC_(-5.2500), SC_(1.0700016187896297695358366297178064e31) }}, {{ SC_(20.0), SC_(-4.7500), SC_(-1.0700016187896297695358366297508349e31) }}, {{ SC_(20.0), SC_(-4.2500), SC_(1.0700016187896297695358366295346680e31) }}, {{ SC_(20.0), SC_(-3.7500), SC_(-1.0700016187896297695358366312489970e31) }}, {{ SC_(20.0), SC_(-3.2500), SC_(1.0700016187896297695358366140480322e31) }}, {{ SC_(20.0), SC_(-2.7500), SC_(-1.0700016187896297695358368457690989e31) }}, {{ SC_(20.0), SC_(-2.2500), SC_(1.0700016187896297695358322831891149e31) }}, {{ SC_(20.0), SC_(-1.7500), SC_(-1.0700016187896297695359814356987569e31) }}, {{ SC_(20.0), SC_(-1.2500), SC_(1.0700016187896297695260533442006924e31) }}, {{ SC_(20.0), SC_(-0.75000), SC_(-1.0700016187896297714516730336449055e31) }}, {{ SC_(20.0), SC_(-0.25000), SC_(1.0700016187896275255700182817756420e31) }},
+ {{ SC_(23.0), SC_(-7.7500), SC_(7.2766958095269026379022334905108869e36)}}, {{ SC_(23.0), SC_(-7.2500), SC_(7.2766958095269026379022334905108869e36) }}, {{ SC_(23.0), SC_(-6.7500), SC_(7.2766958095269026379022334905108869e36) }}, {{ SC_(23.0), SC_(-6.2500), SC_(7.2766958095269026379022334905108868e36) }}, {{ SC_(23.0), SC_(-5.7500), SC_(7.2766958095269026379022334905108866e36) }}, {{ SC_(23.0), SC_(-5.2500), SC_(7.2766958095269026379022334905108848e36) }}, {{ SC_(23.0), SC_(-4.7500), SC_(7.2766958095269026379022334905108714e36) }}, {{ SC_(23.0), SC_(-4.2500), SC_(7.2766958095269026379022334905107503e36) }}, {{ SC_(23.0), SC_(-3.7500), SC_(7.2766958095269026379022334905093860e36) }}, {{ SC_(23.0), SC_(-3.2500), SC_(7.2766958095269026379022334904893135e36) }}, {{ SC_(23.0), SC_(-2.7500), SC_(7.2766958095269026379022334900771270e36) }}, {{ SC_(23.0), SC_(-2.2500), SC_(7.2766958095269026379022334770834817e36) }}, {{ SC_(23.0), SC_(-1.7500), SC_(7.2766958095269026379022327513062336e36) }}, {{ SC_(23.0), SC_(-1.2500), SC_(7.2766958095269026379021422520579094e36) }}, {{ SC_(23.0), SC_(-0.75000), SC_(7.2766958095269026378642504512809960e36) }}, {{ SC_(23.0), SC_(-0.25000), SC_(7.2766958095269025158194448897624671e36) }},
+ {{ SC_(3.0), -SC_(4.25), SC_(1558.5271934026830535593466489654603)}}, {{ SC_(4.0), -SC_(4.25), SC_(24481.563410001194361068581610436266) }}, {{ SC_(5.0), -SC_(4.25), SC_(492231.25769899818636191601473727961) }}, {{ SC_(6.0), -SC_(4.25), SC_(1.1791224751536137687542195274483895e7) }}, {{ SC_(7.0), -SC_(4.25), SC_(3.3035269584354251332378488235637904e8) }}, {{ SC_(8.0), -SC_(4.25), SC_(1.0569114259649513356345466704581650e10) }}, {{ SC_(9.0), -SC_(4.25), SC_(3.8051374324231168248427408936422641e11) }}, {{ SC_(10.0), -SC_(4.25), SC_(1.5220204740668289586193246215389596e13) }}, {{ SC_(11.0), -SC_(4.25), SC_(6.6969403856797194026913294831009712e14) }}, {{ SC_(12.0), -SC_(4.25), SC_(3.2145233093874118103287175260580644e16) }}, {{ SC_(13.0), -SC_(4.25), SC_(1.6715535177261375549959051229408070e18) }}, {{ SC_(14.0), -SC_(4.25), SC_(9.3606970885707978198242133390297266e19) }}, {{ SC_(15.0), -SC_(4.25), SC_(5.6164187748870728746250217782924909e21) }}, {{ SC_(16.0), -SC_(4.25), SC_(3.5945079045721164734031460047595950e23) }}, {{ SC_(17.0), -SC_(4.25), SC_(2.4442654003427929640663726375953543e25) }}, {{ SC_(18.0), -SC_(4.25), SC_(1.7598710821897274459494049818707809e27) }}, {{ SC_(19.0), -SC_(4.25), SC_(1.3375020239985042298043467701659026e29) }}, {{ SC_(20.0), -SC_(4.25), SC_(1.0700016187896297695358366295346680e31) }}, {{ SC_(21.0), -SC_(4.25), SC_(8.9880135989785359476536358803633961e32) }}, {{ SC_(22.0), -SC_(4.25), SC_(7.9094519667650484338896180683524747e34) }}, {{ SC_(23.0), -SC_(4.25), SC_(7.2766958095269026379022334905107503e36) }},
+ {{ SC_(3.0), SC_(-4.75), SC_(1558.5318783056006283387768251220856) }}, {{ SC_(4.0), SC_(-4.75), SC_(-24481.582451925002662084791450344735) }}, {{ SC_(5.0), SC_(-4.75), SC_(492231.26135104955223808370232711841) }}, {{ SC_(6.0), SC_(-4.75), SC_(-1.1791224766632825018904254258839318e7) }}, {{ SC_(7.0), SC_(-4.75), SC_(3.3035269584947086190323815702711063e8) }}, {{ SC_(8.0), SC_(-4.75), SC_(-1.0569114259674567879524502974422220e10) }}, {{ SC_(9.0), SC_(-4.75), SC_(3.8051374324232805216534792821594812e11) }}, {{ SC_(10.0), SC_(-4.75), SC_(-1.5220204740668360644738342521168221e13) }}, {{ SC_(11.0), SC_(-4.75), SC_(6.6969403856797200883878751610651220e14) }}, {{ SC_(12.0), SC_(-4.75), SC_(-3.2145233093874118410246620594666049e16) }}, {{ SC_(13.0), SC_(-4.75), SC_(1.6715535177261375554006502097069245e18) }}, {{ SC_(14.0), SC_(-4.75), SC_(-9.3606970885707978200117071697879591e19) }}, {{ SC_(15.0), SC_(-4.75), SC_(5.6164187748870728746282195405281448e21) }}, {{ SC_(16.0), SC_(-4.75), SC_(-3.5945079045721164734032997263075953e23) }}, {{ SC_(17.0), SC_(-4.75), SC_(2.4442654003427929640663758934254941e25) }}, {{ SC_(18.0), SC_(-4.75), SC_(-1.7598710821897274459494051446575390e27) }}, {{ SC_(19.0), SC_(-4.75), SC_(1.3375020239985042298043467743154361e29) }}, {{ SC_(20.0), SC_(-4.75), SC_(-1.0700016187896297695358366297508349e31) }}, {{ SC_(21.0), SC_(-4.75), SC_(8.9880135989785359476536358804280906e32) }}, {{ SC_(22.0), SC_(-4.75), SC_(-7.9094519667650484338896180683559907e34) }}, {{ SC_(23.0), SC_(-4.75), SC_(7.2766958095269026379022334905108714e36) }},
+ {{ SC_(1.0), SC_(-9.5), SC_(9.7696874450302318856305468284306792)}}, {{ SC_(3.0), SC_(-9.5), SC_(194.81619198176773011863271713047162) }}, {{ SC_(5.0), SC_(-9.5), SC_(15382.226860156995915624995579131219) }}, {{ SC_(7.0), SC_(-9.5), SC_(2.5808804363008334969805587475917565e6) }}, {{ SC_(9.0), SC_(-9.5), SC_(7.4319090477015599086877150154313919e8) }}, {{ SC_(11.0), SC_(-9.5), SC_(3.2699904226951756570017589463296126e11) }}, {{ SC_(13.0), SC_(-9.5), SC_(2.0404706026930390078103975418992502e14) }}, {{ SC_(15.0), SC_(-9.5), SC_(1.7139949874533303450398622617829339e17) }}, {{ SC_(17.0), SC_(-9.5), SC_(1.8648265078298896515398973583300966e20) }}, {{ SC_(19.0), SC_(-9.5), SC_(2.5510826568574986072623191304028880e23) }}, {{ SC_(21.0), SC_(-9.5), SC_(4.2858188624279670465725116159418790e26) }},
+ {{ SC_(2.0), SC_(-9.5), SC_(-0.0099751442477151692853059194570941025) }}, {{ SC_(4.0), SC_(-9.5), SC_(-0.00059506011900940675655749713967447346) }}, {{ SC_(6.0), SC_(-9.5), SC_(-0.00011794286977626608581527674104044053) }}, {{ SC_(8.0), SC_(-9.5), SC_(-0.000048934615584055214532361558113243801) }}, {{ SC_(10.0), SC_(-9.5), SC_(-0.000034696555222805555969152083201249795) }}, {{ SC_(12.0), SC_(-9.5), SC_(-0.000037470635416758472254487967117333555) }}, {{ SC_(14.0), SC_(-9.5), SC_(-0.000057218576281198884425118075685027774) }}, {{ SC_(16.0), SC_(-9.5), SC_(-0.00011728023376485851827598955099805232) }}, {{ SC_(18.0), SC_(-9.5), SC_(-0.00031049110045758006635527458576736345) }}, {{ SC_(20.0), SC_(-9.5), SC_(-0.0010307637762451416598018081796345932) }},
+ {{ SC_(2.0), SC_(-9.5367431640625000000000000000000000e-7), SC_(2.3058430092136939495958800005662742e18) }}, {{ SC_(2.0), SC_(-4.7683715820312500000000000000000000e-7), SC_(1.8446744073709551613595883097126372e19) }}, {{ SC_(2.0), SC_(-2.3841857910156250000000000000000000e-7), SC_(1.4757395258967641292559588464540430e20) }}, {{ SC_(2.0), SC_(-1.1920928955078125000000000000000000e-7), SC_(1.1805916207174113034215958854195427e21) }}, {{ SC_(2.0), SC_(-5.9604644775390625000000000000000000e-8), SC_(9.4447329657392904273895958858066118e21) }}, {{ SC_(2.0), SC_(-2.9802322387695312500000000000000000e-8), SC_(7.5557863725914323419133595886000146e22) }}, {{ SC_(2.0), SC_(-1.4901161193847656250000000000000000e-8), SC_(6.0446290980731458735308559588609691e23) }}, {{ SC_(2.0), SC_(-7.4505805969238281250000000000000000e-9), SC_(4.8357032784585166988247015958861453e24) }}, {{ SC_(2.0), SC_(-3.7252902984619140625000000000000000e-9), SC_(3.8685626227668133590597629595886169e25) }}, {{ SC_(2.0), SC_(-1.8626451492309570312500000000000000e-9), SC_(3.0948500982134506872478105359588618e26) }}, {{ SC_(2.0), SC_(-9.3132257461547851562500000000000000e-10), SC_(2.4758800785707605497982484455958862e27) }}, {{ SC_(2.0), SC_(-4.6566128730773925781250000000000000e-10), SC_(1.9807040628566084398385987581595886e28) }}, {{ SC_(2.0), SC_(-2.3283064365386962890625000000000000e-10), SC_(1.5845632502852867518708790066959589e29) }}, {{ SC_(2.0), SC_(-1.1641532182693481445312500000000000e-10), SC_(1.2676506002282294014967032053735959e30) }}, {{ SC_(2.0), SC_(-5.8207660913467407226562500000000000e-11), SC_(1.0141204801825835211973625643005596e31) }}, {{ SC_(2.0), SC_(-2.9103830456733703613281250000000000e-11), SC_(8.1129638414606681695789005144061596e31) }}, {{ SC_(2.0), SC_(-1.4551915228366851806640625000000000e-11), SC_(6.4903710731685345356631204115250960e32) }}, {{ SC_(2.0), SC_(-7.2759576141834259033203125000000000e-12), SC_(5.1922968585348276285304963292200936e33) }}, {{ SC_(2.0), SC_(-3.6379788070917129516601562500000000e-12), SC_(4.1538374868278621028243970633760766e34) }}, {{ SC_(2.0), SC_(-1.8189894035458564758300781250000000e-12), SC_(3.3230699894622896822595176507008614e35) }}, {{ SC_(2.0), SC_(-9.0949470177292823791503906250000000e-13), SC_(2.6584559915698317458076141205606891e36) }}, {{ SC_(2.0), SC_(-4.5474735088646411895751953125000000e-13), SC_(2.1267647932558653966460912964485513e37) }}, {{ SC_(2.0), SC_(-2.2737367544323205947875976562500000e-13), SC_(1.7014118346046923173168730371588411e38) }}, {{ SC_(2.0), SC_(-1.1368683772161602973937988281250000e-13), SC_(1.3611294676837538538534984297270728e39) }}, {{ SC_(2.0), SC_(-5.6843418860808014869689941406250000e-14), SC_(1.0889035741470030830827987437816583e40) }}, {{ SC_(2.0), SC_(-2.8421709430404007434844970703125000e-14), SC_(8.7112285931760246646623899502532662e40) }}, {{ SC_(2.0), SC_(-1.4210854715202003717422485351562500e-14), SC_(6.9689828745408197317299119602026130e41) }}, {{ SC_(2.0), SC_(-7.1054273576010018587112426757812500e-15), SC_(5.5751862996326557853839295681620904e42) }}, {{ SC_(2.0), SC_(-3.5527136788005009293556213378906250e-15), SC_(4.4601490397061246283071436545296723e43) }}, {{ SC_(2.0), SC_(-1.7763568394002504646778106689453125e-15), SC_(3.5681192317648997026457149236237378e44) }}, {{ SC_(2.0), SC_(-8.8817841970012523233890533447265625e-16), SC_(2.8544953854119197621165719388989903e45) }}, {{ SC_(2.0), SC_(-4.4408920985006261616945266723632812e-16), SC_(2.2835963083295358096932575511191922e46) }}, {{ SC_(2.0), SC_(-2.2204460492503130808472633361816406e-16), SC_(1.8268770466636286477546060408953538e47) }}, {{ SC_(2.0), SC_(-1.1102230246251565404236316680908203e-16), SC_(1.4615016373309029182036848327162830e48) }}, {{ SC_(2.0), SC_(-5.5511151231257827021181583404541016e-17), SC_(1.1692013098647223345629478661730264e49) }}, {{ SC_(2.0), SC_(-2.7755575615628913510590791702270508e-17), SC_(9.3536104789177786765035829293842113e49) }}, {{ SC_(2.0), SC_(-1.3877787807814456755295395851135254e-17), SC_(7.4828883831342229412028663435073691e50) }}, {{ SC_(2.0), SC_(-6.9388939039072283776476979255676270e-18), SC_(5.9863107065073783529622930748058952e51) }}, {{ SC_(2.0), SC_(-3.4694469519536141888238489627838135e-18), SC_(4.7890485652059026823698344598447162e52) }}, {{ SC_(2.0), SC_(-1.7347234759768070944119244813919067e-18), SC_(3.8312388521647221458958675678757730e53) }}, {{ SC_(2.0), SC_(-8.6736173798840354720596224069595337e-19), SC_(3.0649910817317777167166940543006184e54) }}, {{ SC_(2.0), SC_(-4.3368086899420177360298112034797668e-19), SC_(2.4519928653854221733733552434404947e55) }}, {{ SC_(2.0), SC_(-2.1684043449710088680149056017398834e-19), SC_(1.9615942923083377386986841947523958e56) }}, {{ SC_(2.0), SC_(-1.0842021724855044340074528008699417e-19), SC_(1.5692754338466701909589473558019166e57) }}, {{ SC_(2.0), SC_(-5.4210108624275221700372640043497086e-20), SC_(1.2554203470773361527671578846415333e58) }}, {{ SC_(2.0), SC_(-2.7105054312137610850186320021748543e-20), SC_(1.0043362776618689222137263077132266e59) }}, {{ SC_(2.0), SC_(-1.3552527156068805425093160010874271e-20), SC_(8.0346902212949513777098104617058130e59) }}, {{ SC_(2.0), SC_(-6.7762635780344027125465800054371357e-21), SC_(6.4277521770359611021678483693646504e60) }}, {{ SC_(2.0), SC_(-3.3881317890172013562732900027185678e-21), SC_(5.1422017416287688817342786954917203e61) }},
+ {{ SC_(3.0), SC_(-9.5367431640625000000000000000000000e-7), SC_(7.2535549176877750482370624939631357e24) }}, {{ SC_(3.0), SC_(-4.7683715820312500000000000000000000e-7), SC_(1.1605687868300440077179290249395127e26) }}, {{ SC_(3.0), SC_(-2.3841857910156250000000000000000000e-7), SC_(1.8569100589280704123486863424939453e27) }}, {{ SC_(3.0), SC_(-1.1920928955078125000000000000000000e-7), SC_(2.9710560942849126597578981382493942e28) }}, {{ SC_(3.0), SC_(-5.9604644775390625000000000000000000e-8), SC_(4.7536897508558602556126370202249394e29) }}, {{ SC_(3.0), SC_(-2.9802322387695312500000000000000000e-8), SC_(7.6059036013693764089802192322624939e30) }}, {{ SC_(3.0), SC_(-1.4901161193847656250000000000000000e-8), SC_(1.2169445762191002254368350771610249e32) }}, {{ SC_(3.0), SC_(-7.4505805969238281250000000000000000e-9), SC_(1.9471113219505603606989361234575425e33) }}, {{ SC_(3.0), SC_(-3.7252902984619140625000000000000000e-9), SC_(3.1153781151208965771182977975320582e34) }}, {{ SC_(3.0), SC_(-1.8626451492309570312500000000000000e-9), SC_(4.9846049841934345233892764760512922e35) }}, {{ SC_(3.0), SC_(-9.3132257461547851562500000000000000e-10), SC_(7.9753679747094952374228423616820675e36) }}, {{ SC_(3.0), SC_(-4.6566128730773925781250000000000000e-10), SC_(1.2760588759535192379876547778691308e38) }}, {{ SC_(3.0), SC_(-2.3283064365386962890625000000000000e-10), SC_(2.0416942015256307807802476445906093e39) }}, {{ SC_(3.0), SC_(-1.1641532182693481445312500000000000e-10), SC_(3.2667107224410092492483962313449748e40) }}, {{ SC_(3.0), SC_(-5.8207660913467407226562500000000000e-11), SC_(5.2267371559056147987974339701519597e41) }}, {{ SC_(3.0), SC_(-2.9103830456733703613281250000000000e-11), SC_(8.3627794494489836780758943522431356e42) }}, {{ SC_(3.0), SC_(-1.4551915228366851806640625000000000e-11), SC_(1.3380447119118373884921430963589017e44) }}, {{ SC_(3.0), SC_(-7.2759576141834259033203125000000000e-12), SC_(2.1408715390589398215874289541742427e45) }}, {{ SC_(3.0), SC_(-3.6379788070917129516601562500000000e-12), SC_(3.4253944624943037145398863266787883e46) }}, {{ SC_(3.0), SC_(-1.8189894035458564758300781250000000e-12), SC_(5.4806311399908859432638181226860613e47) }}, {{ SC_(3.0), SC_(-9.0949470177292823791503906250000000e-13), SC_(8.7690098239854175092221089962976981e48) }}, {{ SC_(3.0), SC_(-4.5474735088646411895751953125000000e-13), SC_(1.4030415718376668014755374394076317e50) }}, {{ SC_(3.0), SC_(-2.2737367544323205947875976562500000e-13), SC_(2.2448665149402668823608599030522107e51) }}, {{ SC_(3.0), SC_(-1.1368683772161602973937988281250000e-13), SC_(3.5917864239044270117773758448835371e52) }}, {{ SC_(3.0), SC_(-5.6843418860808014869689941406250000e-14), SC_(5.7468582782470832188438013518136594e53) }}, {{ SC_(3.0), SC_(-2.8421709430404007434844970703125000e-14), SC_(9.1949732451953331501500821629018551e54) }}, {{ SC_(3.0), SC_(-1.4210854715202003717422485351562500e-14), SC_(1.4711957192312533040240131460642968e56) }}, {{ SC_(3.0), SC_(-7.1054273576010018587112426757812500e-15), SC_(2.3539131507700052864384210337028749e57) }}, {{ SC_(3.0), SC_(-3.5527136788005009293556213378906250e-15), SC_(3.7662610412320084583014736539245998e58) }}, {{ SC_(3.0), SC_(-1.7763568394002504646778106689453125e-15), SC_(6.0260176659712135332823578462793598e59) }}, {{ SC_(3.0), SC_(-8.8817841970012523233890533447265625e-16), SC_(9.6416282655539416532517725540469756e60) }}, {{ SC_(3.0), SC_(-4.4408920985006261616945266723632812e-16), SC_(1.5426605224886306645202836086475161e62) }}, {{ SC_(3.0), SC_(-2.2204460492503130808472633361816406e-16), SC_(2.4682568359818090632324537738360258e63) }}, {{ SC_(3.0), SC_(-1.1102230246251565404236316680908203e-16), SC_(3.9492109375708945011719260381376412e64) }}, {{ SC_(3.0), SC_(-5.5511151231257827021181583404541016e-17), SC_(6.3187375001134312018750816610202259e65) }}, {{ SC_(3.0), SC_(-2.7755575615628913510590791702270508e-17), SC_(1.0109980000181489923000130657632362e67) }}, {{ SC_(3.0), SC_(-1.3877787807814456755295395851135254e-17), SC_(1.6175968000290383876800209052211778e68) }}, {{ SC_(3.0), SC_(-6.9388939039072283776476979255676270e-18), SC_(2.5881548800464614202880334483538845e69) }}, {{ SC_(3.0), SC_(-3.4694469519536141888238489627838135e-18), SC_(4.1410478080743382724608535173662153e70) }}, {{ SC_(3.0), SC_(-1.7347234759768070944119244813919067e-18), SC_(6.6256764929189412359373656277859444e71) }}, {{ SC_(3.0), SC_(-8.6736173798840354720596224069595337e-19), SC_(1.0601082388670305977499785004457511e73) }}, {{ SC_(3.0), SC_(-4.3368086899420177360298112034797668e-19), SC_(1.6961731821872489563999656007132018e74) }}, {{ SC_(3.0), SC_(-2.1684043449710088680149056017398834e-19), SC_(2.7138770914995983302399449611411228e75) }}, {{ SC_(3.0), SC_(-1.0842021724855044340074528008699417e-19), SC_(4.3422033463993573283839119378257965e76) }}, {{ SC_(3.0), SC_(-5.4210108624275221700372640043497086e-20), SC_(6.9475253542389717254142591005212745e77) }}, {{ SC_(3.0), SC_(-2.7105054312137610850186320021748543e-20), SC_(1.1116040566782354760662814560834039e79) }}, {{ SC_(3.0), SC_(-1.3552527156068805425093160010874271e-20), SC_(1.7785664906851767617060503297334463e80) }}, {{ SC_(3.0), SC_(-6.7762635780344027125465800054371357e-21), SC_(2.8457063850962828187296805275735140e81) }}, {{ SC_(3.0), SC_(-3.3881317890172013562732900027185678e-21), SC_(4.5531302161540525099674888441176224e82) }},
+ {{ SC_(124.0), SC_(-1.500), SC_(-2.7249890458922632375522129837125443e157) }}, {{ SC_(124.0), SC_(-2.500), SC_(-1.4769313224896369911103029786543928e139) }}, {{ SC_(124.0), SC_(-3.500), SC_(-3.3597086916687478281510460837686247e125) }}, {{ SC_(124.0), SC_(-4.500), SC_(-4.2907148995777554014718947851654811e114) }}, {{ SC_(124.0), SC_(-5.500), SC_(-3.6618139249627692553752809354502259e105) }}, {{ SC_(124.0), SC_(-6.500), SC_(-6.2403362354301509400433157402892941e97) }}, {{ SC_(124.0), SC_(-7.500), SC_(-1.0011531735317576688720095395178850e91) }}, {{ SC_(124.0), SC_(-8.500), SC_(-9.1710019415963060853316564350633528e84) }}, {{ SC_(124.0), SC_(-9.500), SC_(-3.3822714836539651302726236480037681e79) }}, {{ SC_(124.0), SC_(-10.50), SC_(-3.8962670995991768118677582868234531e74) }}, {{ SC_(124.0), SC_(-11.50), SC_(-1.1591591018132801852584224474253891e70) }}, {{ SC_(124.0), SC_(-12.50), SC_(-7.6948850968760327095578155247202587e65) }}, {{ SC_(124.0), SC_(-13.50), SC_(-1.0161777096507539745875317371106118e62) }}, {{ SC_(124.0), SC_(-14.50), SC_(-2.4354484351409547531920463990216679e58) }}, {{ SC_(124.0), SC_(-15.50), SC_(-9.8321990426222594076174716964878395e54) }}, {{ SC_(124.0), SC_(-16.50), SC_(-6.2882245279340391405004802996498744e51) }}, {{ SC_(124.0), SC_(-17.50), SC_(-6.0534504786126893203140318104359656e48) }}, {{ SC_(124.0), SC_(-18.50), SC_(-8.4019112566928602772066808945728022e45) }}, {{ SC_(124.0), SC_(-19.50), SC_(-1.6209265582255125824031570171026802e43) }}, {{ SC_(124.0), SC_(-20.50), SC_(-4.2125071484047517848318042867661534e40) }},
+ {{ SC_(125.0), SC_(-1.500), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-2.500), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-3.500), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-4.500), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-5.500), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-6.500), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-7.500), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-8.500), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-9.500), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-10.50), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-11.50), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-12.50), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-13.50), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-14.50), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-15.50), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-16.50), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-17.50), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-18.50), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-19.50), SC_(3.2032092294989705945080639466924596e247) }}, {{ SC_(125.0), SC_(-20.50), SC_(3.2032092294989705945080639466924596e247) }},
+ {{ SC_(125.0), SC_(-1.5000002384185791015625000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-2.5000002384185791015625000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-3.5000002384185791015625000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-4.5000002384185791015625000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-5.5000002384185791015625000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-6.5000002384185791015625000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-7.5000002384185791015625000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-8.5000002384185791015625000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-9.5000002384185791015625000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-10.500000238418579101562500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-11.500000238418579101562500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-12.500000238418579101562500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-13.500000238418579101562500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-14.500000238418579101562500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-15.500000238418579101562500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-16.500000238418579101562500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-17.500000238418579101562500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-18.500000238418579101562500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-19.500000238418579101562500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-20.500000238418579101562500000000000), SC_(3.2032092353263025675858789018286326e247) }},
+ {{ SC_(125.0), SC_(-1.4999997615814208984375000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-2.4999997615814208984375000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-3.4999997615814208984375000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-4.4999997615814208984375000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-5.4999997615814208984375000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-6.4999997615814208984375000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-7.4999997615814208984375000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-8.4999997615814208984375000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-9.4999997615814208984375000000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-10.499999761581420898437500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-11.499999761581420898437500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-12.499999761581420898437500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-13.499999761581420898437500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-14.499999761581420898437500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-15.499999761581420898437500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-16.499999761581420898437500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-17.499999761581420898437500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-18.499999761581420898437500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-19.499999761581420898437500000000000), SC_(3.2032092353263025675858789018286326e247) }}, {{ SC_(125.0), SC_(-20.499999761581420898437500000000000), SC_(3.2032092353263025675858789018286326e247) }},
+ } };
+ boost::array<boost::array<value_type, 3>, 103> neg_double_data =
+ { {
+ { { SC_(124.0), SC_(-1.4999997615814208984375000000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-2.4999997615814208984375000000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-3.4999997615814208984375000000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-4.4999997615814208984375000000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-5.4999997615814208984375000000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-6.4999997615814208984375000000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-7.4999997615814208984375000000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-8.4999997615814208984375000000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-9.4999997615814208984375000000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-10.499999761581420898437500000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-11.499999761581420898437500000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-12.499999761581420898437500000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-13.499999761581420898437500000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-14.499999761581420898437500000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-15.499999761581420898437500000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-16.499999761581420898437500000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-17.499999761581420898437500000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-18.499999761581420898437500000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-19.499999761581420898437500000000000), SC_(7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-20.499999761581420898437500000000000), SC_(7.6370459352527012474320227016934851e240) } },
+ { { SC_(124.0), SC_(-1.5000002384185791015625000000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-2.5000002384185791015625000000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-3.5000002384185791015625000000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-4.5000002384185791015625000000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-5.5000002384185791015625000000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-6.5000002384185791015625000000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-7.5000002384185791015625000000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-8.5000002384185791015625000000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-9.5000002384185791015625000000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-10.500000238418579101562500000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-11.500000238418579101562500000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-12.500000238418579101562500000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-13.500000238418579101562500000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-14.500000238418579101562500000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-15.500000238418579101562500000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-16.500000238418579101562500000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-17.500000238418579101562500000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-18.500000238418579101562500000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-19.500000238418579101562500000000000), SC_(-7.6370459352527012474320227016934851e240) } }, { { SC_(124.0), SC_(-20.500000238418579101562500000000000), SC_(-7.6370459352527012474320227016934851e240) } },
+ { { SC_(1.0), SC_(-0.500), SC_(8.9348022005446793094172454999380756) } }, { { SC_(2.0), SC_(-0.500), SC_(-0.82879664423431999559633426116029987) } }, { { SC_(3.0), SC_(-0.500), SC_(193.40909103400243723644033268870511) } }, { { SC_(4.0), SC_(-0.500), SC_(-3.4742498266672251905359219240334210) } }, { { SC_(5.0), SC_(-0.500), SC_(15371.113548602435496241755549219359) } }, { { SC_(6.0), SC_(-0.500), SC_(-43.457923803023286231087958265415698) } }, { { SC_(7.0), SC_(-0.500), SC_(2.5806802181855980649694862685313201e6) } }, { { SC_(8.0), SC_(-0.500), SC_(-1059.9617600414264025178879353865365) } }, { { SC_(9.0), SC_(-0.500), SC_(7.4318457238509742722370782665375996e8) } }, { { SC_(10.), SC_(-0.500), SC_(-42108.858768975491796771277214753871) } }, { { SC_(11.), SC_(-0.500), SC_(3.2699873393475880004602936491973290e11) } }, { { SC_(12.), SC_(-0.500), SC_(-2.4644776094268285475780118302319831e6) } }, { { SC_(13.), SC_(-0.500), SC_(2.0404703892185195041277151739878551e14) } }, { { SC_(14.), SC_(-0.500), SC_(-1.9917964814708338071590970890436861e8) } }, { { SC_(15.), SC_(-0.500), SC_(1.7139949675391451725203269743703670e17) } }, { { SC_(16.), SC_(-0.500), SC_(-2.1239385116043117742696464301184360e10) } }, { { SC_(17.), SC_(-0.500), SC_(1.8648265054229230657699496051237022e20) } }, { { SC_(18.), SC_(-0.500), SC_(-2.8882421804274914449348671586694211e12) } }, { { SC_(19.), SC_(-0.500), SC_(2.5510826564916635359511595679555294e23) } }, { { SC_(20.), SC_(-0.500), SC_(-4.8777294946260987363553987421237456e14) } }, { { SC_(21.), SC_(-0.500), SC_(4.2858188623596794335838558079810850e26) } },
+ { { SC_(1.0), SC_(-0.50000023841857910156250000000000000), SC_(8.9348023981506946089014375825505155) } }, { { SC_(2.0), SC_(-0.50000023841857910156250000000000000), SC_(-0.82884275655508842604754532179574729) } }, { { SC_(3.0), SC_(-0.50000023841857910156250000000000000), SC_(193.40909186276501767728859938348815) } }, { { SC_(4.0), SC_(-0.50000023841857910156250000000000000), SC_(-3.4779145857199327369685563062655118) } }, { { SC_(5.0), SC_(-0.50000023841857910156250000000000000), SC_(15371.113559036959283359095676640936) } }, { { SC_(6.0), SC_(-0.50000023841857910156250000000000000), SC_(-44.073205913790411411330389206216025) } }, { { SC_(7.0), SC_(-0.50000023841857910156250000000000000), SC_(2.5806802184594352176701819301926979e6) } }, { { SC_(8.0), SC_(-0.50000023841857910156250000000000000), SC_(-1237.1507698016190706446362670415721) } }, { { SC_(9.0), SC_(-0.50000023841857910156250000000000000), SC_(7.4318457240443082449903207673842183e8) } }, { { SC_(10.), SC_(-0.50000023841857910156250000000000000), SC_(-120071.43228224150936593763797588950) } }, { { SC_(11.), SC_(-0.50000023841857910156250000000000000), SC_(3.2699873394114574294629126382636465e11) } }, { { SC_(12.), SC_(-0.50000023841857910156250000000000000), SC_(-5.1113082699448800419004327980237078e7) } }, { { SC_(13.), SC_(-0.50000023841857910156250000000000000), SC_(2.0404703892677090523475108203530504e14) } }, { { SC_(14.), SC_(-0.50000023841857910156250000000000000), SC_(-4.1064004123360078851054877806228941e10) } }, { { SC_(15.), SC_(-0.50000023841857910156250000000000000), SC_(1.7139949675921973682361201187974158e17) } }, { { SC_(16.), SC_(-0.50000023841857910156250000000000000), SC_(-4.4482167955078907488604509935932075e13) } }, { { SC_(17.), SC_(-0.50000023841857910156250000000000000), SC_(1.8648265054954360818722434334340996e20) } }, { { SC_(18.), SC_(-0.50000023841857910156250000000000000), SC_(-6.0825438456286690418846111378451293e16) } }, { { SC_(19.), SC_(-0.50000023841857910156250000000000000), SC_(2.5510826566134749972709942636451521e23) } }, { { SC_(20.), SC_(-0.50000023841857910156250000000000000), SC_(-1.0218237211995580504353583819436291e20) } }, { { SC_(21.), SC_(-0.50000023841857910156250000000000000), SC_(4.2858188626062237162861505116019247e26) } },
+ { { SC_(1.0), SC_(-0.49999976158142089843750000000000000), SC_(8.9348020029496580439061915046847633) } }, { { SC_(2.0), SC_(-0.49999976158142089843750000000000000), SC_(-0.82875053191374905338324754695139008) } }, { { SC_(3.0), SC_(-0.49999976158142089843750000000000000), SC_(193.40909020611360344139301017638823) } }, { { SC_(4.0), SC_(-0.49999976158142089843750000000000000), SC_(-3.4705850676169879410688441586536334) } }, { { SC_(5.0), SC_(-0.49999976158142089843750000000000000), SC_(15371.113538314606395712740903053532) } }, { { SC_(6.0), SC_(-0.49999976158142089843750000000000000), SC_(-42.842641692316412901148012739850716) } }, { { SC_(7.0), SC_(-0.49999976158142089843750000000000000), SC_(2.5806802179540060642078552424908302e6) } }, { { SC_(8.0), SC_(-0.49999976158142089843750000000000000), SC_(-882.77275028362734588789574976519641) } }, { { SC_(9.0), SC_(-0.49999976158142089843750000000000000), SC_(7.4318457238435175594844592942103986e8) } }, { { SC_(10.), SC_(-0.49999976158142089843750000000000000), SC_(35853.714744150436439369297880163123) } }, { { SC_(11.), SC_(-0.49999976158142089843750000000000000), SC_(3.2699873393997058844655604408250598e11) } }, { { SC_(12.), SC_(-0.49999976158142089843750000000000000), SC_(4.6184127480583821271680125577145403e7) } }, { { SC_(13.), SC_(-0.49999976158142089843750000000000000), SC_(2.0404703892667592897735663251491103e14) } }, { { SC_(14.), SC_(-0.49999976158142089843750000000000000), SC_(4.0665644827064704770358560360332387e10) } }, { { SC_(15.), SC_(-0.49999976158142089843750000000000000), SC_(1.7139949675920960909557128308150980e17) } }, { { SC_(16.), SC_(-0.49999976158142089843750000000000000), SC_(4.4439689184846657075559083382657063e13) } }, { { SC_(17.), SC_(-0.49999976158142089843750000000000000), SC_(1.8648265054954223096603082369745267e20) } }, { { SC_(18.), SC_(-0.49999976158142089843750000000000000), SC_(6.0819661971925807709274166342293111e16) } }, { { SC_(19.), SC_(-0.49999976158142089843750000000000000), SC_(2.5510826566134726713883235580466596e23) } }, { { SC_(20.), SC_(-0.49999976158142089843750000000000000), SC_(1.0218139657405687413065653078640133e20) } }, { { SC_(21.), SC_(-0.49999976158142089843750000000000000), SC_(4.2858188626062232387116210610555278e26) } },
+ } };
+
+ boost::array<boost::array<value_type, 3>, 90> small_data =
+ { {
+ {{ SC_(0.0), SC_(0.12500000000000000000), SC_(-8.3884926632958548678027429230863430) }}, {{ SC_(0.0), SC_(0.062500000000000000000), SC_(-16.478853490060104366505723782801995) }}, {{ SC_(0.0), SC_(0.031250000000000000000), SC_(-32.526953288606118111369026129964135) }}, {{ SC_(0.0), SC_(0.015625000000000000000), SC_(-64.551802973167856670965920212624596) }}, {{ SC_(0.0), SC_(0.0078125000000000000000), SC_(-128.56443747297672763722041223143322) }}, {{ SC_(0.0), SC_(0.0039062500000000000000), SC_(-256.57080841886464838984737508407824) }}, {{ SC_(0.0), SC_(0.0019531250000000000000), SC_(-512.57400748048652546824732749592750) }}, {{ SC_(0.0), SC_(0.00097656250000000000000), SC_(-1024.5756104293406219086220979096446) }}, {{ SC_(0.0), SC_(0.00048828125000000000000), SC_(-2048.5764127609059633822989920937770) }}, {{ SC_(0.0), SC_(0.00024414062500000000000), SC_(-4096.5768141413027972625364884707221) }}, {{ SC_(0.0), SC_(0.00012207031250000000000), SC_(-8192.5770148851960259755970875167303) }}, {{ SC_(0.0), SC_(0.000061035156250000000000), SC_(-16384.577115270571506673278270921248) }}, {{ SC_(0.0), SC_(0.000030517578125000000000), SC_(-32768.577165466617109315191527852551) }}, {{ SC_(0.0), SC_(0.000015258789062500000000), SC_(-65536.577190565479456940587995127301) }}, {{ SC_(0.0), SC_(7.6293945312500000000e-6), SC_(-131072.57720311512052742189906385878) }}, {{ SC_(0.0), SC_(3.8146972656250000000e-6), SC_(-262144.57720938999353809133982546559) }}, {{ SC_(0.0), SC_(1.9073486328125000000e-6), SC_(-524288.57721252744316244096483807868) }}, {{ SC_(0.0), SC_(9.5367431640625000000e-7), SC_(-1.0485765772140961712543892173131386e6) }},
+ {{ SC_(1.0), SC_(0.1250000000), SC_(65.388133444988034473142999334395961) }}, {{ SC_(1.0), SC_(0.06250000000), SC_(257.50642004291541426394984152786018) }}, {{ SC_(1.0), SC_(0.03125000000), SC_(1025.5728544782377088851896549789956) }}, {{ SC_(1.0), SC_(0.01562500000), SC_(4097.6081469812325471140472931934309) }}, {{ SC_(1.0), SC_(0.007812500000), SC_(16385.626348148031663597978251925972) }}, {{ SC_(1.0), SC_(0.003906250000), SC_(65537.635592296074077546680509110271) }}, {{ SC_(1.0), SC_(0.001953125000), SC_(262145.64025088744769438583827382756) }}, {{ SC_(1.0), SC_(0.0009765625000), SC_(1.0485776425893921526170408061678298e6) }},
+ {{ SC_(2.0), SC_(0.1250000000), SC_(-1025.7533381181356825956689300565174) }}, {{ SC_(2.0), SC_(0.06250000000), SC_(-8194.0423055503627202407284588855458) }}, {{ SC_(2.0), SC_(0.03125000000), SC_(-65538.212736402744663973874571262931) }}, {{ SC_(2.0), SC_(0.01562500000), SC_(-524290.30560802491992997062359624105) }}, {{ SC_(2.0), SC_(0.007812500000), SC_(-4.1943063541297826472489756741474152e6) }}, {{ SC_(2.0), SC_(0.003906250000), SC_(-3.3554434378935516909394862712904232e7) }}, {{ SC_(2.0), SC_(0.001953125000), SC_(-2.6843545839147764655287988662280398e8) }}, {{ SC_(2.0), SC_(0.0009765625000), SC_(-2.1474836503977839163960630063909364e9) }},
+ {{ SC_(3.0), SC_(0.1250000000), SC_(24580.143419063566218511004446647010) }}, {{ SC_(3.0), SC_(0.06250000000), SC_(393221.15036999967974263906424748910) }}, {{ SC_(3.0), SC_(0.03125000000), SC_(6.2914617723523498519444110540563165e6) }}, {{ SC_(3.0), SC_(0.01562500000), SC_(1.0066330211954465631968224525194028e8) }}, {{ SC_(3.0), SC_(0.007812500000), SC_(1.6106127423031841473495039368910042e9) }}, {{ SC_(3.0), SC_(0.003906250000), SC_(2.5769803782397651667126674423858834e10) }}, {{ SC_(3.0), SC_(0.001953125000), SC_(4.1231686042244556536661660289768233e11) }}, {{ SC_(3.0), SC_(0.0009765625000), SC_(6.5970697666624696945083422683684831e12) }},
+ {{ SC_(4.0), SC_(0.1250000000), SC_(-786445.98543106378579320120709638297) }}, {{ SC_(4.0), SC_(0.06250000000), SC_(-2.5165842491343080297812493001330106e7) }}, {{ SC_(4.0), SC_(0.03125000000), SC_(-8.0530638940150780088628643019449463e8) }}, {{ SC_(4.0), SC_(0.01562500000), SC_(-2.5769803799064252508878172105001377e10) }}, {{ SC_(4.0), SC_(0.007812500000), SC_(-8.2463372085595426712260437166652246e11) }}, {{ SC_(4.0), SC_(0.003906250000), SC_(-2.6388279066648414875708308182697262e13) }}, {{ SC_(4.0), SC_(0.001953125000), SC_(-8.4442493013199264920484069629201316e14) }}, {{ SC_(4.0), SC_(0.0009765625000), SC_(-2.7021597764223000767391638642998277e16) }},
+ {{ SC_(5.0), SC_(0.1250000000), SC_(3.1457340659602645662942019557433307e7) }}, {{ SC_(5.0), SC_(0.06250000000), SC_(2.0132660051504893647288429933363318e9) }}, {{ SC_(5.0), SC_(0.03125000000), SC_(1.2884901898167237155557768979087387e11) }}, {{ SC_(5.0), SC_(0.01562500000), SC_(8.2463372084313301694493047619778287e12) }}, {{ SC_(5.0), SC_(0.007812500000), SC_(5.2776558133259656048321206289799569e14) }}, {{ SC_(5.0), SC_(0.003906250000), SC_(3.3776997205278839283396175959111085e16) }}, {{ SC_(5.0), SC_(0.001953125000), SC_(2.1617278211378382006727785506307164e18) }}, {{ SC_(5.0), SC_(0.0009765625000), SC_(1.3835058055282163724137457865337740e20) }},
+ {{ SC_(8.0), SC_(0.1250000000), SC_(-5.4116588069756277838328695722389595e12) }}, {{ SC_(8.0), SC_(0.06250000000), SC_(-2.7707693020189462516270216110672946e15) }}, {{ SC_(8.0), SC_(0.03125000000), SC_(-1.4186338826217368769684713903764732e18) }}, {{ SC_(8.0), SC_(0.01562500000), SC_(-7.2634054790231363002428528775599797e20) }}, {{ SC_(8.0), SC_(0.007812500000), SC_(-3.7188636052598456061623085548707189e23) }}, {{ SC_(8.0), SC_(0.003906250000), SC_(-1.9040581658930409501626172937578262e26) }}, {{ SC_(8.0), SC_(0.001953125000), SC_(-9.7487778093723696648306072338399010e28) }}, {{ SC_(8.0), SC_(0.0009765625000), SC_(-4.9913742383986532683932688751727976e31) }},
+ {{ SC_(15.0), SC_(0.1250000000), SC_(3.6807761227792200230957850246407904e26) }}, {{ SC_(15.0), SC_(0.06250000000), SC_(2.4122334398245883325511911077327284e31) }}, {{ SC_(15.0), SC_(0.03125000000), SC_(1.5808813071234422095882610857505513e36) }}, {{ SC_(15.0), SC_(0.01562500000), SC_(1.0360463734364190864757622613687259e41) }}, {{ SC_(15.0), SC_(0.007812500000), SC_(6.7898335129529161251275555560392101e45) }}, {{ SC_(15.0), SC_(0.003906250000), SC_(4.4497852910488231117635948092058560e50) }}, {{ SC_(15.0), SC_(0.001953125000), SC_(2.9162112883417567145253894941611498e55) }}, {{ SC_(15.0), SC_(0.0009765625000), SC_(1.9111682299276536804313592588934511e60) }},
+ {{ SC_(22.0), SC_(0.1250000000), SC_(-6.6349292044725783891012472579673570e41) }}, {{ SC_(22.0), SC_(0.06250000000), SC_(-5.5657820204072306855435555719642654e48) }}, {{ SC_(22.0), SC_(0.03125000000), SC_(-4.6689163582644258586596154617085763e55) }}, {{ SC_(22.0), SC_(0.01562500000), SC_(-3.9165709114267828873358919539012256e62) }}, {{ SC_(22.0), SC_(0.007812500000), SC_(-3.2854578080162002342968961931631453e69) }}, {{ SC_(22.0), SC_(0.003906250000), SC_(-2.7560417651987161415024817781137906e76) }}, {{ SC_(22.0), SC_(0.001953125000), SC_(-2.3119353999880071814336850663739568e83) }}, {{ SC_(22.0), SC_(0.0009765625000), SC_(-1.9393919791822596946232062017265105e90) }},
+ {{ SC_(35.0), SC_(0.1250000000), SC_(3.3532982327901451846973629635910627e72) }}, {{ SC_(35.0), SC_(0.06250000000), SC_(2.3043689989709229438987285737704404e83) }}, {{ SC_(35.0), SC_(0.03125000000), SC_(1.5835503181594194718369731136519624e94) }}, {{ SC_(35.0), SC_(0.01562500000), SC_(1.0882074924904162473416628106826351e105) }}, {{ SC_(35.0), SC_(0.007812500000), SC_(7.4781049464136054012151819362261716e115) }}, {{ SC_(35.0), SC_(0.003906250000), SC_(5.1389145889443628300269064119650184e126) }}, {{ SC_(35.0), SC_(0.001953125000), SC_(3.5314352154325314429637711743107931e137) }}, {{ SC_(35.0), SC_(0.0009765625000), SC_(2.4267838013160699267233738410387795e148) }}
+ } };
+ using std::ldexp;
+
+ boost::array<boost::array<value_type, 3>, 23> bug_cases =
+ { {
+ {{ SC_(171.0), SC_(2.0), SC_(2.073093314165313149880140394410e257) }}, {{ SC_(171.0), SC_(5.0), SC_(7.42911976071332889749264626321716781e188) }},
+ {{ SC_(166.0), SC_(2.0), SC_(-4.8129498903508823293044351695484095e247) }}, {{ SC_(166.0), SC_(3.0), SC_(-1.8843912448604502196243093626013895e218) }},
+ {{ SC_(171.0), SC_(23.0), SC_(7.53143916217078889612817829861181739e74) }}, {{ SC_(168.0), SC_(150.0), SC_(-6.5266062780306068333215312257902920e-66) }},
+ {{ SC_(169.0), SC_(202.0), SC_(9.2734049986021958613510169328055599e-88) }},
+ {{ SC_(20.0), SC_(-9.5), SC_(-0.0010307637762451416598018081796345932)}}, {{ SC_(21.0), SC_(-9.5), SC_(4.2858188624279670465725116159418790e26) }}, {{ SC_(22.0), SC_(-9.5), SC_(-0.0041914420015886426448664611125724338) }}, {{ SC_(23.0), SC_(-9.5), SC_(8.6744973773084910367753904944787155e29) }}, {{ SC_(24.0), SC_(-9.5), SC_(-0.020482527998674199369359987617445420) }}, {{ SC_(25.0), SC_(-9.5), SC_(2.0818793705474855280713094147422278e33) }}, {{ SC_(26.0), SC_(-9.5), SC_(-0.11840299831136879082790399023048278) }}, {{ SC_(27.0), SC_(-9.5), SC_(5.8459172724952950454469355072783445e36) }}, {{ SC_(28.0), SC_(-9.5), SC_(-0.79896867888629450211348696225656872) }}, {{ SC_(29.0), SC_(-9.5), SC_(1.8987539301063980537054871851063348e40) }}, {{ SC_(30.0), SC_(-9.5), SC_(-6.2224465669723272001827279817965087) }},
+ {{ SC_(1.0), ldexp(value_type(1), 120), SC_(7.5231638452626400509999138382223723e-37) }}, {{ SC_(2.0), ldexp(value_type(1), 120), SC_(-5.6597994242666952296931995568048699e-73) }}, {{ SC_(3.0), ldexp(value_type(1), 120), SC_(8.5159196800163014398201074324946177e-109) }}, {{ SC_(10.0), ldexp(value_type(1), 120), SC_(-2.1075031678562075551498983356333178e-356) }}, {{ SC_(15.0), ldexp(value_type(1), 120), SC_(1.2201582392961399809842378412624410e-531) }},
+ } };
+
+int main()
+{
+#include "expint_data.ipp"
+#include "expint_small_data.ipp"
+#include "expint_1_data.ipp"
+
+ add_data(data1);
+ add_data(big_data);
+ add_data(neg_data);
+ add_data(neg_double_data);
+ add_data(small_data);
+ add_data(bug_cases);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::polygamma(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_psi_n(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return ::psigamma(v[1], static_cast<int>(v[0])); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "polygamma[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "polygamma";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::polygamma(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::polygamma(static_cast<int>(v[0]), v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_psi_n(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::psigamma(v[1], static_cast<int>(v[0])); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_polynomial.cpp b/src/boost/libs/math/reporting/performance/test_polynomial.cpp
new file mode 100644
index 000000000..4474ec881
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_polynomial.cpp
@@ -0,0 +1,263 @@
+///////////////////////////////////////////////////////////////
+// Copyright 2017 John Maddock. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_
+
+#define BOOST_CHRONO_HEADER_ONLY
+
+#ifdef _MSC_VER
+# define _SCL_SECURE_NO_WARNINGS
+#endif
+
+
+#include "performance.hpp"
+#include "table_helper.hpp"
+#include <boost/random.hpp>
+#include <boost/math/tools/polynomial.hpp>
+#include <boost/multiprecision/cpp_int.hpp>
+
+unsigned max_reps = 1000;
+
+template <class T>
+struct tester
+{
+ tester()
+ {
+ a.assign(500, T());
+ for(int i = 0; i < 500; ++i)
+ {
+ b.push_back(generate_random(false));
+ c.push_back(generate_random(false));
+ small.push_back(generate_random(true));
+ }
+ }
+ double test_add()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for(unsigned i = 0; i < b.size(); ++i)
+ a[i] = b[i] + c[i];
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_subtract()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for(unsigned i = 0; i < b.size(); ++i)
+ a[i] = b[i] - c[i];
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_add_int()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for(unsigned i = 0; i < b.size(); ++i)
+ a[i] = b[i] + 1;
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_subtract_int()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for(unsigned i = 0; i < b.size(); ++i)
+ a[i] = b[i] - 1;
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_multiply()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for(unsigned k = 0; k < b.size(); ++k)
+ a[k] = b[k] * c[k];
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_multiply_int()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for(unsigned i = 0; i < b.size(); ++i)
+ a[i] = b[i] * 3;
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_divide()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for(unsigned i = 0; i < b.size(); ++i)
+ a[i] = b[i] / small[i];
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_divide_int()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for(unsigned i = 0; i < b.size(); ++i)
+ a[i] = b[i] / 3;
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_gcd()
+ {
+ using boost::integer::gcd;
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for(unsigned i = 0; i < b.size(); ++i)
+ a[i] = gcd(b[i], c[i]);
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+
+ double test_inplace_add()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for (unsigned i = 0; i < b.size(); ++i)
+ b[i] += c[i];
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_inplace_subtract()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for (unsigned i = 0; i < b.size(); ++i)
+ b[i] -= c[i];
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_inplace_add_int()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for (unsigned i = 0; i < b.size(); ++i)
+ b[i] += 1;
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_inplace_subtract_int()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for (unsigned i = 0; i < b.size(); ++i)
+ b[i] -= 1;
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_inplace_multiply()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for (unsigned k = 0; k < b.size(); ++k)
+ b[k] *= c[k];
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_inplace_multiply_int()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for (unsigned i = 0; i < b.size(); ++i)
+ b[i] *= 3;
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_inplace_divide()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for (unsigned i = 0; i < b.size(); ++i)
+ a[i] /= small[i];
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+ double test_inplace_divide_int()
+ {
+ stopwatch<boost::chrono::high_resolution_clock> w;
+ for (unsigned repeats = 0; repeats < max_reps; ++repeats)
+ {
+ for (unsigned i = 0; i < b.size(); ++i)
+ b[i] /= 3;
+ }
+ return boost::chrono::duration_cast<boost::chrono::duration<double> >(w.elapsed()).count();
+ }
+private:
+ T generate_random(bool issmall)
+ {
+ boost::uniform_int<> ui(2, issmall ? 5 : 40), ui2(1, 10000);
+ std::size_t len = ui(gen);
+ std::vector<typename T::value_type> values;
+ for (std::size_t i = 0; i < len; ++i)
+ {
+ values.push_back(static_cast<typename T::value_type>(ui2(gen)));
+ }
+ return T(values.begin(), values.end());
+ }
+ std::vector<T> a, b, c, small;
+ static boost::random::mt19937 gen;
+};
+
+template <class N>
+boost::random::mt19937 tester<N>::gen;
+
+template <class Number>
+void test(const char* type)
+{
+ std::cout << "Testing type: " << type << std::endl;
+ tester<boost::math::tools::polynomial<Number> > t;
+ int count = 500 * max_reps;
+ std::string table_name = "Polynomial Arithmetic (" + compiler_name() + ", " + platform_name() + ")";
+ //
+ // Now the actual tests:
+ //
+ report_execution_time(t.test_add() / count, table_name, "operator +", type);
+ report_execution_time(t.test_subtract() / count, table_name, "operator -", type);
+ report_execution_time(t.test_multiply() / count, table_name, "operator *", type);
+ report_execution_time(t.test_divide() / count, table_name, "operator /", type);
+ report_execution_time(t.test_add_int() / count, table_name, "operator + (int)", type);
+ report_execution_time(t.test_subtract_int() / count, table_name, "operator - (int)", type);
+ report_execution_time(t.test_multiply_int() / count, table_name, "operator * (int)", type);
+ report_execution_time(t.test_divide_int() / count, table_name, "operator / (int)", type);
+ report_execution_time(t.test_inplace_add() / count, table_name, "operator +=", type);
+ report_execution_time(t.test_inplace_subtract() / count, table_name, "operator -=", type);
+ report_execution_time(t.test_inplace_multiply() / count, table_name, "operator *=", type);
+ report_execution_time(t.test_inplace_divide() / count, table_name, "operator /=", type);
+ report_execution_time(t.test_inplace_add_int() / count, table_name, "operator += (int)", type);
+ report_execution_time(t.test_inplace_subtract_int() / count, table_name, "operator -= (int)", type);
+ report_execution_time(t.test_inplace_multiply_int() / count, table_name, "operator *= (int)", type);
+ report_execution_time(t.test_inplace_divide_int() / count, table_name, "operator /= (int)", type);
+ //report_execution_time(t.test_gcd() / count, table_name, "gcd", type);
+}
+
+
+int main()
+{
+ test<boost::uint64_t>("boost::uint64_t");
+ test<double>("double");
+ max_reps = 100;
+ test<boost::multiprecision::cpp_int>("cpp_int");
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_sn.cpp b/src/boost/libs/math/reporting/performance/test_sn.cpp
new file mode 100644
index 000000000..20d629a1e
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_sn.cpp
@@ -0,0 +1,135 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/jacobi_elliptic.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+ static const boost::array<boost::array<T, 5>, 36> data1 = {{
+ {{ SC_(0.0), SC_(0.0), SC_(0.0), SC_(1.0), SC_(1.0) }},
+ {{ ldexp(T(1), -25), ldexp(T(1), -25), SC_(2.98023223876953080883700663838486782870427050521881839342311e-8), SC_(0.99999999999999955591079014993741669975171697261290223678373), SC_(0.99999999999999999999999999999960556954738949421406900774443) }},
+ {{ -ldexp(T(1), -25), ldexp(T(1), -25), SC_(-2.98023223876953080883700663838486782870427050521881839342311e-8), SC_(0.99999999999999955591079014993741669975171697261290223678373), SC_(0.99999999999999999999999999999960556954738949421406900774443) }},
+ {{ SC_(0.25), ldexp(T(1), -25), SC_(0.247403959254522927383635623557663763268693729825996390997241), SC_(0.968912421710644784709721529742747886950140086772629513814665), SC_(0.99999999999999997281786831901333837240938011109848356555885) }},
+ {{ SC_(-0.25), ldexp(T(1), -25), SC_(-0.247403959254522927383635623557663763268693729825996390997241), SC_(0.968912421710644784709721529742747886950140086772629513814665), SC_(0.99999999999999997281786831901333837240938011109848356555885) }},
+ {{ SC_(1.25), ldexp(T(1), -25), SC_(0.948984619355586147780156037971989352776684194861616269831136), SC_(0.315322362395268865789580233344649598639316847638615703458263), SC_(0.99999999999999960006577747263860127231780811081154547949983) }},
+ {{ SC_(-1.25), ldexp(T(1), -25), SC_(-0.948984619355586147780156037971989352776684194861616269831136), SC_(0.315322362395268865789580233344649598639316847638615703458263), SC_(0.99999999999999960006577747263860127231780811081154547949983) }},
+ {{ SC_(25.0), ldexp(T(1), -25), SC_(-0.132351750097778560056127137329035522219365438979106560464704), SC_(0.991202811863472859528158119981178957382802975691690722810123), SC_(0.99999999999999999222089563757583834413059580275315226870704) }},
+ {{ SC_(-25.0), ldexp(T(1), -25), SC_(0.132351750097778560056127137329035522219365438979106560464704), SC_(0.991202811863472859528158119981178957382802975691690722810123), SC_(0.99999999999999999222089563757583834413059580275315226870704) }},
+ {{ ldexp(T(1), -25), SC_(0.5), SC_(2.98023223876953058825550995757802173334628440851964836958219e-8), SC_(0.99999999999999955591079014993744956895610118130967536624417), SC_(0.99999999999999988897769753748438088116649141278818704012037) }},
+ {{ -ldexp(T(1), -25), SC_(0.5), SC_(-2.98023223876953058825550995757802173334628440851964836958219e-8), SC_(0.99999999999999955591079014993744956895610118130967536624417), SC_(0.99999999999999988897769753748438088116649141278818704012037) }},
+ {{ SC_(0.25), SC_(0.5), SC_(0.246781405136141600483623741101255389743847413013817188632739), SC_(0.969071172865559727608777289021929824625726812182428398055476), SC_(0.992358168465276394946615469032829292963938826683866720698130) }},
+ {{ SC_(-0.25), SC_(0.5), SC_(-0.246781405136141600483623741101255389743847413013817188632739), SC_(0.969071172865559727608777289021929824625726812182428398055476), SC_(0.992358168465276394946615469032829292963938826683866720698130) }},
+ {{ SC_(1.25), SC_(0.5), SC_(0.928561236426319775700204388269999130782711902203415239399579), SC_(0.371179242693370810357222594552131893184749696381729988511999), SC_(0.885688154799196841458565445994481097477880319663264816077719) }},
+ {{ SC_(-1.25), SC_(0.5), SC_(-0.928561236426319775700204388269999130782711902203415239399579), SC_(0.371179242693370810357222594552131893184749696381729988511999), SC_(0.885688154799196841458565445994481097477880319663264816077719) }},
+ {{ SC_(25.0), SC_(0.5), SC_(-0.969223071486651608400225080456020493867827336842041561445359), SC_(-0.246184154035106463351874891855925292474628176040625311168501), SC_(0.874729477852721764836147376110255133761608728373832418508248) }},
+ {{ SC_(-25.0), SC_(0.5), SC_(0.969223071486651608400225080456020493867827336842041561445359), SC_(-0.246184154035106463351874891855925292474628176040625311168501), SC_(0.874729477852721764836147376110255133761608728373832418508248) }},
+ {{ ldexp(T(1), -25), 1 - ldexp(T(1), -9), SC_(2.98023223876953036939562331632512854347569015560128614888589e-8), SC_(0.99999999999999955591079014993754766348947956082687878223721), SC_(0.99999999999999955764381956001984590118394542979655101564079) }},
+ {{ -ldexp(T(1), -25), 1 - ldexp(T(1), -9), SC_(-2.98023223876953036939562331632512854347569015560128614888589e-8), SC_(0.99999999999999955591079014993754766348947956082687878223721), SC_(0.99999999999999955764381956001984590118394542979655101564079) }},
+ {{ SC_(0.25), 1 - ldexp(T(1), -9), SC_(0.244928335616519632082236089277654937383208524525331032303082), SC_(0.969541185516180906431546524888118346090913555188425579774305), SC_(0.969661908643964623248878987955178702010392829596222190545649) }},
+ {{ SC_(-0.25), 1 - ldexp(T(1), -9), SC_(-0.244928335616519632082236089277654937383208524525331032303082), SC_(0.969541185516180906431546524888118346090913555188425579774305), SC_(0.969661908643964623248878987955178702010392829596222190545649) }},
+ {{ SC_(1.25), 1 - ldexp(T(1), -9), SC_(0.848768940045053312079390719205939167551169094157365783446523), SC_(0.528763923140371497228677918580246099580380684604621321430057), SC_(0.531415689278260818860813380561526095359692710060403584603095) }},
+ {{ SC_(-1.25), 1 - ldexp(T(1), -9), SC_(-0.848768940045053312079390719205939167551169094157365783446523), SC_(0.528763923140371497228677918580246099580380684604621321430057), SC_(0.531415689278260818860813380561526095359692710060403584603095) }},
+ {{ SC_(25.0), 1 - ldexp(T(1), -9), SC_(-0.0252326124525503880903568715488227138184083895871544015366337), SC_(-0.999681606947341709011836635135181960590782564534371631099332), SC_(0.999682849652724146508471774051629114156076052044812654903417) }},
+ {{ SC_(-25.0), 1 - ldexp(T(1), -9), SC_(0.0252326124525503880903568715488227138184083895871544015366337), SC_(-0.999681606947341709011836635135181960590782564534371631099332), SC_(0.999682849652724146508471774051629114156076052044812654903417) }},
+
+ // Try modulus > 1
+ {{ ldexp(T(1), -25), SC_(1.5), SC_(2.98023223876952981622027157475276613133414644789222481971590e-8), SC_(0.999999999999999555910790149937712522591174851747994454928040), SC_(0.999999999999999000799277837359575841918151654603571877092161) }},
+ {{ -ldexp(T(1), -25), SC_(1.5), SC_(-2.98023223876952981622027157475276613133414644789222481971590e-8), SC_(0.999999999999999555910790149937712522591174851747994454928040), SC_(0.999999999999999000799277837359575841918151654603571877092161) }},
+ {{ SC_(0.25), SC_(1.5), SC_(0.241830488135945315134822478837394038661484435596992059686086), SC_(0.970318512143270619246031961334217540099946232418710982266812), SC_(0.931888155181641649031244632258710371461078255228024421800363) }},
+ {{ SC_(-0.25), SC_(1.5), SC_(-0.241830488135945315134822478837394038661484435596992059686086), SC_(0.970318512143270619246031961334217540099946232418710982266812), SC_(0.931888155181641649031244632258710371461078255228024421800363) }},
+ {{ SC_(1.25), SC_(1.5), SC_(0.665875890711922169121186264316618499018039094009893317545462), SC_(0.746062529663971452521312655373498959968622875614588791642250), SC_(-0.0486921028438866868299166778939466685768843580182675008164949) }},
+ {{ SC_(-1.25), SC_(1.5), SC_(-0.665875890711922169121186264316618499018039094009893317545462), SC_(0.746062529663971452521312655373498959968622875614588791642250), SC_(-0.0486921028438866868299166778939466685768843580182675008164949) }},
+ {{ SC_(25.0), SC_(1.5), SC_(0.618665338981368217712277210270169521641154921220796362724248), SC_(0.785654630447163313102421517325310755764805805534154371583941), SC_(0.372585153048138377269609818284480926623056458773704266654150) }},
+ {{ SC_(-25.0), SC_(1.5), SC_(-0.618665338981368217712277210270169521641154921220796362724248), SC_(0.785654630447163313102421517325310755764805805534154371583941), SC_(0.372585153048138377269609818284480926623056458773704266654150) }},
+
+ // Special Values:
+ {{ SC_(0.0), SC_(0.5), SC_(0.0), SC_(1.0), SC_(1.0) }},
+ {{ SC_(5.0), SC_(0.0), SC_(-0.958924274663138468893154406155993973352461543964601778131672), SC_(0.283662185463226264466639171513557308334422592252215944930359), SC_(1.0) }},
+ {{ SC_(5.0), SC_(1.0), SC_(0.999909204262595131210990447534473021089812615990547862736429), SC_(0.0134752822213045573055191382448821552908373539417006868332819), SC_(0.0134752822213045573055191382448821552908373539417006868332819) }},
+ }};
+
+
+int main()
+{
+#include "jacobi_elliptic.ipp"
+#include "jacobi_elliptic_small.ipp"
+#include "jacobi_near_1.ipp"
+#include "jacobi_large_phi.ipp"
+
+ add_data(data1);
+ add_data(jacobi_elliptic);
+ add_data(jacobi_elliptic_small);
+ add_data(jacobi_near_1);
+ add_data(jacobi_large_phi);
+
+ unsigned data_total = data.size();
+
+
+ std::cout << "Screening Boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::jacobi_sn(v[1], v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening GSL data:\n";
+ screen_data([](const std::vector<double>& v)
+ {
+ double s, c, d;
+ gsl_sf_elljac_e(v[0], v[1] * v[1], &s, &c, &d);
+ return s;
+ }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "jacobi_sn[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "jacobi_sn";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::jacobi_sn(v[1], v[2]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::jacobi_sn(v[1], v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v)
+ {
+ double s, c, d;
+ gsl_sf_elljac_e(v[0], v[1] * v[1], &s, &c, &d);
+ return s;
+ });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_tgamma.cpp b/src/boost/libs/math/reporting/performance/test_tgamma.cpp
new file mode 100644
index 000000000..4bd9b87e3
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_tgamma.cpp
@@ -0,0 +1,98 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/gamma.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+int main()
+{
+ typedef double T;
+#define SC_(x) static_cast<double>(x)
+# include "test_gamma_data.ipp"
+
+ add_data(factorials);
+ add_data(near_0);
+ add_data(near_1);
+ add_data(near_2);
+ add_data(near_m10);
+ add_data(near_m55);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::tgamma(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return ::tgamma(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::tgamma(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_gamma(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gammafn(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "tgamma[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "tgamma";
+
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::tgamma(v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::tgamma(v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::tgamma(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "math.h");
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::tgamma(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_gamma(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gammafn(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_trigamma.cpp b/src/boost/libs/math/reporting/performance/test_trigamma.cpp
new file mode 100644
index 000000000..1ee1b2092
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_trigamma.cpp
@@ -0,0 +1,84 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/trigamma.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+int main()
+{
+ typedef double T;
+#define SC_(x) static_cast<double>(x)
+ boost::array<boost::array<T, 3>, 659> data =
+ { {
+ { SC_(1.0), SC_(1.6449340668482264364724151666460252) }, { SC_(2.0), SC_(0.64493406684822643647241516664602519) }, { SC_(3.0), SC_(0.39493406684822643647241516664602519) }, { SC_(4.0), SC_(0.28382295573711532536130405553491408) }, { SC_(5.0), SC_(0.22132295573711532536130405553491408) }, { SC_(6.0), SC_(0.18132295573711532536130405553491408) }, { SC_(7.0), SC_(0.15354517795933754758352627775713630) }, { SC_(8.0), SC_(0.13313701469403142513454668592040161) }, { SC_(9.0), SC_(0.11751201469403142513454668592040161) }, { SC_(10.0), SC_(0.10516633568168574612220100690805593) }, { SC_(11.0), SC_(0.095166335681685746122201006908055927) }, { SC_(12.0), SC_(0.086901872871768390750300180461774936) }, { SC_(13.0), SC_(0.079957428427323946305855736017330491) }, { SC_(14.0), SC_(0.074040268664010336838400114715555343) }, { SC_(15.0), SC_(0.068938227847683806226155216756371670) }, { SC_(16.0), SC_(0.064493783403239361781710772311927225) }, { SC_(17.0), SC_(0.060587533403239361781710772311927225) }, { SC_(18.0), SC_(0.057127325790782614376866481654487779) }, { SC_(19.0), SC_(0.054040906037696194623780061901401359) }, { SC_(20.0), SC_(0.051270822935203119831536294588381969) }, { SC_(21.0), SC_(0.048770822935203119831536294588381969) }, { SC_(22.0), SC_(0.046503249239057995114983006606522558) }, { SC_(23.0), SC_(0.044437133536578656272007799994952310) }, { SC_(24.0), SC_(0.042546774368336690298472828350339834) }, { SC_(25.0), SC_(0.040810663257225579187361717239228723) }, { SC_(26.0), SC_(0.039210663257225579187361717239228723) }, { SC_(27.0), SC_(0.037731373316397176820497811913784936) }, { SC_(28.0), SC_(0.036359631203914323596903847579079860) }, { SC_(29.0), SC_(0.035084120999832690943842623089283942) }, { SC_(30.0), SC_(0.033895060357739944213759388844337450) }, { SC_(31.0), SC_(0.032783949246628833102648277733226339) }, { SC_(32.0), SC_(0.031743366520302090126581680438741427) }, { SC_(33.0), SC_(0.030766804020302090126581680438741427) }, { SC_(34.0), SC_(0.029848530374755717307481588611376873) }, { SC_(35.0), SC_(0.028983478471641530456270515947017011) }, { SC_(36.0), SC_(0.028167151941029285558311332273547623) }, { SC_(37.0), SC_(0.027395547002757680620039727335276018) }, { SC_(38.0), SC_(0.026665086812838031240930888766977990) }, { SC_(39.0), SC_(0.025972566037214762542869946938723143) }, { SC_(40.0), SC_(0.025315103841291028157597100127414793) }, { SC_(41.0), SC_(0.024690103841291028157597100127414793) }, { SC_(42.0), SC_(0.024095219843670564148078956165487369) }, { SC_(43.0), SC_(0.023528326419634282968940634170022516) }, { SC_(44.0), SC_(0.022987493536995018501661023569698017) }, { SC_(45.0), SC_(0.022470964611375183790917221916805455) }, { SC_(46.0), SC_(0.021977137450881356630423394756311627) }, { SC_(47.0), SC_(0.021504547658820865137039651845158508) }, { SC_(48.0), SC_(0.021051854132338293837809230840178880) }, { SC_(49.0), SC_(0.020617826354560516060031453062401102) }, { SC_(50.0), SC_(0.020201333226697125805970645065733047) }, { SC_(51.0), SC_(0.019801333226697125805970645065733047) }, { SC_(52.0), SC_(0.019416865714201931649876834992684219) }, { SC_(53.0), SC_(0.019047043228994831058160858661323273) }, { SC_(54.0), SC_(0.018691044652989135080944767525687815) }, { SC_(55.0), SC_(0.018348109124868421775046276442011546) }, { SC_(56.0), SC_(0.018017530612471727560170243384160307) }, { SC_(57.0), SC_(0.017698653061451319396904937261711327) }, { SC_(58.0), SC_(0.017390866050063199975544518671375839) }, { SC_(59.0), SC_(0.017093600889540013293023710110139216) }, { SC_(60.0), SC_(0.016806327117635388185296045645904801) }, { SC_(61.0), SC_(0.016528549339857610407518267868127023) }, { SC_(62.0), SC_(0.016259804378825629757155462170733849) }, { SC_(63.0), SC_(0.015999658697243944013138812847112621) }, { SC_(64.0), SC_(0.015747706064338930155744003071350465) }, { SC_(65.0), SC_(0.015503565439338930155744003071350465) }, { SC_(66.0), SC_(0.015266879048806385777045778219279459) }, { SC_(67.0), SC_(0.015037310637419792572270755262438320) }, { SC_(68.0), SC_(0.014814543874220861852734110129892096) }, { SC_(69.0), SC_(0.014598280898442315139931341963802130) }, { SC_(70.0), SC_(0.014388240990859874476205234003289633) }, { SC_(71.0), SC_(0.014184159358206813251715438084922286) }, { SC_(72.0), SC_(0.013985786019583524221761063952805643) }, { SC_(73.0), SC_(0.013792884785015622987193162718237741) }, { SC_(74.0), SC_(0.013605232317385673653359422804557876) }, { SC_(75.0), SC_(0.013422617269905761308582213162483370) }, { SC_(76.0), SC_(0.013244839492127983530804435384705592) }, { SC_(77.0), SC_(0.013071709298222166356289199927641880) }, { SC_(78.0), SC_(0.012903046791897322369107550408330023) }, { SC_(79.0), SC_(0.012738681242916388772789338705502935) }, { SC_(80.0), SC_(0.012578450510661942369969277817824679) }, { SC_(81.0), SC_(0.012422200510661942369969277817824679) }, { SC_(82.0), SC_(0.012269784720386069789569948447301893) }, { SC_(83.0), SC_(0.012121063720980953787190412456820037) }, { SC_(84.0), SC_(0.011975904771931744903462730645236352) }, { SC_(85.0), SC_(0.011834181415922674608678150146370139) }, { SC_(86.0), SC_(0.011695773111424404712484378520072561) }, { SC_(87.0), SC_(0.011560564890764588595664475869991436) }, { SC_(88.0), SC_(0.011428447041643172292321894287219604) }, { SC_(89.0), SC_(0.011299314810238213614635943873996463) }, { SC_(90.0), SC_(0.011173068124213721757547192453721246) }, { SC_(91.0), SC_(0.011049611334090264967423735663597789) }, { SC_(92.0), SC_(0.010928852971573660692577702575806459) }, { SC_(93.0), SC_(0.010810705523558537819231766848018180) }, { SC_(94.0), SC_(0.010695085220633344155224367148630967) }, { SC_(95.0), SC_(0.010581911839012701330416761897386060) }, { SC_(96.0), SC_(0.010471108514912978338727011204865284) }, { SC_(97.0), SC_(0.010362601570468533894282566760420840) }, { SC_(98.0), SC_(0.010256320350360127049771991779020053) }, { SC_(99.0), SC_(0.010152197068394279486256789779853040) }, { SC_(100.0), SC_(0.010050166663333571395245668465701423) }, { SC_(101.0), SC_(0.0099501666633335713952456684657014225) }, { SC_(102.0), SC_(0.0098521370583928793062347871795530057) }, { SC_(103.0), SC_(0.0097560201802690807672113346612907989) }, { SC_(104.0), SC_(0.0096617605893557053312607266869294076) }, { SC_(105.0), SC_(0.0095693049680539301833317326040891709) }, { SC_(106.0), SC_(0.0094786020202081251946696010848147945) }, { SC_(107.0), SC_(0.0093896023762067012003655783009059301) }, { SC_(108.0), SC_(0.0093022585033793800369451922409880334) }, { SC_(109.0), SC_(0.0092165246213492017104705694700689662) }, { SC_(110.0), SC_(0.0091323566220225457050838175131629818) }, { SC_(111.0), SC_(0.0090497119939233721513648092487001719) }, { SC_(112.0), SC_(0.0089685497505989666647971605188892799) }, { SC_(113.0), SC_(0.0088888303628438646239808339882770350) }, { SC_(114.0), SC_(0.0088105156945064850327834027093985011) }, { SC_(115.0), SC_(0.0087335689416594551774432980618146291) }, { SC_(116.0), SC_(0.0086579545749297765385018991960301301) }, { SC_(117.0), SC_(0.0085836382847989798678716970557209743) }, { SC_(118.0), SC_(0.0085105869296963427139524918544644910) }, { SC_(119.0), SC_(0.0084387684867201864370205757384058871) }, { SC_(120.0), SC_(0.0083681520048333140410033453168254903) }, { SC_(121.0), SC_(0.0082987075603888695965589008723810458) }, { SC_(122.0), SC_(0.0082304062148523625273696378438993847) }, { SC_(123.0), SC_(0.0081632199745943673647789364195510913) }, { SC_(124.0), SC_(0.0080971217526365380303880315348924886) }, { SC_(125.0), SC_(0.0080320853322411165943838692039871816) }, { SC_(126.0), SC_(0.0079680853322411165943838692039871816) }, { SC_(127.0), SC_(0.0079050971740148631300351667600466424) }, { SC_(128.0), SC_(0.0078430970500146151295391657680446584) }, { SC_(129.0), SC_(0.0077820618937646151295391657680446584) }, { SC_(130.0), SC_(0.0077219693512491412998414312568974918) }, { SC_(131.0), SC_(0.0076627977536160052051668750438797403) }, { SC_(132.0), SC_(0.0076045260911254743503215863077920997) }, { SC_(133.0), SC_(0.0075471339882788260491278305685818151) }, { SC_(134.0), SC_(0.0074906016800646816656126516438263173) }, { SC_(135.0), SC_(0.0074349099892649489857284903606897613) }, { SC_(136.0), SC_(0.0073800403047656348567847317873015583) }, { SC_(137.0), SC_(0.0073259745608209981785840397457790669) }, { SC_(138.0), SC_(0.0072726952172225113119422367727916941) }, { SC_(139.0), SC_(0.0072201852403269011460107097826635698) }, { SC_(140.0), SC_(0.0071684280849001633995172570628250521) }, { SC_(141.0), SC_(0.0071174076767368980933948080832332154) }, { SC_(142.0), SC_(0.0070671083960166123934803168604577010) }, { SC_(143.0), SC_(0.0070175150613607901359917233274285402) }, { SC_(144.0), SC_(0.0069686129145565454296491148869180018) }, { SC_(145.0), SC_(0.0069203876059145701210071395782760264) }, { SC_(146.0), SC_(0.0068728251802308602518038102084781668) }, { SC_(147.0), SC_(0.0068259120633233729183453752300582005) }, { SC_(148.0), SC_(0.0067796350491163295567830632304284166) }, { SC_(149.0), SC_(0.0067339812872463514705887608199097899) }, { SC_(150.0), SC_(0.0066889382711659947299014043945235460) }, { SC_(151.0), SC_(0.0066444938267215502854569599500791016) }, { SC_(152.0), SC_(0.0066006361011831967044736697435092143) }, { SC_(153.0), SC_(0.0065573535527067424108448608792432863) }, { SC_(154.0), SC_(0.0065146349402072763935011042044600833) }, { SC_(155.0), SC_(0.0064724693136260653967056918246321191) }, { SC_(156.0), SC_(0.0064308460045729956776630279328527226) }, { SC_(157.0), SC_(0.0063897546173277622785834750071459507) }, { SC_(158.0), SC_(0.0063491850201838619175140604264327372) }, { SC_(159.0), SC_(0.0063091273371202503168090452045131730) }, { SC_(160.0), SC_(0.0062695719397862840971183684116647889) }, { SC_(161.0), SC_(0.0062305094397862840971183684116647889) }, { SC_(162.0), SC_(0.0061919306812507337711278587862645343) }, { SC_(163.0), SC_(0.0061538267336817656260280264436338377) }, { SC_(164.0), SC_(0.0061161888850611927779720213248864253) }, { SC_(165.0), SC_(0.0060790086352099137773771373272659613) }, { SC_(166.0), SC_(0.0060422776893880588646131336541713791) }, { SC_(167.0), SC_(0.0060059879521257566436812132012754581) }, { SC_(168.0), SC_(0.0059701315212748835395899944411908369) }, { SC_(169.0), SC_(0.0059347006822726159658938493164742836) }, { SC_(170.0), SC_(0.0058996879026080383950805024448661467) }, { SC_(171.0), SC_(0.0058650858264834709210320595382917522) }, { SC_(172.0), SC_(0.0058308872696625687631031241393655869) }, { SC_(173.0), SC_(0.0057970852144976147338981484768453056) }, { SC_(174.0), SC_(0.0057636728051287751468755282757026012) }, { SC_(175.0), SC_(0.0057306433428484210710398828800096431) }, { SC_(176.0), SC_(0.0056979902816239312751215155330708676) }, { SC_(177.0), SC_(0.0056657072237726916057000279297650825) }, { SC_(178.0), SC_(0.0056337879157832888159525096559612586) }, { SC_(179.0), SC_(0.0056022262442771658516803218008924541) }, { SC_(180.0), SC_(0.0055710162321052611046374704541804289) }, { SC_(181.0), SC_(0.0055401520345743969071066062566495647) }, { SC_(182.0), SC_(0.0055096279357984132680235501838801132) }, { SC_(183.0), SC_(0.0054794383451692621993120419119322808) }, { SC_(184.0), SC_(0.0054495777939434865714939523899997060) }, { SC_(185.0), SC_(0.0054200409319397058531574684580526360) }, { SC_(186.0), SC_(0.0053908225243429198779931149153207149) }, { SC_(187.0), SC_(0.0053619174486116214619912649904739118) }, { SC_(188.0), SC_(0.0053333206914838797479016427536355693) }, { SC_(189.0), SC_(0.0053050273460787190416997414408243425) }, { SC_(190.0), SC_(0.0052770326090892730575447625768507695) }, { SC_(191.0), SC_(0.0052493317780643423096223249037205756) }, { SC_(192.0), SC_(0.0052219202487751232640917747543277410) }, { SC_(193.0), SC_(0.0051947935126640121529806636432166299) }, { SC_(194.0), SC_(0.0051679471543725143946515809832794503) }, { SC_(195.0), SC_(0.0051413768493454126835239372379292537) }, { SC_(196.0), SC_(0.0051150783615084633081130233654769197) }, { SC_(197.0), SC_(0.0050890475410170014172342228656851663) }, { SC_(198.0), SC_(0.0050632803220729420495617757529020490) }, { SC_(199.0), SC_(0.0050377727208077650268089954243641447) }, { SC_(200.0), SC_(0.0050125208332291685267206138178390569) }, { SC_(201.0), SC_(0.0049875208332291685267206138178390569) }, { SC_(202.0), SC_(0.0049627689706515095578832088031116987) }, { SC_(203.0), SC_(0.0049382615694163365356304884815745945) }, { SC_(204.0), SC_(0.0049139950257001580309349122724940538) }, { SC_(205.0), SC_(0.0048899658061692083961790491429285021) }, { SC_(206.0), SC_(0.0048661704462643898357983233844514052) }, { SC_(207.0), SC_(0.0048426055485360459768106713908610573) }, { SC_(208.0), SC_(0.0048192677810268859030633260619152243) }, { SC_(209.0), SC_(0.0047961538757014421160810775412051651) }, { SC_(210.0), SC_(0.0047732606269205076136658397948165751) }, { SC_(211.0), SC_(0.0047505848899590563665003069149979810) }, { SC_(212.0), SC_(0.0047281235795662080477293898196946410) }, { SC_(213.0), SC_(0.0047058736685658520491533841237174249) }, { SC_(214.0), SC_(0.0046838321864965977124917869979266868) }, { SC_(215.0), SC_(0.0046619962182897674216366904829472126) }, { SC_(216.0), SC_(0.0046403629029841968429455060589342326) }, { SC_(217.0), SC_(0.0046189294324766522613268503662044658) }, { SC_(218.0), SC_(0.0045976930503067187312030422581537533) }, { SC_(219.0), SC_(0.0045766510504750547298563542689272572) }, { SC_(220.0), SC_(0.0045558007762939492483192720562961611) }, { SC_(221.0), SC_(0.0045351396192691558598895199901804586) }, { SC_(222.0), SC_(0.0045146650180120153427010922348109944) }, { SC_(223.0), SC_(0.0044943744571809139710591800523582715) }, { SC_(224.0), SC_(0.0044742654664511586974763611740377744) }, { SC_(225.0), SC_(0.0044543356195123831872722795413847131) }, { SC_(226.0), SC_(0.0044345825330926301008525264549649601) }, { SC_(227.0), SC_(0.0044150038660082852030531686352453266) }, { SC_(228.0), SC_(0.0043955973182390678691247011703226617) }, { SC_(229.0), SC_(0.0043763606300273104052896750084266937) }, { SC_(230.0), SC_(0.0043572915810007853580937786677772019) }, { SC_(231.0), SC_(0.0043383879893183656983584289513310771) }, { SC_(232.0), SC_(0.0043196477108378274775604678936297597) }, { SC_(233.0), SC_(0.0043010686383051283099029173585524707) }, { SC_(234.0), SC_(0.0042826487005645178731661935286790157) }, { SC_(235.0), SC_(0.0042643858617888585846863922283648949) }, { SC_(236.0), SC_(0.0042462781207295557327171753881657097) }, { SC_(237.0), SC_(0.0042283235099855166634841963591510587) }, { SC_(238.0), SC_(0.0042105200952905781742819673716312524) }, { SC_(239.0), SC_(0.0041928659748188600752776597662361532) }, { SC_(240.0), SC_(0.0041753592785075209880768054394561599) }, { SC_(241.0), SC_(0.0041579981673964098769656943283450488) }, { SC_(242.0), SC_(0.0041407808329841235871290868319176457) }, { SC_(243.0), SC_(0.0041237054965999968198317710747972304) }, { SC_(244.0), SC_(0.0041067704087915665331207344780724764) }, { SC_(245.0), SC_(0.0040899738487270677424730591219854030) }, { SC_(246.0), SC_(0.0040733141236125321323106268021186808) }, { SC_(247.0), SC_(0.0040567895681230747987129005809540301) }, { SC_(248.0), SC_(0.0040403985438479678472795055080959272) }, { SC_(249.0), SC_(0.0040241394387491124882784649253696005) }, { SC_(250.0), SC_(0.0040080106666325337234198336129714134) }, { SC_(251.0), SC_(0.0039920106666325337234198336129714134) }, { SC_(252.0), SC_(0.0039761379027081515707555901882638690) }, { SC_(253.0), SC_(0.0039603908631515882046684145772787342) }, { SC_(254.0), SC_(0.0039447680601082661718292825802158212) }, { SC_(255.0), SC_(0.0039292680291082041717052823322153252) }, { SC_(256.0), SC_(0.0039138893286083964054615299292933721) }, { SC_(257.0), SC_(0.0038986305395458964054615299292933721) }, { SC_(258.0), SC_(0.0038834902649013143527430936168586645) }, { SC_(259.0), SC_(0.0038684671292724458953186599890718729) }, { SC_(260.0), SC_(0.0038535597784577591732960306305351784) }, { SC_(261.0), SC_(0.0038387668790494751496273915772807406) }, { SC_(262.0), SC_(0.0038240871180359844492559936236394259) }, { SC_(263.0), SC_(0.0038095192024133517355446714396175157) }, { SC_(264.0), SC_(0.0037950618588056662116828258151325586) }, { SC_(265.0), SC_(0.0037807138330940041363843868803299874) }, { SC_(266.0), SC_(0.0037664738900537762972957432349045691) }, { SC_(267.0), SC_(0.0037523408130002402014169485037156947) }, { SC_(268.0), SC_(0.0037383134034419633284070872347962260) }, { SC_(269.0), SC_(0.0037243904807420301584360469140120870) }, { SC_(270.0), SC_(0.0037105708817867918394520638292012082) }, { SC_(271.0), SC_(0.0036968534606619633072161241858541575) }, { SC_(272.0), SC_(0.0036832370883358784227510433726844022) }, { SC_(273.0), SC_(0.0036697206523497192532008703623037793) }, { SC_(274.0), SC_(0.0036563030565145410004402000192158538) }, { SC_(275.0), SC_(0.0036429832206149192837797492759690106) }, { SC_(276.0), SC_(0.0036297600801190515151847079536549610) }, { SC_(277.0), SC_(0.0036166325858951489737018262061229300) }, { SC_(278.0), SC_(0.0036035997039339608961822443009762449) }, { SC_(279.0), SC_(0.0035906604150772764595588811210166154) }, { SC_(280.0), SC_(0.0035778137147522549413358367099735918) }, { SC_(281.0), SC_(0.0035650586127114386148052244650756327) }, { SC_(282.0), SC_(0.0035523941327783070688521590277078182) }, { SC_(283.0), SC_(0.0035398193125982356438735362220139396) }, { SC_(284.0), SC_(0.0035273332033947245499655089024070023) }, { SC_(285.0), SC_(0.0035149348697307689855933605191497121) }, { SC_(286.0), SC_(0.0035026233892752442087389437755362926) }, { SC_(287.0), SC_(0.0034903978525741830321532916654086580) }, { SC_(288.0), SC_(0.0034782573628268266237957785233285065) }, { SC_(289.0), SC_(0.0034662010356663327966352846961680126) }, { SC_(290.0), SC_(0.0034542279989450291723970691575609557) }, { SC_(291.0), SC_(0.0034423373925241017050962368151114908) }, { SC_(292.0), SC_(0.0034305283680676120557061729282891812) }, { SC_(293.0), SC_(0.0034188000888407402223415641836841896) }, { SC_(294.0), SC_(0.0034071517295121516540414092605051194) }, { SC_(295.0), SC_(0.0033955824759603908136508312605976734) }, { SC_(296.0), SC_(0.0033840915250842058093417246820282968) }, { SC_(297.0), SC_(0.0033726780846167112877931490793986401) }, { SC_(298.0), SC_(0.0033613413729432992776808022667151271) }, { SC_(299.0), SC_(0.0033500806189232100925089631603685662) }, { SC_(300.0), SC_(0.0033388950617146777494702946890986698) }, { SC_(301.0), SC_(0.0033277839506035666383591835779875587) }, { SC_(302.0), SC_(0.0033167465448354183839249058106339975) }, { SC_(303.0), SC_(0.0033057821134508299886790832589915257) }, { SC_(304.0), SC_(0.0032948899351240864232334297827528127) }, { SC_(305.0), SC_(0.0032840692980049728498262275666863307) }, { SC_(306.0), SC_(0.0032733194995636936238117153387906038) }, { SC_(307.0), SC_(0.0032626398464388271194757761700948030) }, { SC_(308.0), SC_(0.0032520296542882472724747469814561968) }, { SC_(309.0), SC_(0.0032414882476429445232758938864992057) }, { SC_(310.0), SC_(0.0032310149597636805859480485560146067) }, { SC_(311.0), SC_(0.0032206091325004131561873825830697576) }, { SC_(312.0), SC_(0.0032102701161544283131853457968495985) }, { SC_(313.0), SC_(0.0031999972693431199634154575654229056) }, { SC_(314.0), SC_(0.0031897899588673572221401561945811087) }, { SC_(315.0), SC_(0.0031796475595813821318728025494028053) }, { SC_(316.0), SC_(0.0031695694542651815775770101583723190) }, { SC_(317.0), SC_(0.0031595550334992786774007563528924280) }, { SC_(318.0), SC_(0.0031496036955418903065342933569426225) }, { SC_(319.0), SC_(0.0031397148462083987516116241587305265) }, { SC_(320.0), SC_(0.0031298878987530867951646552806731175) }, { SC_(321.0), SC_(0.0031201222737530867951646552806731175) }, { SC_(322.0), SC_(0.0031104173989944955547846123851266845) }, { SC_(323.0), SC_(0.0031007727093606079732869849787766208) }, { SC_(324.0), SC_(0.0030911876467222236314453110434374534) }, { SC_(325.0), SC_(0.0030816616598299815951703529577797793) }, { SC_(326.0), SC_(0.0030721942042086798200224239636969390) }, { SC_(327.0), SC_(0.0030627847420535366080084226840100859) }, { SC_(328.0), SC_(0.0030534327421283526074098946887983099) }, { SC_(329.0), SC_(0.0030441376796655328572611736893931939) }, { SC_(330.0), SC_(0.0030348990362679293613585120362303443) }, { SC_(331.0), SC_(0.0030257162998124656331675111179566988) }, { SC_(332.0), SC_(0.0030165889643555055835148062320940287) }, { SC_(333.0), SC_(0.0030075165300399300282818261188700484) }, { SC_(334.0), SC_(0.0029984985030038849742187540377799493) }, { SC_(335.0), SC_(0.0029895343952911666981959493477587940) }, { SC_(336.0), SC_(0.0029806237247632094694144835424569450) }, { SC_(337.0), SC_(0.0029717660150126425759904472612778067) }, { SC_(338.0), SC_(0.0029629607952783841075703678381958037) }, { SC_(339.0), SC_(0.0029542076003622397148670311202937695) }, { SC_(340.0), SC_(0.0029455059705469753158450943115294879) }, { SC_(341.0), SC_(0.0029368554515158334473329835848858893) }, { SC_(342.0), SC_(0.0029282555942734636706712761692289892) }, { SC_(343.0), SC_(0.0029197059550682381311890423194974479) }, { SC_(344.0), SC_(0.0029112060953159240443714748093613651) }, { SC_(345.0), SC_(0.0029027555815246855370702308937312948) }, { SC_(346.0), SC_(0.0028943539852213879105211865753107949) }, { SC_(347.0), SC_(0.0028860008828791780137655315250251188) }, { SC_(348.0), SC_(0.0028776958558463150217964926658036320) }, { SC_(349.0), SC_(0.0028694384902762265028375813168803925) }, { SC_(350.0), SC_(0.0028612283770587652340466846904159136) }, { SC_(351.0), SC_(0.0028530651117526427850670928536812197) }, { SC_(352.0), SC_(0.0028449482945190164346316256090971660) }, { SC_(353.0), SC_(0.0028368775300562065172762537082707197) }, { SC_(354.0), SC_(0.0028288524275355218155291888895176601) }, { SC_(355.0), SC_(0.0028208726005381711180923093210667042) }, { SC_(356.0), SC_(0.0028129376669932395568941343557820384) }, { SC_(357.0), SC_(0.0028050472491167088158260873920148373) }, { SC_(358.0), SC_(0.0027972009733515007718241729007281265) }, { SC_(359.0), SC_(0.0027893984703085245850634600640501202) }, { SC_(360.0), SC_(0.0027816393747087076997196157425442350) }, { SC_(361.0), SC_(0.0027739233253259916503368996931615189) }, { SC_(362.0), SC_(0.0027662499649312739916326233294135428) }, { SC_(363.0), SC_(0.0027586189402372780818618593112211799) }, { SC_(364.0), SC_(0.0027510299018443328519519411969454398) }, { SC_(365.0), SC_(0.0027434825041870450847740641289584817) }, { SC_(366.0), SC_(0.0027359764054818471114207145324112871) }, { SC_(367.0), SC_(0.0027285112676754032044661921519281434) }, { SC_(368.0), SC_(0.0027210867563938583121587282907368063) }, { SC_(369.0), SC_(0.0027137025408929131325746073077500388) }, { SC_(370.0), SC_(0.0027063582940087098731978400983435274) }, { SC_(371.0), SC_(0.0026990536921095133794067517126605471) }, { SC_(372.0), SC_(0.0026917884150481726451778518935659459) }, { SC_(373.0), SC_(0.0026845621461153480411773894123542452) }, { SC_(374.0), SC_(0.0026773745719934899095154066481569894) }, { SC_(375.0), SC_(0.0026702253827115544809930010889474037) }, { SC_(376.0), SC_(0.0026631142716004433698818899778362926) }, { SC_(377.0), SC_(0.0026560409352491531933314146496334859) }, { SC_(378.0), SC_(0.0026490050734616221475912771688941576) }, { SC_(379.0), SC_(0.0026420063892142606515525324529007643) }, { SC_(380.0), SC_(0.0026350445886141534398232908018401340) }, { SC_(381.0), SC_(0.0026281193808579207528426813835575855) }, { SC_(382.0), SC_(0.0026212304781912265305653479400018095) }, { SC_(383.0), SC_(0.0026143775958689217691827104026536009) }, { SC_(384.0), SC_(0.0026075604521158114473453538183153069) }, { SC_(385.0), SC_(0.0026007787680880336695675760405375292) }, { SC_(386.0), SC_(0.0025940322678350399100803100597650549) }, { SC_(387.0), SC_(0.0025873206782621654704980393947807600) }, { SC_(388.0), SC_(0.0025806437290937794894205133379866304) }, { SC_(389.0), SC_(0.0025740011528370040616386024016490812) }, { SC_(390.0), SC_(0.0025673926847459922390891875814985403) }, { SC_(391.0), SC_(0.0025608180627867548952364591133854568) }, { SC_(392.0), SC_(0.0025542770276025266392726702841653444) }, { SC_(393.0), SC_(0.0025477693224796611665529701592174061) }, { SC_(394.0), SC_(0.0025412946933140466271257158552076682) }, { SC_(395.0), SC_(0.0025348528885780317852076040770118889) }, { SC_(396.0), SC_(0.0025284436592878539290948016415047586) }, { SC_(397.0), SC_(0.0025220667589715596734066065593702826) }, { SC_(398.0), SC_(0.0025157219436374099738336126313585574) }, { SC_(399.0), SC_(0.0025094089717427608488115172297272854) }, { SC_(400.0), SC_(0.0025031276041634114728653862380877857) }, { SC_(401.0), SC_(0.0024968776041634114728653862380877857) }, { SC_(402.0), SC_(0.0024906587373653194211990408795390204) }, { SC_(403.0), SC_(0.0024844707717209046789896896258571809) }, { SC_(404.0), SC_(0.0024783134774822848980662186359489861) }, { SC_(405.0), SC_(0.0024721866271734916425030385555647101) }, { SC_(406.0), SC_(0.0024660899955624567392870653807437986) }, { SC_(407.0), SC_(0.0024600233596334121131131713284736635) }, { SC_(408.0), SC_(0.0024539864985596960025420239022893822) }, { SC_(409.0), SC_(0.0024479791936769585938530581198979943) }, { SC_(410.0), SC_(0.0024420012284567602449670519386819566) }, { SC_(411.0), SC_(0.0024360523884805556048718704990626824) }, { SC_(412.0), SC_(0.0024301324614140570641338923909529743) }, { SC_(413.0), SC_(0.0024242412369819710993869793925553873) }, { SC_(414.0), SC_(0.0024183785069431011992292719545097870) }, { SC_(415.0), SC_(0.0024125440650658111807924356222733288) }, { SC_(416.0), SC_(0.0024067377071038428254433283498099814) }, { SC_(417.0), SC_(0.0024009592307724818786977662196324666) }, { SC_(418.0), SC_(0.0023952084357250665735318270285392980) }, { SC_(419.0), SC_(0.0023894851235298329479280175919421505) }, { SC_(420.0), SC_(0.0023837890976470913367501363996500127) }, { SC_(421.0), SC_(0.0023781201634067285249587531796953642) }, { SC_(422.0), SC_(0.0023724781279860301538143791353151136) }, { SC_(423.0), SC_(0.0023668628003878180741216498614892786) }, { SC_(424.0), SC_(0.0023612739914188974407978175034031103) }, { SC_(425.0), SC_(0.0023557115136688084411538160794088063) }, { SC_(426.0), SC_(0.0023501751814888776453060652143569032) }, { SC_(427.0), SC_(0.0023446648109715640611406659329092186) }, { SC_(428.0), SC_(0.0023391802199300950682761188778603783) }, { SC_(429.0), SC_(0.0023337212278783874955623447491155098) }, { SC_(430.0), SC_(0.0023282876560112491948576104779476722) }, { SC_(431.0), SC_(0.0023228793271848565501848143719444272) }, { SC_(432.0), SC_(0.0023174960658975034459271930197768570) }, { SC_(433.0), SC_(0.0023121376982706173005225290965944153) }, { SC_(434.0), SC_(0.0023068040520300378531949525454367474) }, { SC_(435.0), SC_(0.0023014949564875544706640005184240693) }, { SC_(436.0), SC_(0.0022962102425226978185302972551131960) }, { SC_(437.0), SC_(0.0022909497425647818181936252578065720) }, { SC_(438.0), SC_(0.0022857132905751918847489300454946261) }, { SC_(439.0), SC_(0.0022805007220299155143646594923368520) }, { SC_(440.0), SC_(0.0022753118739023113612106181579726675) }, { SC_(441.0), SC_(0.0022701465846461130141031801414437419) }, { SC_(442.0), SC_(0.0022650046941786637517073676970404326) }, { SC_(443.0), SC_(0.0022598860438643786224102607581980666) }, { SC_(444.0), SC_(0.0022547904764984302608899472788937134) }, { SC_(445.0), SC_(0.0022497178362906549179794692332805327) }, { SC_(446.0), SC_(0.0022446679688496752436959191764695239) }, { SC_(447.0), SC_(0.0022396407211672364253002144568893997) }, { SC_(448.0), SC_(0.0022346359416027523430016192985131504) }, { SC_(449.0), SC_(0.0022296534798680584654505988903498851) }, { SC_(450.0), SC_(0.0022246931870123682655011938774779251) }, { SC_(451.0), SC_(0.0022197549154074299938962556058729868) }, { SC_(452.0), SC_(0.0022148385187328807045613949119727602) }, { SC_(453.0), SC_(0.0022099438519617944801115554570428518) }, { SC_(454.0), SC_(0.0022050707713464218600023009896461977) }, { SC_(455.0), SC_(0.0022002191344041175265201841234155314) }, { SC_(456.0), SC_(0.0021953887999034533555263427999038782) }, { SC_(457.0), SC_(0.0021905796278505139895675862594298863) }, { SC_(458.0), SC_(0.0021857914794753721406719726821563537) }, { SC_(459.0), SC_(0.0021810242172187408788729985969939807) }, { SC_(460.0), SC_(0.0021762777047188002102792478553514026) }, { SC_(461.0), SC_(0.0021715518067981952953454104262398714) }, { SC_(462.0), SC_(0.0021668463894512037039262095002137376) }, { SC_(463.0), SC_(0.0021621613198310691487267192357884082) }, { SC_(464.0), SC_(0.0021574964662374991829200960766562576) }, { SC_(465.0), SC_(0.0021528516981043243910057084428869353) }, { SC_(466.0), SC_(0.0021482268859873166444454124549114468) }, { SC_(467.0), SC_(0.0021436219015521640352612314974430831) }, { SC_(468.0), SC_(0.0021390366175626001416214789193671599) }, { SC_(469.0), SC_(0.0021344709078686853195015285942886297) }, { SC_(470.0), SC_(0.0021299246473952377537966991017876864) }, { SC_(471.0), SC_(0.0021253977121304120408043948917378901) }, { SC_(472.0), SC_(0.0021208899791144231117966821605475330) }, { SC_(473.0), SC_(0.0021164013264284133444884374032938703) }, { SC_(474.0), SC_(0.0021119316331834607455853001256052381) }, { SC_(475.0), SC_(0.0021074807795097261232847428787252865) }, { SC_(476.0), SC_(0.0021030486465457372036171528510244555) }, { SC_(477.0), SC_(0.0020986351164278076788660759496756807) }, { SC_(478.0), SC_(0.0020942400722795892100115563060258602) }, { SC_(479.0), SC_(0.0020898633982017544382113427243308619) }, { SC_(480.0), SC_(0.0020855049792618090927848496389625101) }, { SC_(481.0), SC_(0.0020811647014840313150070718611847323) }, { SC_(482.0), SC_(0.0020768424518395363482667828755735014) }, { SC_(483.0), SC_(0.0020725381182364647758076310014666506) }, { SC_(484.0), SC_(0.0020682515895102925173642410430888445) }, { SC_(485.0), SC_(0.0020639827554142608255399121038087407) }, { SC_(486.0), SC_(0.0020597315066099245517594891045527092) }, { SC_(487.0), SC_(0.0020554977346578169800817299553715207) }, { SC_(488.0), SC_(0.0020512813320082295550809920849078429) }, { SC_(489.0), SC_(0.0020470821919921048574190732458860746) }, { SC_(490.0), SC_(0.0020429002088120412076350726771363621) }, { SC_(491.0), SC_(0.0020387352775334073050944645971696816) }, { SC_(492.0), SC_(0.0020345872940755653349682414605475504) }, { SC_(493.0), SC_(0.0020304561552032010015688099052563877) }, { SC_(494.0), SC_(0.0020263417585177589713609094407410020) }, { SC_(495.0), SC_(0.0020222440024489822335025606725264762) }, { SC_(496.0), SC_(0.0020181627862465539098621158199604115) }, { SC_(497.0), SC_(0.0020140980099718400701118556742788299) }, { SC_(498.0), SC_(0.0020100495744897321307250317123988984) }, { SC_(499.0), SC_(0.0020060173814605874395103738842993516) }, { SC_(500.0), SC_(0.0020020013333322666697142686477741971) },
+ { SC_(0.25000000000000000000000000000000000), SC_(17.197329154507110739271319119335224)}, { SC_(0.12500000000000000000000000000000000), SC_(65.388133444988034473142999334395961) }, { SC_(0.062500000000000000000000000000000000), SC_(257.50642004291541426394984152786018) }, { SC_(0.031250000000000000000000000000000000), SC_(1025.5728544782377088851896549789956) }, { SC_(0.015625000000000000000000000000000000), SC_(4097.6081469812325471140472931934309) }, { SC_(0.0078125000000000000000000000000000000), SC_(16385.626348148031663597978251925972) }, { SC_(0.0039062500000000000000000000000000000), SC_(65537.635592296074077546680509110271) }, { SC_(0.0019531250000000000000000000000000000), SC_(262145.64025088744769438583827382756) }, { SC_(0.00097656250000000000000000000000000000), SC_(1.0485776425893921526170408061678298e6) }, { SC_(0.00048828125000000000000000000000000000), SC_(4.1943056437609568090690403869475364e6) }, { SC_(0.00024414062500000000000000000000000000), SC_(1.6777217644347318475117100572465400e7) }, { SC_(0.00012207031250000000000000000000000000), SC_(6.7108865644640644300678883695523690e7) }, { SC_(0.000061035156250000000000000000000000000), SC_(2.6843545764478734348137667988052034e8) }, { SC_(0.000030517578125000000000000000000000000), SC_(1.0737418256448607021411790006489757e9) }, { SC_(0.000015258789062500000000000000000000000), SC_(4.2949672976448973837387528780800407e9) }, { SC_(7.6293945312500000000000000000000000e-6), SC_(1.7179869185644915725104496671656842e10) }, { SC_(3.8146972656250000000000000000000000e-6), SC_(6.8719476737644924895929112616949761e10) }, { SC_(1.9073486328125000000000000000000000e-6), SC_(2.7487790694564492948137685720609220e11) }, { SC_(9.5367431640625000000000000000000000e-7), SC_(1.0995116277776449317741095887303350e12) }, { SC_(4.7683715820312500000000000000000000e-7), SC_(4.3980465111056449329204781693093178e12) }, { SC_(2.3841857910156250000000000000000000e-7), SC_(1.7592186044417644933493663013304205e13) }, { SC_(1.1920928955078125000000000000000000e-7), SC_(7.0368744177665644933780255573728145e13) }, { SC_(5.9604644775390625000000000000000000e-8), SC_(2.8147497671065764493392355188854676e14) }, { SC_(2.9802322387695312500000000000000000e-8), SC_(1.1258999068426256449339952000546077e15) }, { SC_(1.4901161193847656250000000000000000e-8), SC_(4.5035996273704976449340310241398011e15) }, { SC_(7.4505805969238281250000000000000000e-9), SC_(1.8014398509481985644934048936182939e16) }, { SC_(3.7252902984619140625000000000000000e-9), SC_(7.2057594037927937644934057892204642e16) }, { SC_(1.8626451492309570312500000000000000e-9), SC_(2.8823037615171174564493406237021553e17) }, { SC_(9.3132257461547851562500000000000000e-10), SC_(1.1529215046068469776449340646092210e18) }, { SC_(4.6566128730773925781250000000000000e-10), SC_(4.6116860184273879056449340657287237e18) }, { SC_(2.3283064365386962890625000000000000e-10), SC_(1.8446744073709551617644934066288475e19) }, { SC_(1.1641532182693481445312500000000000e-10), SC_(7.3786976294838206465644934066568351e19) }, { SC_(5.8207660913467407226562500000000000e-11), SC_(2.9514790517935282585764493406670829e20) }, { SC_(2.9103830456733703613281250000000000e-11), SC_(1.1805916207174113034256449340667783e21) }, { SC_(1.4551915228366851806640625000000000e-11), SC_(4.7223664828696452136976449340668132e21) }, { SC_(7.2759576141834259033203125000000000e-12), SC_(1.8889465931478580854785644934066831e22) }, { SC_(3.6379788070917129516601562500000000e-12), SC_(7.5557863725914323419137644934066839e22) }, { SC_(1.8189894035458564758300781250000000e-12), SC_(3.0223145490365729367654564493406684e23) }, { SC_(9.0949470177292823791503906250000000e-13), SC_(1.2089258196146291747061776449340668e24) }, { SC_(4.5474735088646411895751953125000000e-13), SC_(4.8357032784585166988247056449340668e24) }, { SC_(2.2737367544323205947875976562500000e-13), SC_(1.9342813113834066795298817644934067e25) }, { SC_(1.1368683772161602973937988281250000e-13), SC_(7.7371252455336267181195265644934067e25) }, { SC_(5.6843418860808014869689941406250000e-14), SC_(3.0948500982134506872478105764493407e26) }, { SC_(2.8421709430404007434844970703125000e-14), SC_(1.2379400392853802748991242256449341e27) }, { SC_(1.4210854715202003717422485351562500e-14), SC_(4.9517601571415210995964968976449341e27) }, { SC_(7.1054273576010018587112426757812500e-15), SC_(1.9807040628566084398385987585644934e28) }, { SC_(3.5527136788005009293556213378906250e-15), SC_(7.9228162514264337593543950337644934e28) }, { SC_(1.7763568394002504646778106689453125e-15), SC_(3.1691265005705735037417580134564493e29) }, { SC_(8.8817841970012523233890533447265625e-16), SC_(1.2676506002282294014967032053776449e30) }, { SC_(4.4408920985006261616945266723632812e-16), SC_(5.0706024009129176059868128215056449e30) }, { SC_(2.2204460492503130808472633361816406e-16), SC_(2.0282409603651670423947251286017645e31) }, { SC_(1.1102230246251565404236316680908203e-16), SC_(8.1129638414606681695789005144065645e31) }, { SC_(5.5511151231257827021181583404541016e-17), SC_(3.2451855365842672678315602057625764e32) }, { SC_(2.7755575615628913510590791702270508e-17), SC_(1.2980742146337069071326240823050256e33) }, { SC_(1.3877787807814456755295395851135254e-17), SC_(5.1922968585348276285304963292200976e33) }, { SC_(6.9388939039072283776476979255676270e-18), SC_(2.0769187434139310514121985316880386e34) }, { SC_(3.4694469519536141888238489627838135e-18), SC_(8.3076749736557242056487941267521538e34) }, { SC_(1.7347234759768070944119244813919067e-18), SC_(3.3230699894622896822595176507008615e35) }, { SC_(8.6736173798840354720596224069595337e-19), SC_(1.3292279957849158729038070602803446e36) }, { SC_(4.3368086899420177360298112034797668e-19), SC_(5.3169119831396634916152282411213783e36) }, { SC_(2.1684043449710088680149056017398834e-19), SC_(2.1267647932558653966460912964485513e37) }, { SC_(1.0842021724855044340074528008699417e-19), SC_(8.5070591730234615865843651857942053e37) }, { SC_(5.4210108624275221700372640043497086e-20), SC_(3.4028236692093846346337460743176821e38) }, { SC_(2.7105054312137610850186320021748543e-20), SC_(1.3611294676837538538534984297270728e39) }, { SC_(1.3552527156068805425093160010874271e-20), SC_(5.4445178707350154154139937189082914e39) }, { SC_(6.7762635780344027125465800054371357e-21), SC_(2.1778071482940061661655974875633166e40) }, { SC_(3.3881317890172013562732900027185678e-21), SC_(8.7112285931760246646623899502532662e40) }, { SC_(1.6940658945086006781366450013592839e-21), SC_(3.4844914372704098658649559801013065e41) }, { SC_(8.4703294725430033906832250067964196e-22), SC_(1.3937965749081639463459823920405226e42) }, { SC_(4.2351647362715016953416125033982098e-22), SC_(5.5751862996326557853839295681620904e42) }, { SC_(2.1175823681357508476708062516991049e-22), SC_(2.2300745198530623141535718272648362e43) }, { SC_(1.0587911840678754238354031258495525e-22), SC_(8.9202980794122492566142873090593446e43) }, { SC_(5.2939559203393771191770156292477623e-23), SC_(3.5681192317648997026457149236237378e44) }, { SC_(2.6469779601696885595885078146238811e-23), SC_(1.4272476927059598810582859694494951e45) }, { SC_(1.3234889800848442797942539073119406e-23), SC_(5.7089907708238395242331438777979805e45) }, { SC_(6.6174449004242213989712695365597028e-24), SC_(2.2835963083295358096932575511191922e46) }, { SC_(3.3087224502121106994856347682798514e-24), SC_(9.1343852333181432387730302044767689e46) }, { SC_(1.6543612251060553497428173841399257e-24), SC_(3.6537540933272572955092120817907075e47) }, { SC_(8.2718061255302767487140869206996285e-25), SC_(1.4615016373309029182036848327162830e48) }, { SC_(4.1359030627651383743570434603498143e-25), SC_(5.8460065493236116728147393308651321e48) }, { SC_(2.0679515313825691871785217301749071e-25), SC_(2.3384026197294446691258957323460528e49) }, { SC_(1.0339757656912845935892608650874536e-25), SC_(9.3536104789177786765035829293842113e49) }, { SC_(5.1698788284564229679463043254372678e-26), SC_(3.7414441915671114706014331717536845e50) }, { SC_(2.5849394142282114839731521627186339e-26), SC_(1.4965776766268445882405732687014738e51) }, { SC_(1.2924697071141057419865760813593170e-26), SC_(5.9863107065073783529622930748058952e51) }, { SC_(6.4623485355705287099328804067965848e-27), SC_(2.3945242826029513411849172299223581e52) }, { SC_(3.2311742677852643549664402033982924e-27), SC_(9.5780971304118053647396689196894324e52) }, { SC_(1.6155871338926321774832201016991462e-27), SC_(3.8312388521647221458958675678757730e53) }, { SC_(8.0779356694631608874161005084957310e-28), SC_(1.5324955408658888583583470271503092e54) }, { SC_(4.0389678347315804437080502542478655e-28), SC_(6.1299821634635554334333881086012367e54) }, { SC_(2.0194839173657902218540251271239327e-28), SC_(2.4519928653854221733733552434404947e55) }, { SC_(1.0097419586828951109270125635619664e-28), SC_(9.8079714615416886934934209737619788e55) }, { SC_(5.0487097934144755546350628178098319e-29), SC_(3.9231885846166754773973683895047915e56) }, { SC_(2.5243548967072377773175314089049159e-29), SC_(1.5692754338466701909589473558019166e57) }, { SC_(1.2621774483536188886587657044524580e-29), SC_(6.2771017353866807638357894232076664e57) }, { SC_(6.3108872417680944432938285222622898e-30), SC_(2.5108406941546723055343157692830666e58) }, { SC_(3.1554436208840472216469142611311449e-30), SC_(1.0043362776618689222137263077132266e59) }, { SC_(1.5777218104420236108234571305655725e-30), SC_(4.0173451106474756888549052308529065e59) }, { SC_(7.8886090522101180541172856528278623e-31), SC_(1.6069380442589902755419620923411626e60) },
+ { SC_(-0.5000000000), SC_(8.9348022005446793094172454999380756) }, { SC_(-1.500000000), SC_(9.3792466449891237538616899443825200) }, { SC_(-2.500000000), SC_(9.5392466449891237538616899443825200) }, { SC_(-3.500000000), SC_(9.6208792980503482436576083117294588) }, { SC_(-4.500000000), SC_(9.6702620140997309597069910277788415) }, { SC_(-5.500000000), SC_(9.7033198653394003811945943335639655) }, { SC_(-6.500000000), SC_(9.7269885043926548190644168187710661) }, { SC_(-7.500000000), SC_(9.7447662821704325968421945965488438) }, { SC_(-8.500000000), SC_(9.7586071126202595864615717591786016) }, { SC_(-9.500000000), SC_(9.7696874450302318856305468284306792) }, { SC_(-10.50000000), SC_(9.7787577398148123844967599803581168) }, { SC_(-11.50000000), SC_(9.7863191764877802483908998669365667) }, { SC_(-12.50000000), SC_(9.7927191764877802483908998669365667) }, { SC_(-13.50000000), SC_(9.7982061449377116612852757242753870) }, { SC_(-14.50000000), SC_(9.8029623875060826482056086612551730) }, { SC_(-15.50000000), SC_(9.8071247184113896201098750504331127) }, { SC_(-16.50000000), SC_(9.8107978129935751113862754177425709) }, { SC_(-17.50000000), SC_(9.8140631191160240909781121524364484) }, { SC_(-18.50000000), SC_(9.8169849598757026884945475067096405) }, { SC_(-19.50000000), SC_(9.8196148086593976260356388939548739) },
+ { SC_(-0.99902343750000000000000000000000000), SC_(1.0485786445453819054093666757806164e6) }, { SC_(-1.9990234375000000000000000000000000), SC_(1.0485788947897014608301106052600290e6) }, { SC_(-2.9990234375000000000000000000000000), SC_(1.0485790059731858715118158380121717e6) }, { SC_(-3.9990234375000000000000000000000000), SC_(1.0485790685037146291468005792240191e6) }, { SC_(-4.9990234375000000000000000000000000), SC_(1.0485791085193442079759033312640482e6) }, { SC_(-5.9990234375000000000000000000000000), SC_(1.0485791363061664391826604906353499e6) }, { SC_(-6.9990234375000000000000000000000000), SC_(1.0485791567200251382893770121774963e6) }, { SC_(-7.9990234375000000000000000000000000), SC_(1.0485791723488405341606371612842196e6) }, { SC_(-8.9990234375000000000000000000000000), SC_(1.0485791846971991664479297252200281e6) }, { SC_(-9.9990234375000000000000000000000000), SC_(1.0485791946991525775874820980861239e6) }, { SC_(-10.999023437500000000000000000000000), SC_(1.0485792029650829946601990955306663e6) }, { SC_(-11.999023437500000000000000000000000), SC_(1.0485792099106578577646272234105154e6) }, { SC_(-12.999023437500000000000000000000000), SC_(1.0485792158287067176193079741367670e6) }, { SC_(-13.999023437500000000000000000000000), SC_(1.0485792209314593886753540118883170e6) }, { SC_(-14.999023437500000000000000000000000), SC_(1.0485792253764825933424418561922499e6) }, { SC_(-15.999023437500000000000000000000000), SC_(1.0485792292832094741599436510420027e6) }, { SC_(-16.999023437500000000000000000000000), SC_(1.0485792327438146631093348182751076e6) }, { SC_(-17.999023437500000000000000000000000), SC_(1.0485792358305693414284737055180265e6) }, { SC_(-18.999023437500000000000000000000000), SC_(1.0485792386009372194851110066962854e6) }, { SC_(-19.999023437500000000000000000000000), SC_(1.0485792411011813779926686635901794e6) },
+ { SC_(-1.0009765625000000000000000000000000), SC_(1.0485786453346669585098368000725210e6)}, { SC_(-2.0009765625000000000000000000000000), SC_(1.0485788950907050310998538089289880e6) }, { SC_(-3.0009765625000000000000000000000000), SC_(1.0485790061295134851948027406034007e6) }, { SC_(-4.0009765625000000000000000000000000), SC_(1.0485790685990070793038292171104670e6) }, { SC_(-5.0009765625000000000000000000000000), SC_(1.0485791085833866557487460417106589e6) }, { SC_(-6.0009765625000000000000000000000000), SC_(1.0485791363521243952566116253382220e6) }, { SC_(-7.0009765625000000000000000000000000), SC_(1.0485791567545946099550113256489222e6) }, { SC_(-8.0009765625000000000000000000000000), SC_(1.0485791723757806110676477942302156e6) }, { SC_(-9.0009765625000000000000000000000000), SC_(1.0485791847187808756018779739003157e6) }, { SC_(-10.000976562500000000000000000000000), SC_(1.0485791947168280366669245397313590e6) }, { SC_(-11.000976562500000000000000000000000), SC_(1.0485792029798236302523575048817360e6) }, { SC_(-12.000976562500000000000000000000000), SC_(1.0485792099231379319842508274674963e6) }, { SC_(-13.000976562500000000000000000000000), SC_(1.0485792158394087991015231685011609e6) }, { SC_(-14.000976562500000000000000000000000), SC_(1.0485792209407379096480891892744762e6) }, { SC_(-15.000976562500000000000000000000000), SC_(1.0485792253846037068979581619480639e6) }, { SC_(-16.000976562500000000000000000000000), SC_(1.0485792292903769133919482794005111e6) }, { SC_(-17.000976562500000000000000000000000), SC_(1.0485792327501870178663179616292787e6) }, { SC_(-18.000976562500000000000000000000000), SC_(1.0485792358362719002281530732844340e6) }, { SC_(-19.000976562500000000000000000000000), SC_(1.0485792386060702710649859237414384e6) }, { SC_(-20.000976562500000000000000000000000), SC_(1.0485792411058261483202152741904670e6) },
+ } };
+
+ add_data(data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::trigamma(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_psi_1(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return ::trigamma(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "trigamma[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "trigamma";
+
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::trigamma(v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::trigamma(v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_psi_1(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::trigamma(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_yn.cpp b/src/boost/libs/math/reporting/performance/test_yn.cpp
new file mode 100644
index 000000000..6278be167
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_yn.cpp
@@ -0,0 +1,135 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/bessel.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<typename table_type<T>::type, 3>, 9> y0_data = { {
+ { { SC_(0.0), SC_(1.0), SC_(0.0882569642156769579829267660235151628278175230906755467110438) } },
+ { { SC_(0.0), SC_(2.0), SC_(0.510375672649745119596606592727157873268139227085846135571839) } },
+ { { SC_(0.0), SC_(4.0), SC_(-0.0169407393250649919036351344471532182404925898980149027169321) } },
+ { { SC_(0.0), SC_(8.0), SC_(0.223521489387566220527323400498620359274814930781423577578334) } },
+ { { SC_(0.0), SC_(1e-05), SC_(-7.40316028370197013259676050746759072070960287586102867247159) } },
+ { { SC_(0.0), SC_(1e-10), SC_(-14.7325162726972420426916696426209144888762342592762415255386) } },
+ { { SC_(0.0), SC_(1e-20), SC_(-29.3912282502857968601858410375186700783698345615477536431464) } },
+ { { SC_(0.0), SC_(1e+03), SC_(0.00471591797762281339977326146566525500985900489680197718528000) } },
+ { { SC_(0.0), SC_(1e+05), SC_(0.00184676615886506410434074102431546125884886798090392516843524) } }
+ } };
+static const boost::array<boost::array<typename table_type<T>::type, 3>, 9> y1_data = { {
+ { { SC_(1.0), SC_(1.0), SC_(-0.781212821300288716547150000047964820549906390716444607843833) } },
+ { { SC_(1.0), SC_(2.0), SC_(-0.107032431540937546888370772277476636687480898235053860525795) } },
+ { { SC_(1.0), SC_(4.0), SC_(0.397925710557100005253979972450791852271189181622908340876586) } },
+ { { SC_(1.0), SC_(8.0), SC_(-0.158060461731247494255555266187483550327344049526705737651263) } },
+ { { SC_(1.0), SC_(1e-10), SC_(-6.36619772367581343150789184284462611709080831190542841855708e9) } },
+ { { SC_(1.0), SC_(1e-20), SC_(-6.36619772367581343075535053490057448139324059868649274367256e19) } },
+ { { SC_(1.0), SC_(1e+01), SC_(0.249015424206953883923283474663222803260416543069658461246944) } },
+ { { SC_(1.0), SC_(1e+03), SC_(-0.0247843312923517789148623560971412909386318548648705287583490) } },
+ { { SC_(1.0), SC_(1e+05), SC_(0.00171921035008825630099494523539897102954509504993494957572726) } }
+ } };
+static const boost::array<boost::array<typename table_type<T>::type, 3>, 10> yn_data = { {
+ { { SC_(2.0), SC_(1e-20), SC_(-1.27323954473516268615107010698011489627570899691226996904849e40) } },
+ { { SC_(5.0), SC_(10.0), SC_(0.135403047689362303197029014762241709088405766746419538495983) } },
+ { { SC_(-5.0), SC_(1e+06), SC_(0.000331052088322609048503535570014688967096938338061796192422114) } },
+ { { SC_(10.0), SC_(10.0), SC_(-0.359814152183402722051986577343560609358382147846904467526222) } },
+ { { SC_(10.0), SC_(1e-10), SC_(-1.18280490494334933900960937719565669877576135140014365217993e108) } },
+ { { SC_(-10.0), SC_(1e+06), SC_(0.000725951969295187086245251366365393653610914686201194434805730) } },
+ { { SC_(1e+02), SC_(5.0), SC_(-5.08486391602022287993091563093082035595081274976837280338134e115) } },
+ { { SC_(1e+03), SC_(1e+05), SC_(0.00217254919137684037092834146629212647764581965821326561261181) } },
+ { { SC_(-1e+03), SC_(7e+02), SC_(-1.88753109980945889960843803284345261796244752396992106755091e77) } },
+ { { SC_(-25.0), SC_(8.0), SC_(3.45113613777297661997458045843868931827873456761831907587263e8) } }
+ } };
+
+int main()
+{
+#include "bessel_y01_data.ipp"
+#include "bessel_yn_data.ipp"
+
+ add_data(y0_data);
+ add_data(y1_data);
+ add_data(yn_data);
+ add_data(bessel_y01_data);
+ add_data(bessel_yn_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::cyl_neumann(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return ::yn(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::cyl_neumann(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_bessel_Yn(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return bessel_y(v[1], static_cast<int>(v[0])); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "cyl_neumann (integer order)[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "cyl_neumann (integer order)";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_neumann(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_neumann(static_cast<int>(v[0]), v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_C99) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_C99) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return ::yn(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "math.h");
+#endif
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::cyl_neumann(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_bessel_Yn(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return bessel_y(v[1], static_cast<int>(v[0])); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_ys.cpp b/src/boost/libs/math/reporting/performance/test_ys.cpp
new file mode 100644
index 000000000..1c519ed66
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_ys.cpp
@@ -0,0 +1,80 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/bessel.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+
+int main()
+{
+#include "sph_neumann_data.ipp"
+
+ add_data(sph_neumann_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::sph_neumann(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::sph_neumann(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_bessel_yl(static_cast<int>(v[0]), v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "sph_neumann[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "sph_neumann";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::sph_neumann(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::sph_neumann(static_cast<int>(v[0]), v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::sph_neumann(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_bessel_yl(static_cast<int>(v[0]), v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_yv.cpp b/src/boost/libs/math/reporting/performance/test_yv.cpp
new file mode 100644
index 000000000..2c9a50689
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_yv.cpp
@@ -0,0 +1,118 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/bessel.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+typedef double T;
+#define SC_(x) static_cast<double>(x)
+static const boost::array<boost::array<T, 3>, 11> yv_data = { {
+ //SC_(2.25), {{ SC_(1.0) / 1024, SC_(-1.01759203636941035147948317764932151601257765988969544340275e7) }},
+ { { SC_(0.5), T(1) / (1024 * 1024), SC_(-817.033790261762580469303126467917092806755460418223776544122) } },
+ { { SC_(5.5), SC_(3.125), SC_(-2.61489440328417468776474188539366752698192046890955453259866) } },
+ { { SC_(-5.5), SC_(3.125), SC_(-0.0274994493896489729948109971802244976377957234563871795364056) } },
+ { { SC_(-5.5), SC_(1e+04), SC_(-0.00759343502722670361395585198154817047185480147294665270646578) } },
+ { { T(-10486074) / (1024 * 1024), T(1) / 1024, SC_(-1.50382374389531766117868938966858995093408410498915220070230e38) } },
+ { { T(-10486074) / (1024 * 1024), SC_(1e+02), SC_(0.0583041891319026009955779707640455341990844522293730214223545) } },
+ { { SC_(141.75), SC_(1e+02), SC_(-5.38829231428696507293191118661269920130838607482708483122068e9) } },
+ { { SC_(141.75), SC_(2e+04), SC_(-0.00376577888677186194728129112270988602876597726657372330194186) } },
+ { { SC_(-141.75), SC_(1e+02), SC_(-3.81009803444766877495905954105669819951653361036342457919021e9) } },
+ { { SC_(8.5), boost::math::constants::pi<T>() * 4, SC_(0.257086543428224355151772807588810984369026142375675714560864) } },
+ { { SC_(-8.5), boost::math::constants::pi<T>() * 4, SC_(0.0436807946352780974532519564114026730332781693877984686758680) } },
+ } };
+static const boost::array<boost::array<T, 3>, 7> yv_large_data = { {
+ // Bug report https://svn.boost.org/trac/boost/ticket/5560:
+ { { SC_(0.5), static_cast<T>(std::ldexp(0.5, -683)), SC_(-7.14823099969225685526188875418476476336424046896822867989728e102) } },
+ { { SC_(-0.5), static_cast<T>(std::ldexp(0.5, -683)), SC_(8.90597649117647254543282704099383321071493400182381039079219e-104) } },
+ { { SC_(0.0), static_cast<T>(std::ldexp(1.0, -53)), SC_(-23.4611779112897561252987257324561640034037313549011724328997) } },
+ { { SC_(1.0), static_cast<T>(std::ldexp(1.0, -53)), SC_(-5.73416113922265864550047623401604244038331542638719289100990e15) } },
+ { { SC_(2.0), static_cast<T>(std::ldexp(1.0, -53)), SC_(-1.03297463879542177245046832533417970379386617249046560049244e32) } },
+ { { SC_(3.0), static_cast<T>(std::ldexp(1.0, -53)), SC_(-3.72168335868978735639260528876490232745489151562358712422544e48) } },
+ { { SC_(10.0), static_cast<T>(std::ldexp(1.0, -53)), SC_(-4.15729476804920974669173904282420477878640623992500096231384e167) } },
+ } };
+
+int main()
+{
+#include "bessel_yv_data.ipp"
+
+ add_data(yv_data);
+ add_data(yv_large_data);
+ add_data(bessel_yv_data);
+
+ unsigned data_total = data.size();
+
+ std::cout << "Screening boost data:\n";
+ screen_data([](const std::vector<double>& v){ return boost::math::cyl_neumann(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening libstdc++ data:\n";
+ screen_data([](const std::vector<double>& v){ return std::tr1::cyl_neumann(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening GSL data:\n";
+ screen_data([](const std::vector<double>& v){ return gsl_sf_bessel_Ynu(v[0], v[1]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ std::cout << "Screening Rmath data:\n";
+ screen_data([](const std::vector<double>& v){ return bessel_y(v[1], v[0]); }, [](const std::vector<double>& v){ return v[2]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "cyl_neumann[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "cyl_neumann";
+
+ double time;
+
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_neumann(v[0], v[1]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ time = exec_timed_test([](const std::vector<double>& v){ return boost::math::cyl_neumann(v[0], v[1], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::cyl_neumann(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_bessel_Ynu(v[0], v[1]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+#if defined(TEST_RMATH) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return bessel_y(v[1], v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "Rmath " R_VERSION_STRING);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/test_zeta.cpp b/src/boost/libs/math/reporting/performance/test_zeta.cpp
new file mode 100644
index 000000000..bf54534e4
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/test_zeta.cpp
@@ -0,0 +1,82 @@
+// Copyright John Maddock 2015.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4224)
+#endif
+
+#include <boost/math/special_functions/zeta.hpp>
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include "../../test/table_type.hpp"
+#include "table_helper.hpp"
+#include "performance.hpp"
+#include <iostream>
+
+int main()
+{
+ typedef double T;
+#define SC_(x) static_cast<double>(x)
+#include "zeta_data.ipp"
+#include "zeta_neg_data.ipp"
+#include "zeta_1_up_data.ipp"
+#include "zeta_1_below_data.ipp"
+
+ add_data(zeta_data);
+ add_data(zeta_neg_data);
+ add_data(zeta_1_up_data);
+ add_data(zeta_1_below_data);
+
+ unsigned data_total = data.size();
+
+ screen_data([](const std::vector<double>& v){ return boost::math::zeta(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return std::tr1::riemann_zeta(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ screen_data([](const std::vector<double>& v){ return gsl_sf_zeta(v[0]); }, [](const std::vector<double>& v){ return v[1]; });
+#endif
+
+ unsigned data_used = data.size();
+ std::string function = "zeta[br](" + boost::lexical_cast<std::string>(data_used) + "/" + boost::lexical_cast<std::string>(data_total) + " tests selected)";
+ std::string function_short = "zeta";
+
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::zeta(v[0]); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name());
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name());
+ //
+ // Boost again, but with promotion to long double turned off:
+ //
+#if !defined(COMPILER_COMPARISON_TABLES)
+ if(sizeof(long double) != sizeof(double))
+ {
+ double time = exec_timed_test([](const std::vector<double>& v){ return boost::math::zeta(v[0], boost::math::policies::make_policy(boost::math::policies::promote_double<false>())); });
+ std::cout << time << std::endl;
+#if !defined(COMPILER_COMPARISON_TABLES) && (defined(TEST_GSL) || defined(TEST_RMATH) || defined(TEST_LIBSTDCXX))
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, boost_name() + "[br]promote_double<false>");
+#endif
+ report_execution_time(time, std::string("Compiler Comparison on ") + std::string(platform_name()), function_short, compiler_name() + std::string("[br]") + boost_name() + "[br]promote_double<false>");
+ }
+#endif
+
+
+#if defined(TEST_LIBSTDCXX) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return std::tr1::riemann_zeta(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "tr1/cmath");
+#endif
+#if defined(TEST_GSL) && !defined(COMPILER_COMPARISON_TABLES)
+ time = exec_timed_test([](const std::vector<double>& v){ return gsl_sf_zeta(v[0]); });
+ std::cout << time << std::endl;
+ report_execution_time(time, std::string("Library Comparison with ") + std::string(compiler_name()) + std::string(" on ") + platform_name(), function, "GSL " GSL_VERSION);
+#endif
+
+ return 0;
+}
+
diff --git a/src/boost/libs/math/reporting/performance/third_party/dcdflib/readme.txt b/src/boost/libs/math/reporting/performance/third_party/dcdflib/readme.txt
new file mode 100644
index 000000000..aec2d85f8
--- /dev/null
+++ b/src/boost/libs/math/reporting/performance/third_party/dcdflib/readme.txt
@@ -0,0 +1,6 @@
+Add the C source files for DCDFLIB here if you want them to be built and tested for performance comparisons.
+
+Copyright 2015 John Maddock and Paul A. Bristow.
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt).