update libm-test-ulps for new exp

Message ID 4c570272-db39-aa9d-664b-b6e32402f448@arm.com
State New
Headers show
Series
  • update libm-test-ulps for new exp
Related show

Commit Message

Szabolcs Nagy July 12, 2018, 3:52 p.m.
Update error bounds for the new exp implementation on alpha, hppa,
m68k/coldfire, microblaze, mips/mips32, mips/mips64, nios2, powerpc,
riscv/nofpu, riscv/rv64, s390, sh and sparc.  Only non-nearest
rounding ulp bounds increased.  Did not run the math tests on real
hardware, but used the following ULP bounds to generate the new files:

Function: Imaginary part of "ccos_downward":
double: 3
idouble: 3
Function: Imaginary part of "ccos_towardzero":
double: 3
idouble: 3
Function: Real part of "ccosh_downward":
double: 2
idouble: 2
Function: Imaginary part of "ccosh_downward":
double: 3
idouble: 3
Function: Real part of "ccosh_towardzero":
double: 2
idouble: 2
Function: Imaginary part of "ccosh_towardzero":
double: 3
idouble: 3
Function: Real part of "cexp_downward":
double: 2
idouble: 2
Function: Imaginary part of "cexp_downward":
double: 3
idouble: 3
Function: Real part of "cexp_towardzero":
double: 2
idouble: 2
Function: Imaginary part of "cexp_towardzero":
double: 3
idouble: 3
Function: Imaginary part of "cexp_upward":
double: 3
idouble: 3
Function: "cosh_downward":
double: 2
idouble: 2
Function: "cosh_towardzero":
double: 2
idouble: 2
Function: "cosh_upward":
double: 2
idouble: 2
Function: Real part of "cpow_downward":
double: 5
idouble: 5
Function: Real part of "cpow_towardzero":
double: 5
idouble: 5
Function: Real part of "csin_downward":
double: 3
idouble: 3
Function: Real part of "csin_towardzero":
double: 3
idouble: 3
Function: Imaginary part of "csinh_downward":
double: 3
idouble: 3
Function: Imaginary part of "csinh_towardzero":
double: 3
idouble: 3
Function: "erfc_downward":
double: 4
idouble: 4
Function: "erfc_upward":
double: 4
idouble: 4
Function: "exp10_downward":
double: 3
idouble: 3
Function: "exp10_towardzero":
double: 3
idouble: 3

2018-07-12  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* sysdeps/alpha/fpu/libm-test-ulps: Update.
	* sysdeps/hppa/fpu/libm-test-ulps: Update.
	* sysdeps/m68k/coldfire/fpu/libm-test-ulps: Update.
	* sysdeps/microblaze/libm-test-ulps: Update.
	* sysdeps/mips/mips32/libm-test-ulps: Update.
	* sysdeps/mips/mips64/libm-test-ulps: Update.
	* sysdeps/nios2/libm-test-ulps: Update.
	* sysdeps/powerpc/nofpu/libm-test-ulps: Update.
	* sysdeps/riscv/nofpu/libm-test-ulps: Update.
	* sysdeps/riscv/rv64/rvd/libm-test-ulps: Update.
	* sysdeps/s390/fpu/libm-test-ulps: Update.
	* sysdeps/sh/libm-test-ulps: Update.
	* sysdeps/sparc/fpu/libm-test-ulps: Update.

Patch

diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps
index 12a6127ddf..27e81b53d1 100644
--- a/sysdeps/alpha/fpu/libm-test-ulps
+++ b/sysdeps/alpha/fpu/libm-test-ulps
@@ -712,9 +712,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -728,9 +728,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -768,33 +768,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "ccosh_downward":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "ccosh_towardzero":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -832,33 +832,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cexp_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_downward":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "cexp_towardzero":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_towardzero":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -872,9 +872,9 @@  ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "cexp_upward":
-double: 1
+double: 3
 float: 2
-idouble: 1
+idouble: 3
 ifloat: 2
 ildouble: 3
 ldouble: 3
@@ -1044,25 +1044,25 @@  ildouble: 1
 ldouble: 1
 
 Function: "cosh_downward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_towardzero":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_upward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 1
 ldouble: 3
@@ -1082,9 +1082,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cpow_downward":
-double: 2
+double: 5
 float: 4
