2000-08-21 17:06:46 +00:00
|
|
|
# Begin of automatic generation
|
|
|
|
|
2002-09-04 23:40:45 +00:00
|
|
|
# Maximal error of functions:
|
2015-04-24 11:36:23 +00:00
|
|
|
Function: "acos":
|
2021-03-03 11:22:08 +00:00
|
|
|
double: 1
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 1
|
2015-04-24 11:36:23 +00:00
|
|
|
|
2012-05-04 08:05:41 +00:00
|
|
|
Function: "acos_downward":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "acos_towardzero":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2012-06-25 08:28:03 +00:00
|
|
|
Function: "acos_upward":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 1
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 1
|
|
|
|
ldouble: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
|
|
|
|
Function: "acosh":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 2
|
2015-06-19 11:47:59 +00:00
|
|
|
float: 2
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 4
|
2014-01-15 08:49:54 +00:00
|
|
|
|
2014-06-03 15:27:13 +00:00
|
|
|
Function: "acosh_downward":
|
2018-02-22 08:13:22 +00:00
|
|
|
double: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 3
|
2014-06-03 15:27:13 +00:00
|
|
|
|
|
|
|
Function: "acosh_towardzero":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
2014-06-03 15:27:13 +00:00
|
|
|
|
|
|
|
Function: "acosh_upward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
float: 2
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 3
|
2014-06-03 15:27:13 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: "asin":
|
2021-03-03 11:22:08 +00:00
|
|
|
double: 1
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 1
|
2012-06-25 08:28:03 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
2012-05-04 08:05:41 +00:00
|
|
|
Function: "asin_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "asin_towardzero":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
ldouble: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "asin_upward":
|
2021-03-12 13:31:49 +00:00
|
|
|
double: 2
|
2014-01-15 08:49:54 +00:00
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2014-01-15 08:49:54 +00:00
|
|
|
|
|
|
|
Function: "asinh":
|
2020-12-22 18:20:56 +00:00
|
|
|
double: 2
|
2020-04-03 07:38:02 +00:00
|
|
|
float: 2
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 4
|
2012-05-04 08:05:41 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "asinh_downward":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 3
|
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "asinh_towardzero":
|
2015-03-12 10:04:13 +00:00
|
|
|
double: 2
|
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "asinh_upward":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 3
|
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: "atan":
|
2021-03-12 13:31:49 +00:00
|
|
|
double: 1
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 1
|
|
|
|
ldouble: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
|
2002-09-04 23:40:45 +00:00
|
|
|
Function: "atan2":
|
2005-07-20 18:20:48 +00:00
|
|
|
float: 1
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "atan2_downward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "atan2_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "atan2_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "atan_downward":
|
|
|
|
double: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
float: 2
|
2015-04-24 11:36:23 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "atan_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "atan_upward":
|
|
|
|
double: 1
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2002-09-04 23:40:45 +00:00
|
|
|
Function: "atanh":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 2
|
2015-06-19 11:47:59 +00:00
|
|
|
float: 2
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 4
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "atanh_downward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 4
|
2015-04-24 11:36:23 +00:00
|
|
|
|
|
|
|
Function: "atanh_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "atanh_upward":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 3
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 4
|
2015-04-24 11:36:23 +00:00
|
|
|
|
|
|
|
Function: "cabs":
|
2014-04-16 11:00:29 +00:00
|
|
|
double: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 1
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2015-04-24 11:36:23 +00:00
|
|
|
Function: "cabs_downward":
|
2015-03-12 10:04:13 +00:00
|
|
|
double: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 1
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2015-04-24 11:36:23 +00:00
|
|
|
Function: "cabs_towardzero":
|
|
|
|
double: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 1
|
2015-04-24 11:36:23 +00:00
|
|
|
|
|
|
|
Function: "cabs_upward":
|
2014-04-16 11:00:29 +00:00
|
|
|
double: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 1
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2012-05-04 08:05:41 +00:00
|
|
|
Function: Real part of "cacos":
|
|
|
|
double: 1
|
2013-07-22 07:51:52 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
2006-02-01 03:02:06 +00:00
|
|
|
|
2012-05-04 08:05:41 +00:00
|
|
|
Function: Imaginary part of "cacos":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 2
|
2013-07-22 07:51:52 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
2012-05-04 08:05:41 +00:00
|
|
|
|
2014-06-03 15:27:13 +00:00
|
|
|
Function: Real part of "cacos_downward":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 3
|
2014-06-03 15:27:13 +00:00
|
|
|
float: 2
|
2017-03-08 07:34:58 +00:00
|
|
|
ldouble: 3
|
2014-06-03 15:27:13 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "cacos_downward":
|
|
|
|
double: 5
|
|
|
|
float: 3
|
2017-03-08 07:34:58 +00:00
|
|
|
ldouble: 6
|
2014-06-03 15:27:13 +00:00
|
|
|
|
|
|
|
Function: Real part of "cacos_towardzero":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 3
|
2014-06-03 15:27:13 +00:00
|
|
|
float: 2
|
2017-03-08 07:34:58 +00:00
|
|
|
ldouble: 3
|
2014-06-03 15:27:13 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "cacos_towardzero":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 4
|
|
|
|
float: 2
|
2014-06-03 15:27:13 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Real part of "cacos_upward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "cacos_upward":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 5
|
|
|
|
float: 5
|
|
|
|
ldouble: 7
|
2014-06-03 15:27:13 +00:00
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: Real part of "cacosh":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 2
|
2013-07-22 07:51:52 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "cacosh":
|
|
|
|
double: 1
|
2013-07-22 07:51:52 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: Real part of "cacosh_downward":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 4
|
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Imaginary part of "cacosh_downward":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 3
|
2017-03-08 07:34:58 +00:00
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Real part of "cacosh_towardzero":
|
|
|
|
double: 4
|
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Imaginary part of "cacosh_towardzero":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 2
|
2017-03-08 07:34:58 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Real part of "cacosh_upward":
|
|
|
|
double: 4
|
2017-03-08 07:34:58 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 6
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "cacosh_upward":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 2
|
2017-03-08 07:34:58 +00:00
|
|
|
ldouble: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2015-04-24 11:36:23 +00:00
|
|
|
Function: "carg":
|
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2015-04-24 11:36:23 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "carg_downward":
|
|
|
|
double: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "carg_towardzero":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 1
|
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "carg_upward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: Real part of "casin":
|
2002-09-04 23:40:45 +00:00
|
|
|
double: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
float: 1
|
2013-07-22 07:51:52 +00:00
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2006-02-01 03:02:06 +00:00
|
|
|
Function: Imaginary part of "casin":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 2
|
2013-07-22 07:51:52 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
2006-02-01 03:02:06 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: Real part of "casin_downward":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 3
|
2017-03-08 07:34:58 +00:00
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "casin_downward":
|
|
|
|
double: 5
|
|
|
|
float: 3
|
2017-03-08 07:34:58 +00:00
|
|
|
ldouble: 6
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Real part of "casin_towardzero":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 1
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "casin_towardzero":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 4
|
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Real part of "casin_upward":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 3
|
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "casin_upward":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 5
|
|
|
|
float: 5
|
|
|
|
ldouble: 7
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: Real part of "casinh":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 2
|
2013-07-22 07:51:52 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "casinh":
|
2013-01-09 15:33:06 +00:00
|
|
|
double: 1
|
|
|
|
float: 1
|
2013-07-22 07:51:52 +00:00
|
|
|
ldouble: 2
|
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: Real part of "casinh_downward":
|
|
|
|
double: 5
|
|
|
|
float: 3
|
2017-03-08 07:34:58 +00:00
|
|
|
ldouble: 6
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "casinh_downward":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 3
|
2017-03-08 07:34:58 +00:00
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "casinh_towardzero":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 4
|
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Imaginary part of "casinh_towardzero":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 1
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "casinh_upward":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 5
|
|
|
|
float: 5
|
|
|
|
ldouble: 7
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "casinh_upward":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 3
|
|
|
|
|
2013-07-22 07:51:52 +00:00
|
|
|
Function: Real part of "catan":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 1
|
2013-07-22 07:51:52 +00:00
|
|
|
float: 1
|
2013-01-09 15:33:06 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "catan":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
2017-03-10 07:45:29 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: Real part of "catan_downward":
|
|
|
|
double: 1
|
2017-03-08 07:34:58 +00:00
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "catan_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
2017-03-10 07:45:29 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Real part of "catan_towardzero":
|
|
|
|
double: 1
|
2017-03-08 07:34:58 +00:00
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "catan_towardzero":
|
|
|
|
double: 2
|
2017-03-08 07:34:58 +00:00
|
|
|
float: 2
|
2017-03-10 07:45:29 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Real part of "catan_upward":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 1
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 1
|
2017-03-08 07:34:58 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "catan_upward":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 2
|
|
|
|
float: 2
|
2017-03-10 07:45:29 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: Real part of "catanh":
|
2013-07-22 07:51:52 +00:00
|
|
|
double: 1
|
|
|
|
float: 1
|
2017-03-10 07:45:29 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "catanh":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 1
|
2013-07-22 07:51:52 +00:00
|
|
|
float: 1
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: Real part of "catanh_downward":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
2017-03-10 07:45:29 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "catanh_downward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "catanh_towardzero":
|
|
|
|
double: 2
|
2017-03-08 07:34:58 +00:00
|
|
|
float: 2
|
2017-03-10 07:45:29 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "catanh_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "catanh_upward":
|
|
|
|
double: 4
|
2017-03-08 07:34:58 +00:00
|
|
|
float: 4
|
2017-03-10 07:45:29 +00:00
|
|
|
ldouble: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "catanh_upward":
|
2017-03-08 07:34:58 +00:00
|
|
|
double: 1
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 1
|
2017-03-08 07:34:58 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: "cbrt":
|
2020-12-22 18:20:56 +00:00
|
|
|
double: 4
|
2014-01-15 08:49:54 +00:00
|
|
|
float: 1
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "cbrt_downward":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "cbrt_towardzero":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 3
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 1
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "cbrt_upward":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 5
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: Real part of "ccos":
|
|
|
|
double: 1
|
2002-09-04 23:40:45 +00:00
|
|
|
float: 1
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "ccos":
|
2012-06-25 08:28:03 +00:00
|
|
|
double: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
float: 1
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: Real part of "ccos_downward":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccos_downward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "ccos_towardzero":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccos_towardzero":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "ccos_upward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccos_upward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 1
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "ccosh":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccosh":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: Real part of "ccosh_downward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 2
|
2018-02-15 08:06:18 +00:00
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccosh_downward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "ccosh_towardzero":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: Imaginary part of "ccosh_towardzero":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "ccosh_upward":
|
2012-06-25 08:28:03 +00:00
|
|
|
double: 1
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "ccosh_upward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 1
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
|
|
|
Function: Real part of "cexp":
|
2012-05-04 08:05:41 +00:00
|
|
|
double: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
float: 1
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "cexp":
|
2012-05-04 08:05:41 +00:00
|
|
|
double: 1
|
|
|
|
float: 2
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2015-07-07 14:11:14 +00:00
|
|
|
Function: Real part of "cexp_downward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 2
|
2015-07-07 14:11:14 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "cexp_downward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2015-07-07 14:11:14 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "cexp_towardzero":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 2
|
2015-07-07 14:11:14 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "cexp_towardzero":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2015-07-07 14:11:14 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "cexp_upward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "cexp_upward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2015-07-07 14:11:14 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 3
|
|
|
|
|
2002-09-04 23:40:45 +00:00
|
|
|
Function: Real part of "clog":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 3
|
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2002-09-04 23:40:45 +00:00
|
|
|
|
2012-06-25 08:28:03 +00:00
|
|
|
Function: Imaginary part of "clog":
|
2021-03-12 13:31:49 +00:00
|
|
|
double: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
float: 1
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2012-12-21 02:25:54 +00:00
|
|
|
Function: Real part of "clog10":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
float: 4
|
|
|
|
ldouble: 2
|
2012-12-21 02:25:54 +00:00
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: Imaginary part of "clog10":
|
2016-10-04 13:27:40 +00:00
|
|
|
double: 2
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 2
|
2012-12-21 02:25:54 +00:00
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: Real part of "clog10_downward":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 5
|
2017-10-05 10:50:49 +00:00
|
|
|
float: 5
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2015-04-24 11:36:23 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "clog10_downward":
|
|
|
|
double: 2
|
2015-06-19 11:47:59 +00:00
|
|
|
float: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "clog10_towardzero":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 5
|
2016-01-19 09:00:52 +00:00
|
|
|
float: 5
|
|
|
|
ldouble: 4
|
2015-04-24 11:36:23 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "clog10_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 4
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "clog10_upward":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 6
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 5
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "clog10_upward":
|
|
|
|
double: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
float: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "clog_downward":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 4
|
|
|
|
float: 3
|
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "clog_downward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "clog_towardzero":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 4
|
|
|
|
float: 4
|
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "clog_towardzero":
|
|
|
|
double: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
float: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "clog_upward":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 4
|
|
|
|
float: 3
|
|
|
|
ldouble: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "clog_upward":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 1
|
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 2
|
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: "cos":
|
2018-04-05 14:20:03 +00:00
|
|
|
double: 1
|
2020-04-03 07:38:02 +00:00
|
|
|
float: 1
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2012-05-04 08:05:41 +00:00
|
|
|
Function: "cos_downward":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 1
|
2018-08-17 14:39:13 +00:00
|
|
|
float: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 3
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "cos_towardzero":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 1
|
2018-08-17 14:39:13 +00:00
|
|
|
float: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
ldouble: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "cos_upward":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 1
|
2018-08-17 14:39:13 +00:00
|
|
|
float: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "cosh":
|
2020-12-22 18:20:56 +00:00
|
|
|
double: 2
|
2020-04-03 07:38:02 +00:00
|
|
|
float: 2
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 2
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "cosh_downward":
|
2020-12-22 18:20:56 +00:00
|
|
|
double: 3
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 3
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "cosh_towardzero":
|
2020-12-22 18:20:56 +00:00
|
|
|
double: 3
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 3
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "cosh_upward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 2
|
2014-01-15 08:49:54 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 3
|
2012-05-04 08:05:41 +00:00
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: Real part of "cpow":
|
2002-09-04 23:40:45 +00:00
|
|
|
double: 2
|
2012-06-25 08:28:03 +00:00
|
|
|
float: 5
|
2012-12-21 02:25:54 +00:00
|
|
|
ldouble: 4
|
2000-08-21 17:06:46 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "cpow":
|
|
|
|
float: 2
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
2014-07-01 14:04:58 +00:00
|
|
|
Function: Real part of "cpow_downward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 5
|
2014-07-01 14:04:58 +00:00
|
|
|
float: 8
|
|
|
|
ldouble: 6
|
|
|
|
|
|
|
|
Function: Imaginary part of "cpow_downward":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 1
|
2014-07-01 14:04:58 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "cpow_towardzero":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 5
|
2014-07-01 14:04:58 +00:00
|
|
|
float: 8
|
|
|
|
ldouble: 6
|
|
|
|
|
|
|
|
Function: Imaginary part of "cpow_towardzero":
|
2015-04-24 11:36:23 +00:00
|
|
|
double: 1
|
2014-07-01 14:04:58 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "cpow_upward":
|
|
|
|
double: 4
|
|
|
|
float: 1
|
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "cpow_upward":
|
|
|
|
double: 1
|
|
|
|
float: 2
|
|
|
|
ldouble: 2
|
|
|
|
|
2006-02-01 03:02:06 +00:00
|
|
|
Function: Real part of "csin":
|
2012-06-25 08:28:03 +00:00
|
|
|
double: 1
|
|
|
|
float: 1
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: Imaginary part of "csin":
|
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: Real part of "csin_downward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "csin_downward":
|
|
|
|
double: 1
|
2015-07-15 07:33:14 +00:00
|
|
|
float: 1
|
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Real part of "csin_towardzero":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "csin_towardzero":
|
2015-07-15 07:33:14 +00:00
|
|
|
double: 1
|
|
|
|
float: 1
|
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Real part of "csin_upward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 1
|
2015-07-15 07:33:14 +00:00
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Imaginary part of "csin_upward":
|
|
|
|
double: 1
|
2015-07-15 07:33:14 +00:00
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 3
|
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: Real part of "csinh":
|
|
|
|
float: 1
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "csinh":
|
|
|
|
double: 1
|
|
|
|
float: 1
|
2012-06-25 08:28:03 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: Real part of "csinh_downward":
|
2015-07-07 14:11:14 +00:00
|
|
|
double: 2
|
2018-02-15 08:06:18 +00:00
|
|
|
float: 1
|
2015-07-15 07:33:14 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "csinh_downward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: Real part of "csinh_towardzero":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
2015-07-15 07:33:14 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "csinh_towardzero":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 3
|
2015-07-15 07:33:14 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Real part of "csinh_upward":
|
|
|
|
double: 1
|
2015-07-15 07:33:14 +00:00
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Imaginary part of "csinh_upward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 1
|
2015-07-15 07:33:14 +00:00
|
|
|
float: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 2
|
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: Real part of "csqrt":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2006-02-01 03:02:06 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "csqrt":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: Real part of "csqrt_downward":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 5
|
2015-06-19 11:47:59 +00:00
|
|
|
float: 4
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "csqrt_downward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 4
|
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Real part of "csqrt_towardzero":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 4
|
2015-06-19 11:47:59 +00:00
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "csqrt_towardzero":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 4
|
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Real part of "csqrt_upward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 5
|
|
|
|
float: 4
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "csqrt_upward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 3
|
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: Real part of "ctan":
|
2000-08-21 17:06:46 +00:00
|
|
|
double: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
ldouble: 3
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: Imaginary part of "ctan":
|
2012-12-21 02:25:54 +00:00
|
|
|
double: 2
|
2018-02-22 08:13:22 +00:00
|
|
|
float: 2
|
2014-01-15 08:49:54 +00:00
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: Real part of "ctan_downward":
|
|
|
|
double: 6
|
|
|
|
float: 5
|
2012-12-21 02:25:54 +00:00
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Imaginary part of "ctan_downward":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 2
|
2017-12-16 08:41:56 +00:00
|
|
|
float: 2
|
2012-12-21 02:25:54 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Real part of "ctan_towardzero":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 5
|
2018-11-28 14:20:18 +00:00
|
|
|
float: 3
|
2014-01-15 08:49:54 +00:00
|
|
|
ldouble: 4
|
2012-12-21 02:25:54 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "ctan_towardzero":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 2
|
|
|
|
float: 2
|
2012-12-21 02:25:54 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Real part of "ctan_upward":
|
|
|
|
double: 2
|
2017-12-16 08:41:56 +00:00
|
|
|
float: 4
|
2014-01-15 08:49:54 +00:00
|
|
|
ldouble: 5
|
2012-12-21 02:25:54 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "ctan_upward":
|
2018-11-28 14:20:18 +00:00
|
|
|
double: 2
|
2018-02-22 08:13:22 +00:00
|
|
|
float: 2
|
2014-07-01 14:04:58 +00:00
|
|
|
ldouble: 5
|
2012-12-21 02:25:54 +00:00
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: Real part of "ctanh":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
float: 2
|
2014-01-15 08:49:54 +00:00
|
|
|
ldouble: 3
|
2000-08-21 17:06:46 +00:00
|
|
|
|
|
|
|
Function: Imaginary part of "ctanh":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
float: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
ldouble: 3
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2012-12-21 02:25:54 +00:00
|
|
|
Function: Real part of "ctanh_downward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 2
|
2017-12-16 08:41:56 +00:00
|
|
|
float: 2
|
2012-12-21 02:25:54 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Imaginary part of "ctanh_downward":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 6
|
|
|
|
float: 5
|
2012-12-21 02:25:54 +00:00
|
|
|
ldouble: 4
|
|
|
|
|
|
|
|
Function: Real part of "ctanh_towardzero":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 2
|
|
|
|
float: 2
|
2012-12-21 02:25:54 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: Imaginary part of "ctanh_towardzero":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 5
|
2012-12-21 02:25:54 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 3
|
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: Real part of "ctanh_upward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 1
|
2018-02-15 08:06:18 +00:00
|
|
|
float: 2
|
2014-07-01 14:04:58 +00:00
|
|
|
ldouble: 5
|
2014-01-15 08:49:54 +00:00
|
|
|
|
2012-12-21 02:25:54 +00:00
|
|
|
Function: Imaginary part of "ctanh_upward":
|
|
|
|
double: 2
|
2014-01-15 08:49:54 +00:00
|
|
|
float: 3
|
|
|
|
ldouble: 5
|
2012-12-21 02:25:54 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "erf":
|
|
|
|
double: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
float: 1
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "erf_downward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 1
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "erf_towardzero":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 1
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "erf_upward":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 1
|
2004-07-01 01:43:38 +00:00
|
|
|
float: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "erfc":
|
|
|
|
double: 2
|
|
|
|
float: 2
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 4
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "erfc_downward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 4
|
2015-06-19 11:47:59 +00:00
|
|
|
float: 4
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 5
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "erfc_towardzero":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "erfc_upward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 4
|
2015-06-19 11:47:59 +00:00
|
|
|
float: 4
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: "exp":
|
2020-12-22 18:20:56 +00:00
|
|
|
double: 1
|
2020-04-03 07:38:02 +00:00
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
|
|
|
|
Function: "exp10":
|
2014-04-16 11:00:29 +00:00
|
|
|
double: 2
|
2020-04-03 07:38:02 +00:00
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2015-06-19 11:47:59 +00:00
|
|
|
|
|
|
|
Function: "exp10_downward":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2020-06-24 12:51:06 +00:00
|
|
|
float: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: "exp10_towardzero":
|
2018-09-06 12:29:01 +00:00
|
|
|
double: 3
|
2020-06-24 12:51:06 +00:00
|
|
|
float: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: "exp10_upward":
|
|
|
|
double: 2
|
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2015-06-19 11:47:59 +00:00
|
|
|
Function: "exp2":
|
2012-12-21 02:25:54 +00:00
|
|
|
double: 1
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
2015-06-19 11:47:59 +00:00
|
|
|
Function: "exp2_downward":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
|
2015-06-19 11:47:59 +00:00
|
|
|
Function: "exp2_towardzero":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
|
2015-06-19 11:47:59 +00:00
|
|
|
Function: "exp2_upward":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 1
|
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "exp_downward":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 1
|
2017-10-05 10:50:49 +00:00
|
|
|
float: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
|
|
|
|
Function: "exp_towardzero":
|
|
|
|
double: 1
|
2017-10-05 10:50:49 +00:00
|
|
|
float: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
|
|
|
|
Function: "exp_upward":
|
|
|
|
double: 1
|
2017-10-05 10:50:49 +00:00
|
|
|
float: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
|
|
|
|
Function: "expm1":
|
|
|
|
double: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 2
|
2012-05-04 08:05:41 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: "expm1_downward":
|
|
|
|
double: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
2015-04-24 11:36:23 +00:00
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: "expm1_towardzero":
|
2002-09-04 23:40:45 +00:00
|
|
|
double: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 4
|
2006-02-01 03:02:06 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: "expm1_upward":
|
2013-07-22 07:51:52 +00:00
|
|
|
double: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
float: 1
|
2015-04-24 11:36:23 +00:00
|
|
|
ldouble: 3
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: "gamma":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 3
|
2018-02-15 08:06:18 +00:00
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: "gamma_downward":
|
|
|
|
double: 4
|
|
|
|
float: 4
|
|
|
|
ldouble: 8
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "gamma_towardzero":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 4
|
2015-06-19 11:47:59 +00:00
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 5
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "gamma_upward":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 4
|
|
|
|
float: 5
|
|
|
|
ldouble: 8
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: "hypot":
|
|
|
|
double: 1
|
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "hypot_downward":
|
|
|
|
double: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "hypot_towardzero":
|
|
|
|
double: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "hypot_upward":
|
|
|
|
double: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: "j0":
|
2021-04-15 09:05:43 +00:00
|
|
|
double: 4
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
float: 9
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "j0_downward":
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
double: 6
|
|
|
|
float: 9
|
|
|
|
ldouble: 9
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "j0_towardzero":
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
double: 7
|
|
|
|
float: 9
|
|
|
|
ldouble: 9
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "j0_upward":
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
double: 9
|
|
|
|
float: 8
|
|
|
|
ldouble: 7
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: "j1":
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
double: 4
|
|
|
|
float: 9
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 4
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "j1_downward":
|
2021-04-15 09:05:43 +00:00
|
|
|
double: 9
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
float: 8
|
|
|
|
ldouble: 6
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "j1_towardzero":
|
2021-04-15 09:05:43 +00:00
|
|
|
double: 5
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
float: 8
|
|
|
|
ldouble: 9
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "j1_upward":
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
double: 9
|
|
|
|
float: 9
|
|
|
|
ldouble: 9
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: "jn":
|
2002-09-04 23:40:45 +00:00
|
|
|
double: 4
|
2014-01-15 08:49:54 +00:00
|
|
|
float: 4
|
|
|
|
ldouble: 7
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2015-07-07 14:11:14 +00:00
|
|
|
Function: "jn_downward":
|
|
|
|
double: 4
|
|
|
|
float: 5
|
|
|
|
ldouble: 8
|
|
|
|
|
|
|
|
Function: "jn_towardzero":
|
|
|
|
double: 4
|
|
|
|
float: 5
|
|
|
|
ldouble: 8
|
|
|
|
|
|
|
|
Function: "jn_upward":
|
|
|
|
double: 5
|
|
|
|
float: 4
|
|
|
|
ldouble: 7
|
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: "lgamma":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 3
|
2018-02-15 08:06:18 +00:00
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: "lgamma_downward":
|
|
|
|
double: 4
|
|
|
|
float: 4
|
|
|
|
ldouble: 8
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "lgamma_towardzero":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 4
|
2015-06-19 11:47:59 +00:00
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 5
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "lgamma_upward":
|
2016-01-19 09:00:52 +00:00
|
|
|
double: 4
|
|
|
|
float: 5
|
|
|
|
ldouble: 8
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: "log":
|
2020-12-22 18:20:56 +00:00
|
|
|
double: 1
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
|
|
|
Function: "log10":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
2002-09-04 23:40:45 +00:00
|
|
|
float: 2
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 2
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-06-03 15:27:13 +00:00
|
|
|
Function: "log10_downward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
|
|
|
float: 3
|
2014-06-03 15:27:13 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "log10_towardzero":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
2018-02-15 08:06:18 +00:00
|
|
|
float: 1
|
2014-06-03 15:27:13 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "log10_upward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
|
|
|
float: 2
|
2014-06-03 15:27:13 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: "log1p":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
float: 1
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 3
|
2006-02-01 03:02:06 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "log1p_downward":
|
|
|
|
double: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "log1p_towardzero":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "log1p_upward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2006-02-01 03:02:06 +00:00
|
|
|
Function: "log2":
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 1
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 3
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-07-01 14:04:58 +00:00
|
|
|
Function: "log2_downward":
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2014-07-01 14:04:58 +00:00
|
|
|
|
|
|
|
Function: "log2_towardzero":
|
2018-11-28 14:20:18 +00:00
|
|
|
double: 1
|
2014-07-01 14:04:58 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "log2_upward":
|
2018-11-28 14:20:18 +00:00
|
|
|
double: 1
|
2014-07-01 14:04:58 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "log_downward":
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "log_towardzero":
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "log_upward":
|
|
|
|
ldouble: 1
|
|
|
|
|
2012-05-04 08:05:41 +00:00
|
|
|
Function: "pow":
|
2018-02-15 08:06:18 +00:00
|
|
|
double: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "pow_downward":
|
2014-07-01 14:04:58 +00:00
|
|
|
double: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "pow_towardzero":
|
2014-07-01 14:04:58 +00:00
|
|
|
double: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "pow_upward":
|
2014-07-01 14:04:58 +00:00
|
|
|
double: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
2014-07-01 14:04:58 +00:00
|
|
|
ldouble: 2
|
2012-05-04 08:05:41 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: "sin":
|
2018-04-05 14:20:03 +00:00
|
|
|
double: 1
|
2020-04-03 07:38:02 +00:00
|
|
|
float: 1
|
2021-03-03 11:22:08 +00:00
|
|
|
ldouble: 2
|
2012-05-04 08:05:41 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: "sin_downward":
|
|
|
|
double: 1
|
2018-08-17 14:39:13 +00:00
|
|
|
float: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 3
|
2014-01-15 08:49:54 +00:00
|
|
|
|
2012-05-04 08:05:41 +00:00
|
|
|
Function: "sin_towardzero":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 1
|
2018-08-17 14:39:13 +00:00
|
|
|
float: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 2
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "sin_upward":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 1
|
2018-08-17 14:39:13 +00:00
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2012-05-04 08:05:41 +00:00
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: "sincos":
|
2018-04-05 14:20:03 +00:00
|
|
|
double: 1
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 1
|
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "sincos_downward":
|
|
|
|
double: 1
|
2018-08-17 14:39:13 +00:00
|
|
|
float: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "sincos_towardzero":
|
|
|
|
double: 1
|
2018-08-17 14:39:13 +00:00
|
|
|
float: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 2
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "sincos_upward":
|
|
|
|
double: 1
|
2018-08-17 14:39:13 +00:00
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2015-04-24 11:36:23 +00:00
|
|
|
Function: "sinh":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2012-05-04 08:05:41 +00:00
|
|
|
|
2015-04-24 11:36:23 +00:00
|
|
|
Function: "sinh_downward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 3
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2015-04-24 11:36:23 +00:00
|
|
|
|
2012-05-04 08:05:41 +00:00
|
|
|
Function: "sinh_towardzero":
|
2020-12-22 18:20:56 +00:00
|
|
|
double: 3
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2012-05-04 08:05:41 +00:00
|
|
|
|
|
|
|
Function: "sinh_upward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 3
|
2015-04-24 11:36:23 +00:00
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 4
|
2014-01-15 08:49:54 +00:00
|
|
|
|
2015-06-19 11:47:59 +00:00
|
|
|
Function: "tan":
|
|
|
|
float: 1
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 1
|
2015-06-19 11:47:59 +00:00
|
|
|
|
2014-01-15 08:49:54 +00:00
|
|
|
Function: "tan_downward":
|
2002-01-17 00:50:24 +00:00
|
|
|
double: 1
|
2014-01-15 08:49:54 +00:00
|
|
|
float: 2
|
|
|
|
ldouble: 1
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2012-05-04 08:05:41 +00:00
|
|
|
Function: "tan_towardzero":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
|
|
|
ldouble: 1
|
|
|
|
|
|
|
|
Function: "tan_upward":
|
2014-01-15 08:49:54 +00:00
|
|
|
double: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
float: 1
|
2015-04-24 11:36:23 +00:00
|
|
|
ldouble: 1
|
2012-05-04 08:05:41 +00:00
|
|
|
|
2006-02-01 03:02:06 +00:00
|
|
|
Function: "tanh":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 2
|
2006-02-01 03:02:06 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "tanh_downward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 3
|
|
|
|
float: 3
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "tanh_towardzero":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 2
|
|
|
|
float: 2
|
2016-01-19 09:00:52 +00:00
|
|
|
ldouble: 3
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "tanh_upward":
|
2015-06-19 11:47:59 +00:00
|
|
|
double: 3
|
2013-07-22 07:51:52 +00:00
|
|
|
float: 3
|
2015-06-19 11:47:59 +00:00
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: "tgamma":
|
2020-12-22 18:20:56 +00:00
|
|
|
double: 9
|
2020-04-03 07:38:02 +00:00
|
|
|
float: 8
|
2013-07-22 07:51:52 +00:00
|
|
|
ldouble: 4
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2015-07-07 14:11:14 +00:00
|
|
|
Function: "tgamma_downward":
|
2021-04-13 14:51:07 +00:00
|
|
|
double: 9
|
2020-04-03 07:38:02 +00:00
|
|
|
float: 7
|
2015-07-07 14:11:14 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: "tgamma_towardzero":
|
2020-12-22 18:20:56 +00:00
|
|
|
double: 9
|
2020-04-03 07:38:02 +00:00
|
|
|
float: 7
|
2015-07-07 14:11:14 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: "tgamma_upward":
|
2020-12-22 18:20:56 +00:00
|
|
|
double: 9
|
2020-04-03 07:38:02 +00:00
|
|
|
float: 8
|
2015-07-07 14:11:14 +00:00
|
|
|
ldouble: 4
|
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: "y0":
|
|
|
|
double: 2
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
float: 8
|
2006-02-01 03:02:06 +00:00
|
|
|
ldouble: 3
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "y0_downward":
|
|
|
|
double: 3
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
float: 8
|
|
|
|
ldouble: 7
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "y0_towardzero":
|
|
|
|
double: 3
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
float: 8
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 3
|
|
|
|
|
|
|
|
Function: "y0_upward":
|
2019-06-25 13:14:17 +00:00
|
|
|
double: 3
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
float: 8
|
|
|
|
ldouble: 4
|
2014-04-16 11:00:29 +00:00
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: "y1":
|
|
|
|
double: 3
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
float: 9
|
|
|
|
ldouble: 5
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-04-16 11:00:29 +00:00
|
|
|
Function: "y1_downward":
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
double: 6
|
|
|
|
float: 8
|
|
|
|
ldouble: 5
|
2014-04-16 11:00:29 +00:00
|
|
|
|
|
|
|
Function: "y1_towardzero":
|
|
|
|
double: 3
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
float: 9
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 2
|
|
|
|
|
|
|
|
Function: "y1_upward":
|
2019-06-25 13:14:17 +00:00
|
|
|
double: 7
|
Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472]
For j0f/j1f/y0f/y1f, the largest error for all binary32
inputs is reduced to at most 9 ulps for all rounding modes.
The new code is enabled only when there is a cancellation at the very end of
the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not
give any visible slowdown on average. Two different algorithms are used:
* around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of
degree 3 are used, computed using the Sollya tool (https://www.sollya.org/)
* for large inputs, an asymptotic formula from [1] is used
[1] Fast and Accurate Bessel Function Computation,
John Harrison, Proceedings of Arith 19, 2009.
Inputs yielding the new largest errors are added to auto-libm-test-in,
and ulps are regenerated for various targets (thanks Adhemerval Zanella).
Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-04-01 06:14:10 +00:00
|
|
|
float: 9
|
2014-04-16 11:00:29 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
Function: "yn":
|
|
|
|
double: 3
|
2017-12-16 08:41:56 +00:00
|
|
|
float: 3
|
2014-02-25 08:36:18 +00:00
|
|
|
ldouble: 5
|
2000-08-21 17:06:46 +00:00
|
|
|
|
2014-07-01 14:04:58 +00:00
|
|
|
Function: "yn_downward":
|
|
|
|
double: 3
|
2017-12-16 08:41:56 +00:00
|
|
|
float: 4
|
2014-07-01 14:04:58 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: "yn_towardzero":
|
|
|
|
double: 3
|
|
|
|
float: 3
|
|
|
|
ldouble: 5
|
|
|
|
|
|
|
|
Function: "yn_upward":
|
|
|
|
double: 4
|
2017-12-16 08:41:56 +00:00
|
|
|
float: 5
|
2014-07-01 14:04:58 +00:00
|
|
|
ldouble: 5
|
|
|
|
|
2000-08-21 17:06:46 +00:00
|
|
|
# end of automatic generation
|