-idouble: 2
+idouble: 5
 ifloat: 4
 ildouble: 6
 ldouble: 6
@@ -1098,9 +1098,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "cpow_towardzero":
-double: 2
+double: 5
 float: 4
-idouble: 2
+idouble: 5
 ifloat: 4
 ildouble: 6
 ldouble: 6
@@ -1142,9 +1142,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "csin_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1158,9 +1158,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "csin_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1212,9 +1212,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "csinh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1228,9 +1228,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "csinh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1520,17 +1520,17 @@  ildouble: 2
 ldouble: 2
 
 Function: "exp10_downward":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
 
 Function: "exp10_towardzero":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps
index d0c4dea001..2c61a7ae91 100644
--- a/sysdeps/hppa/fpu/libm-test-ulps
+++ b/sysdeps/hppa/fpu/libm-test-ulps
@@ -544,9 +544,9 @@  idouble: 1
 ifloat: 1
 
 Function: Imaginary part of "ccos_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "ccos_towardzero":
@@ -556,9 +556,9 @@  idouble: 1
 ifloat: 2
 
 Function: Imaginary part of "ccos_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "ccos_upward":
@@ -588,27 +588,27 @@  idouble: 1
 ifloat: 1
 
 Function: Real part of "ccosh_downward":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 
 Function: Imaginary part of "ccosh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "ccosh_towardzero":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 
 Function: Imaginary part of "ccosh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "ccosh_upward":
@@ -636,27 +636,27 @@  idouble: 1
 ifloat: 2
 
 Function: Real part of "cexp_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 
 Function: Imaginary part of "cexp_downward":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 
 Function: Real part of "cexp_towardzero":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 
 Function: Imaginary part of "cexp_towardzero":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 
 Function: Real part of "cexp_upward":
@@ -666,9 +666,9 @@  idouble: 1
 ifloat: 2
 
 Function: Imaginary part of "cexp_upward":
-double: 1
+double: 3
 float: 2
-idouble: 1
+idouble: 3
 ifloat: 2
 
 Function: Real part of "clog":
@@ -800,21 +800,21 @@  idouble: 1
 ifloat: 1
 
 Function: "cosh_downward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 
 Function: "cosh_towardzero":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 
 Function: "cosh_upward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 
 Function: Real part of "cpow":
@@ -834,9 +834,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "cpow_downward":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 
 Function: Imaginary part of "cpow_downward":
@@ -846,9 +846,9 @@  idouble: 2
 ifloat: 2
 
 Function: Real part of "cpow_towardzero":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 
 Function: Imaginary part of "cpow_towardzero":
@@ -876,9 +876,9 @@  idouble: 1
 ifloat: 1
 
 Function: Real part of "csin_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Imaginary part of "csin_downward":
@@ -888,9 +888,9 @@  idouble: 1
 ifloat: 2
 
 Function: Real part of "csin_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Imaginary part of "csin_towardzero":
@@ -930,9 +930,9 @@  idouble: 2
 ifloat: 2
 
 Function: Imaginary part of "csinh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "csinh_towardzero":
@@ -942,9 +942,9 @@  idouble: 2
 ifloat: 2
 
 Function: Imaginary part of "csinh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "csinh_upward":
@@ -1172,15 +1172,15 @@  ildouble: 6
 ldouble: 6
 
 Function: "exp10_downward":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 
 Function: "exp10_towardzero":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 
 Function: "exp10_upward":
diff --git a/sysdeps/m68k/coldfire/fpu/libm-test-ulps b/sysdeps/m68k/coldfire/fpu/libm-test-ulps
index fad7f8f068..6b93655392 100644
--- a/sysdeps/m68k/coldfire/fpu/libm-test-ulps
+++ b/sysdeps/m68k/coldfire/fpu/libm-test-ulps
@@ -55,6 +55,14 @@  Function: Imaginary part of "ccos":
 float: 1
 ifloat: 1
 
+Function: Imaginary part of "ccos_downward":
+double: 3
+idouble: 3
+
+Function: Imaginary part of "ccos_towardzero":
+double: 3
+idouble: 3
+
 Function: Real part of "ccosh":
 double: 1
 float: 1
@@ -65,6 +73,22 @@  Function: Imaginary part of "ccosh":
 float: 1
 ifloat: 1
 
+Function: Real part of "ccosh_downward":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "ccosh_downward":
+double: 3
+idouble: 3
+
+Function: Real part of "ccosh_towardzero":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "ccosh_towardzero":
+double: 3
+idouble: 3
+
 Function: Real part of "cexp":
 float: 1
 ifloat: 1
@@ -73,6 +97,26 @@  Function: Imaginary part of "cexp":
 float: 1
 ifloat: 1
 
+Function: Real part of "cexp_downward":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "cexp_downward":
+double: 3
+idouble: 3
+
+Function: Real part of "cexp_towardzero":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "cexp_towardzero":
+double: 3
+idouble: 3
+
+Function: Imaginary part of "cexp_upward":
+double: 3
+idouble: 3
+
 Function: Real part of "clog":
 float: 1
 ifloat: 1
@@ -93,6 +137,18 @@  float: 1
 idouble: 2
 ifloat: 1
 
+Function: "cosh_downward":
+double: 2
+idouble: 2
+
+Function: "cosh_towardzero":
+double: 2
+idouble: 2
+
+Function: "cosh_upward":
+double: 2
+idouble: 2
+
 Function: Real part of "cpow":
 double: 2
 float: 4
@@ -105,6 +161,22 @@  float: 2
 idouble: 2
 ifloat: 2
 
+Function: Real part of "cpow_downward":
+double: 5
+idouble: 5
+
+Function: Real part of "cpow_towardzero":
+double: 5
+idouble: 5
+
+Function: Real part of "csin_downward":
+double: 3
+idouble: 3
+
+Function: Real part of "csin_towardzero":
+double: 3
+idouble: 3
+
 Function: Real part of "csinh":
 float: 1
 ifloat: 1
@@ -115,6 +187,14 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: Imaginary part of "csinh_downward":
+double: 3
+idouble: 3
+
+Function: Imaginary part of "csinh_towardzero":
+double: 3
+idouble: 3
+
 Function: Real part of "csqrt":
 float: 1
 ifloat: 1
@@ -141,12 +221,28 @@  Function: "erfc":
 double: 1
 idouble: 1
 
+Function: "erfc_downward":
+double: 4
+idouble: 4
+
+Function: "erfc_upward":
+double: 4
+idouble: 4
+
 Function: "exp10":
 double: 6
 float: 2
 idouble: 6
 ifloat: 2
 
+Function: "exp10_downward":
+double: 3
+idouble: 3
+
+Function: "exp10_towardzero":
+double: 3
+idouble: 3
+
 Function: "expm1":
 double: 1
 float: 1
diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps
index e4b4d4e490..f3fc2325ad 100644
--- a/sysdeps/microblaze/libm-test-ulps
+++ b/sysdeps/microblaze/libm-test-ulps
@@ -133,6 +133,14 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: Imaginary part of "ccos_downward":
+double: 3
+idouble: 3
+
+Function: Imaginary part of "ccos_towardzero":
+double: 3
+idouble: 3
+
 Function: Real part of "ccosh":
 double: 1
 float: 1
@@ -145,6 +153,22 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "ccosh_downward":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "ccosh_downward":
+double: 3
+idouble: 3
+
+Function: Real part of "ccosh_towardzero":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "ccosh_towardzero":
+double: 3
+idouble: 3
+
 Function: Real part of "cexp":
 double: 2
 float: 1
@@ -157,6 +181,26 @@  float: 2
 idouble: 1
 ifloat: 2
 
+Function: Real part of "cexp_downward":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "cexp_downward":
+double: 3
+idouble: 3
+
+Function: Real part of "cexp_towardzero":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "cexp_towardzero":
+double: 3
+idouble: 3
+
+Function: Imaginary part of "cexp_upward":
+double: 3
+idouble: 3
+
 Function: Real part of "clog":
 double: 3
 float: 3
@@ -189,6 +233,18 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: "cosh_downward":
+double: 2
+idouble: 2
+
+Function: "cosh_towardzero":
+double: 2
+idouble: 2
+
+Function: "cosh_upward":
+double: 2
+idouble: 2
+
 Function: Real part of "cpow":
 double: 2
 float: 4
@@ -199,12 +255,28 @@  Function: Imaginary part of "cpow":
 float: 2
 ifloat: 2
 
+Function: Real part of "cpow_downward":
+double: 5
+idouble: 5
+
+Function: Real part of "cpow_towardzero":
+double: 5
+idouble: 5
+
 Function: Real part of "csin":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "csin_downward":
+double: 3
+idouble: 3
+
+Function: Real part of "csin_towardzero":
+double: 3
+idouble: 3
+
 Function: Real part of "csinh":
 float: 1
 ifloat: 1
@@ -215,6 +287,14 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: Imaginary part of "csinh_downward":
+double: 3
+idouble: 3
+
+Function: Imaginary part of "csinh_towardzero":
+double: 3
+idouble: 3
+
 Function: Real part of "csqrt":
 double: 2
 float: 2
@@ -263,6 +343,14 @@  float: 2
 idouble: 3
 ifloat: 2
 
+Function: "erfc_downward":
+double: 4
+idouble: 4
+
+Function: "erfc_upward":
+double: 4
+idouble: 4
+
 Function: "exp":
 float: 1
 ifloat: 1
@@ -271,6 +359,14 @@  Function: "exp10":
 double: 2
 idouble: 2
 
+Function: "exp10_downward":
+double: 3
+idouble: 3
+
+Function: "exp10_towardzero":
+double: 3
+idouble: 3
+
 Function: "exp2":
 double: 1
 float: 1
diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps
index e62cca3e03..798e3c465c 100644
--- a/sysdeps/mips/mips32/libm-test-ulps
+++ b/sysdeps/mips/mips32/libm-test-ulps
@@ -530,9 +530,9 @@  idouble: 1
 ifloat: 1
 
 Function: Imaginary part of "ccos_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "ccos_towardzero":
@@ -542,9 +542,9 @@  idouble: 1
 ifloat: 2
 
 Function: Imaginary part of "ccos_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "ccos_upward":
@@ -572,27 +572,27 @@  idouble: 1
 ifloat: 1
 
 Function: Real part of "ccosh_downward":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 
 Function: Imaginary part of "ccosh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "ccosh_towardzero":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 
 Function: Imaginary part of "ccosh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "ccosh_upward":
@@ -620,27 +620,27 @@  idouble: 1
 ifloat: 2
 
 Function: Real part of "cexp_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 
 Function: Imaginary part of "cexp_downward":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 
 Function: Real part of "cexp_towardzero":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 
 Function: Imaginary part of "cexp_towardzero":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 
 Function: Real part of "cexp_upward":
@@ -650,9 +650,9 @@  idouble: 1
 ifloat: 2
 
 Function: Imaginary part of "cexp_upward":
-double: 1
+double: 3
 float: 2
-idouble: 1
+idouble: 3
 ifloat: 2
 
 Function: Real part of "clog":
@@ -780,21 +780,21 @@  idouble: 1
 ifloat: 1
 
 Function: "cosh_downward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 
 Function: "cosh_towardzero":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 
 Function: "cosh_upward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 
 Function: Real part of "cpow":
@@ -808,9 +808,9 @@  float: 2
 ifloat: 2
 
 Function: Real part of "cpow_downward":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 
 Function: Imaginary part of "cpow_downward":
@@ -820,9 +820,9 @@  idouble: 1
 ifloat: 2
 
 Function: Real part of "cpow_towardzero":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 
 Function: Imaginary part of "cpow_towardzero":
@@ -850,9 +850,9 @@  idouble: 1
 ifloat: 1
 
 Function: Real part of "csin_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Imaginary part of "csin_downward":
@@ -862,9 +862,9 @@  idouble: 1
 ifloat: 1
 
 Function: Real part of "csin_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Imaginary part of "csin_towardzero":
@@ -902,9 +902,9 @@  idouble: 2
 ifloat: 2
 
 Function: Imaginary part of "csinh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "csinh_towardzero":
@@ -914,9 +914,9 @@  idouble: 2
 ifloat: 2
 
 Function: Imaginary part of "csinh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "csinh_upward":
@@ -1132,15 +1132,15 @@  double: 2
 idouble: 2
 
 Function: "exp10_downward":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 
 Function: "exp10_towardzero":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 
 Function: "exp10_upward":
diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps
index 82b15be5af..fec97bdc10 100644
--- a/sysdeps/mips/mips64/libm-test-ulps
+++ b/sysdeps/mips/mips64/libm-test-ulps
@@ -712,9 +712,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -728,9 +728,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -768,33 +768,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "ccosh_downward":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "ccosh_towardzero":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -832,33 +832,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cexp_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_downward":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "cexp_towardzero":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_towardzero":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -872,9 +872,9 @@  ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "cexp_upward":
-double: 1
+double: 3
 float: 2
-idouble: 1
+idouble: 3
 ifloat: 2
 ildouble: 3
 ldouble: 3
@@ -1046,25 +1046,25 @@  ildouble: 1
 ldouble: 1
 
 Function: "cosh_downward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_towardzero":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_upward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 1
 ldouble: 3
@@ -1084,9 +1084,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cpow_downward":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 6
 ldouble: 6
@@ -1100,9 +1100,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "cpow_towardzero":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 6
 ldouble: 6
@@ -1144,9 +1144,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "csin_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1160,9 +1160,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "csin_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1214,9 +1214,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "csinh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1230,9 +1230,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "csinh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1522,17 +1522,17 @@  ildouble: 2
 ldouble: 2
 
 Function: "exp10_downward":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
 
 Function: "exp10_towardzero":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
diff --git a/sysdeps/nios2/libm-test-ulps b/sysdeps/nios2/libm-test-ulps
index 0b9ef2afec..fc42f63fd7 100644
--- a/sysdeps/nios2/libm-test-ulps
+++ b/sysdeps/nios2/libm-test-ulps
@@ -133,6 +133,14 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: Imaginary part of "ccos_downward":
+double: 3
+idouble: 3
+
+Function: Imaginary part of "ccos_towardzero":
+double: 3
+idouble: 3
+
 Function: Real part of "ccosh":
 double: 1
 float: 1
@@ -145,6 +153,22 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "ccosh_downward":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "ccosh_downward":
+double: 3
+idouble: 3
+
+Function: Real part of "ccosh_towardzero":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "ccosh_towardzero":
+double: 3
+idouble: 3
+
 Function: Real part of "cexp":
 double: 2
 float: 1
@@ -157,6 +181,26 @@  float: 2
 idouble: 1
 ifloat: 2
 
+Function: Real part of "cexp_downward":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "cexp_downward":
+double: 3
+idouble: 3
+
+Function: Real part of "cexp_towardzero":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "cexp_towardzero":
+double: 3
+idouble: 3
+
+Function: Imaginary part of "cexp_upward":
+double: 3
+idouble: 3
+
 Function: Real part of "clog":
 double: 3
 float: 3
@@ -191,6 +235,18 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: "cosh_downward":
+double: 2
+idouble: 2
+
+Function: "cosh_towardzero":
+double: 2
+idouble: 2
+
+Function: "cosh_upward":
+double: 2
+idouble: 2
+
 Function: Real part of "cpow":
 double: 2
 float: 5
@@ -201,12 +257,28 @@  Function: Imaginary part of "cpow":
 float: 2
 ifloat: 2
 
+Function: Real part of "cpow_downward":
+double: 5
+idouble: 5
+
+Function: Real part of "cpow_towardzero":
+double: 5
+idouble: 5
+
 Function: Real part of "csin":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "csin_downward":
+double: 3
+idouble: 3
+
+Function: Real part of "csin_towardzero":
+double: 3
+idouble: 3
+
 Function: Real part of "csinh":
 float: 1
 ifloat: 1
@@ -217,6 +289,14 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: Imaginary part of "csinh_downward":
+double: 3
+idouble: 3
+
+Function: Imaginary part of "csinh_towardzero":
+double: 3
+idouble: 3
+
 Function: Real part of "csqrt":
 double: 2
 float: 2
@@ -265,6 +345,14 @@  float: 2
 idouble: 3
 ifloat: 2
 
+Function: "erfc_downward":
+double: 4
+idouble: 4
+
+Function: "erfc_upward":
+double: 4
+idouble: 4
+
 Function: "exp":
 float: 1
 ifloat: 1
@@ -273,6 +361,14 @@  Function: "exp10":
 double: 2
 idouble: 2
 
+Function: "exp10_downward":
+double: 3
+idouble: 3
+
+Function: "exp10_towardzero":
+double: 3
+idouble: 3
+
 Function: "exp2":
 double: 1
 float: 1
diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps
index aee738dafb..21c0c78f7f 100644
--- a/sysdeps/powerpc/nofpu/libm-test-ulps
+++ b/sysdeps/powerpc/nofpu/libm-test-ulps
@@ -712,9 +712,9 @@  ildouble: 6
 ldouble: 6
 
 Function: Imaginary part of "ccos_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 6
 ldouble: 6
@@ -728,9 +728,9 @@  ildouble: 6
 ldouble: 6
 
 Function: Imaginary part of "ccos_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 6
 ldouble: 6
@@ -768,33 +768,33 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "ccosh_downward":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 6
 ldouble: 6
 
 Function: Imaginary part of "ccosh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 6
 ldouble: 6
 
 Function: Real part of "ccosh_towardzero":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 10
 ldouble: 10
 
 Function: Imaginary part of "ccosh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 6
 ldouble: 6
@@ -832,33 +832,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cexp_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 11
 ldouble: 11
 
 Function: Imaginary part of "cexp_downward":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 11
 ldouble: 11
 
 Function: Real part of "cexp_towardzero":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 11
 ldouble: 11
 
 Function: Imaginary part of "cexp_towardzero":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 11
 ldouble: 11
@@ -872,9 +872,9 @@  ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "cexp_upward":
-double: 1
+double: 3
 float: 2
-idouble: 1
+idouble: 3
 ifloat: 2
 ildouble: 3
 ldouble: 3
@@ -1044,25 +1044,25 @@  ildouble: 3
 ldouble: 3
 
 Function: "cosh_downward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 2
 ldouble: 2
 
 Function: "cosh_towardzero":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 2
 ldouble: 2
 
 Function: "cosh_upward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
@@ -1082,9 +1082,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cpow_downward":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 7
 ldouble: 7
@@ -1098,9 +1098,9 @@  ildouble: 4
 ldouble: 4
 
 Function: Real part of "cpow_towardzero":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 8
 ldouble: 8
@@ -1142,9 +1142,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "csin_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 6
 ldouble: 6
@@ -1158,9 +1158,9 @@  ildouble: 6
 ldouble: 6
 
 Function: Real part of "csin_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 6
 ldouble: 6
@@ -1212,9 +1212,9 @@  ildouble: 6
 ldouble: 6
 
 Function: Imaginary part of "csinh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 6
 ldouble: 6
@@ -1228,9 +1228,9 @@  ildouble: 6
 ldouble: 6
 
 Function: Imaginary part of "csinh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 6
 ldouble: 6
@@ -1520,17 +1520,17 @@  ildouble: 1
 ldouble: 1
 
 Function: "exp10_downward":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 9
 ldouble: 9
 
 Function: "exp10_towardzero":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 9
 ldouble: 9
diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps
index 365f950074..10fb787d8b 100644
--- a/sysdeps/riscv/nofpu/libm-test-ulps
+++ b/sysdeps/riscv/nofpu/libm-test-ulps
@@ -712,9 +712,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -728,9 +728,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -768,33 +768,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "ccosh_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "ccosh_towardzero":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -832,33 +832,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cexp_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_downward":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "cexp_towardzero":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_towardzero":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -872,9 +872,9 @@  ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "cexp_upward":
-double: 1
+double: 3
 float: 2
-idouble: 1
+idouble: 3
 ifloat: 2
 ildouble: 3
 ldouble: 3
@@ -1036,25 +1036,25 @@  ildouble: 1
 ldouble: 1
 
 Function: "cosh_downward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_towardzero":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_upward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 1
 ldouble: 3
@@ -1074,9 +1074,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cpow_downward":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 6
 ldouble: 6
@@ -1090,9 +1090,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "cpow_towardzero":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 6
 ldouble: 6
@@ -1134,9 +1134,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "csin_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1150,9 +1150,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "csin_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1204,9 +1204,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "csinh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1220,9 +1220,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "csinh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1476,9 +1476,9 @@  ildouble: 2
 ldouble: 2
 
 Function: "erfc_downward":
-double: 3
+double: 4
 float: 4
-idouble: 3
+idouble: 4
 ifloat: 4
 ildouble: 5
 ldouble: 5
@@ -1492,9 +1492,9 @@  ildouble: 4
 ldouble: 4
 
 Function: "erfc_upward":
-double: 3
+double: 4
 float: 4
-idouble: 3
+idouble: 4
 ifloat: 4
 ildouble: 5
 ldouble: 5
@@ -1510,17 +1510,17 @@  ildouble: 2
 ldouble: 2
 
 Function: "exp10_downward":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
 
 Function: "exp10_towardzero":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
diff --git a/sysdeps/riscv/rv64/rvd/libm-test-ulps b/sysdeps/riscv/rv64/rvd/libm-test-ulps
index f8feadcd0d..e2939fe104 100644
--- a/sysdeps/riscv/rv64/rvd/libm-test-ulps
+++ b/sysdeps/riscv/rv64/rvd/libm-test-ulps
@@ -712,9 +712,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -728,9 +728,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -768,33 +768,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "ccosh_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "ccosh_towardzero":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -832,33 +832,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cexp_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_downward":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "cexp_towardzero":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_towardzero":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -872,9 +872,9 @@  ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "cexp_upward":
-double: 1
+double: 3
 float: 2
-idouble: 1
+idouble: 3
 ifloat: 2
 ildouble: 3
 ldouble: 3
@@ -1036,25 +1036,25 @@  ildouble: 1
 ldouble: 1
 
 Function: "cosh_downward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_towardzero":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_upward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 1
 ldouble: 3
@@ -1074,9 +1074,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cpow_downward":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 6
 ldouble: 6
@@ -1090,9 +1090,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "cpow_towardzero":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 6
 ldouble: 6
@@ -1134,9 +1134,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "csin_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1150,9 +1150,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "csin_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1204,9 +1204,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "csinh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1220,9 +1220,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "csinh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1476,9 +1476,9 @@  ildouble: 2
 ldouble: 2
 
 Function: "erfc_downward":
-double: 3
+double: 4
 float: 4
-idouble: 3
+idouble: 4
 ifloat: 4
 ildouble: 5
 ldouble: 5
@@ -1492,9 +1492,9 @@  ildouble: 4
 ldouble: 4
 
 Function: "erfc_upward":
-double: 3
+double: 4
 float: 4
-idouble: 3
+idouble: 4
 ifloat: 4
 ildouble: 5
 ldouble: 5
@@ -1510,17 +1510,17 @@  ildouble: 2
 ldouble: 2
 
 Function: "exp10_downward":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
 
 Function: "exp10_towardzero":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps
index fec59c7d60..d26cac546c 100644
--- a/sysdeps/s390/fpu/libm-test-ulps
+++ b/sysdeps/s390/fpu/libm-test-ulps
@@ -712,9 +712,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -728,9 +728,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -768,33 +768,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "ccosh_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "ccosh_towardzero":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -832,33 +832,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cexp_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_downward":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "cexp_towardzero":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_towardzero":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -872,9 +872,9 @@  ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "cexp_upward":
-double: 1
+double: 3
 float: 2
-idouble: 1
+idouble: 3
 ifloat: 2
 ildouble: 3
 ldouble: 3
@@ -1038,25 +1038,25 @@  ildouble: 1
 ldouble: 1
 
 Function: "cosh_downward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_towardzero":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_upward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 1
 ldouble: 3
@@ -1076,9 +1076,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cpow_downward":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 6
 ldouble: 6
@@ -1092,9 +1092,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "cpow_towardzero":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 6
 ldouble: 6
@@ -1136,9 +1136,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "csin_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1152,9 +1152,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "csin_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1206,9 +1206,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "csinh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1222,9 +1222,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "csinh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1478,9 +1478,9 @@  ildouble: 2
 ldouble: 2
 
 Function: "erfc_downward":
-double: 3
+double: 4
 float: 4
-idouble: 3
+idouble: 4
 ifloat: 4
 ildouble: 5
 ldouble: 5
@@ -1494,9 +1494,9 @@  ildouble: 4
 ldouble: 4
 
 Function: "erfc_upward":
-double: 3
+double: 4
 float: 4
-idouble: 3
+idouble: 4
 ifloat: 4
 ildouble: 5
 ldouble: 5
@@ -1512,17 +1512,17 @@  ildouble: 2
 ldouble: 2
 
 Function: "exp10_downward":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
 
 Function: "exp10_towardzero":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps
index 11c5f3216d..fa0a368e73 100644
--- a/sysdeps/sh/libm-test-ulps
+++ b/sysdeps/sh/libm-test-ulps
@@ -263,6 +263,10 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: Imaginary part of "ccos_downward":
+double: 3
+idouble: 3
+
 Function: Real part of "ccos_towardzero":
 double: 1
 float: 2
@@ -270,9 +274,9 @@  idouble: 1
 ifloat: 2
 
 Function: Imaginary part of "ccos_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "ccosh":
@@ -287,16 +291,24 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "ccosh_downward":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "ccosh_downward":
+double: 3
+idouble: 3
+
 Function: Real part of "ccosh_towardzero":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 
 Function: Imaginary part of "ccosh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "cexp":
@@ -311,18 +323,30 @@  float: 2
 idouble: 1
 ifloat: 2
 
+Function: Real part of "cexp_downward":
+double: 2
+idouble: 2
+
+Function: Imaginary part of "cexp_downward":
+double: 3
+idouble: 3
+
 Function: Real part of "cexp_towardzero":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 
 Function: Imaginary part of "cexp_towardzero":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 
+Function: Imaginary part of "cexp_upward":
+double: 3
+idouble: 3
+
 Function: Real part of "clog":
 double: 3
 float: 3
@@ -385,12 +409,20 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: "cosh_downward":
+double: 2
+idouble: 2
+
 Function: "cosh_towardzero":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 
+Function: "cosh_upward":
+double: 2
+idouble: 2
+
 Function: Real part of "cpow":
 double: 2
 float: 5
@@ -401,10 +433,14 @@  Function: Imaginary part of "cpow":
 float: 2
 ifloat: 2
 
+Function: Real part of "cpow_downward":
+double: 5
+idouble: 5
+
 Function: Real part of "cpow_towardzero":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 
 Function: Imaginary part of "cpow_towardzero":
@@ -419,10 +455,14 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "csin_downward":
+double: 3
+idouble: 3
+
 Function: Real part of "csin_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Imaginary part of "csin_towardzero":
@@ -441,6 +481,10 @@  float: 1
 idouble: 1
 ifloat: 1
 
+Function: Imaginary part of "csinh_downward":
+double: 3
+idouble: 3
+
 Function: Real part of "csinh_towardzero":
 double: 2
 float: 2
@@ -448,9 +492,9 @@  idouble: 2
 ifloat: 2
 
 Function: Imaginary part of "csinh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 
 Function: Real part of "csqrt":
@@ -543,20 +587,32 @@  float: 2
 idouble: 3
 ifloat: 2
 
+Function: "erfc_downward":
+double: 4
+idouble: 4
+
 Function: "erfc_towardzero":
 double: 3
 float: 3
 idouble: 3
 ifloat: 3
 
+Function: "erfc_upward":
+double: 4
+idouble: 4
+
 Function: "exp10":
 double: 2
 idouble: 2
 
+Function: "exp10_downward":
+double: 3
+idouble: 3
+
 Function: "exp10_towardzero":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 
 Function: "exp2":
diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps
index 84aed3a4e2..7fc00f2ceb 100644
--- a/sysdeps/sparc/fpu/libm-test-ulps
+++ b/sysdeps/sparc/fpu/libm-test-ulps
@@ -712,9 +712,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -728,9 +728,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -768,33 +768,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "ccosh_downward":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "ccosh_towardzero":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -832,33 +832,33 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cexp_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_downward":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "cexp_towardzero":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_towardzero":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -872,9 +872,9 @@  ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "cexp_upward":
-double: 1
+double: 3
 float: 2
-idouble: 1
+idouble: 3
 ifloat: 2
 ildouble: 3
 ldouble: 3
@@ -1046,25 +1046,25 @@  ildouble: 1
 ldouble: 1
 
 Function: "cosh_downward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_towardzero":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_upward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 1
 ldouble: 3
@@ -1084,9 +1084,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "cpow_downward":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 6
 ldouble: 6
@@ -1100,9 +1100,9 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "cpow_towardzero":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 6
 ldouble: 6
@@ -1144,9 +1144,9 @@  ildouble: 1
 ldouble: 1
 
 Function: Real part of "csin_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1160,9 +1160,9 @@  ildouble: 3
 ldouble: 3
 
 Function: Real part of "csin_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1214,9 +1214,9 @@  ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "csinh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1230,9 +1230,9 @@  ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "csinh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 3
 ldouble: 3
@@ -1522,17 +1522,17 @@  ildouble: 2
 ldouble: 2
 
 Function: "exp10_downward":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
 
 Function: "exp10_towardzero":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3