diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps
index 162edde..3f1f2fa 100644
--- a/sysdeps/hppa/fpu/libm-test-ulps
+++ b/sysdeps/hppa/fpu/libm-test-ulps
@@ -19,7 +19,27 @@ idouble: 1
 
 Function: "acosh":
 double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "acosh_downward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "acosh_towardzero":
+double: 1
+float: 1
 idouble: 1
+ifloat: 1
+
+Function: "acosh_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 
 Function: "asin_downward":
 double: 1
@@ -42,14 +62,89 @@ ifloat: 1
 Function: "asinh":
 double: 1
 float: 1
+idouble: 1
+ifloat: 1
+
+Function: "asinh_downward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "asinh_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "asinh_upward":
+double: 2
+float: 1
+idouble: 2
 ifloat: 1
 
 Function: "atan2":
 float: 1
 ifloat: 1
 
+Function: "atan2_downward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: "atan2_towardzero":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: "atan2_upward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: "atan_downward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "atan_towardzero":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "atan_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
 Function: "atanh":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "atanh_downward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "atanh_towardzero":
+double: 1
 float: 1
+idouble: 1
+ifloat: 1
+
+Function: "atanh_upward":
+double: 1
+float: 1
+idouble: 1
 ifloat: 1
 
 Function: Real part of "cacos":
@@ -64,6 +159,42 @@ float: 2
 idouble: 1
 ifloat: 2
 
+Function: Real part of "cacos_downward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Imaginary part of "cacos_downward":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+
+Function: Real part of "cacos_towardzero":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Imaginary part of "cacos_towardzero":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+
+Function: Real part of "cacos_upward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Imaginary part of "cacos_upward":
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+
 Function: Real part of "cacosh":
 double: 1
 float: 2
@@ -76,6 +207,58 @@ float: 2
 idouble: 1
 ifloat: 2
 
+Function: Real part of "cacosh_downward":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+
+Function: Imaginary part of "cacosh_downward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Real part of "cacosh_towardzero":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+
+Function: Imaginary part of "cacosh_towardzero":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Real part of "cacosh_upward":
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+
+Function: Imaginary part of "cacosh_upward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "carg_downward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: "carg_towardzero":
+float: 1
+ifloat: 1
+
+Function: "carg_upward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
 Function: Real part of "casin":
 double: 1
 float: 1
@@ -90,6 +273,42 @@ float: 2
 idouble: 1
 ifloat: 2
 
+Function: Real part of "casin_downward":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
+
+Function: Imaginary part of "casin_downward":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+
+Function: Real part of "casin_towardzero":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
+
+Function: Imaginary part of "casin_towardzero":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+
+Function: Real part of "casin_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: Imaginary part of "casin_upward":
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+
 Function: Real part of "casinh":
 double: 5
 float: 2
@@ -106,11 +325,139 @@ ifloat: 1
 ildouble: 3
 ldouble: 3
 
-Function: Real part of "catan":
+Function: Real part of "casinh_downward":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+
+Function: Imaginary part of "casinh_downward":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
+
+Function: Real part of "casinh_towardzero":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+
+Function: Imaginary part of "casinh_towardzero":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
+
+Function: Real part of "casinh_upward":
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+
+Function: Imaginary part of "casinh_upward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Real part of "catan":
+float: 1
+ifloat: 1
+
+Function: Imaginary part of "catan":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+
+Function: Real part of "catan_downward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: Imaginary part of "catan_downward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Real part of "catan_towardzero":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: Imaginary part of "catan_towardzero":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+
+Function: Real part of "catan_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: Imaginary part of "catan_upward":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+
+Function: Real part of "catanh":
+double: 4
+float: 1
+idouble: 4
+ifloat: 1
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "catanh":
+float: 1
+ifloat: 1
+
+Function: Real part of "catanh_downward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Imaginary part of "catanh_downward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Real part of "catanh_towardzero":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+
+Function: Imaginary part of "catanh_towardzero":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Real part of "catanh_upward":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+
+Function: Imaginary part of "catanh_upward":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 
-Function: Imaginary part of "catan":
+Function: "cbrt":
 double: 1
 float: 1
 idouble: 1
@@ -118,19 +465,23 @@ ifloat: 1
 ildouble: 1
 ldouble: 1
 
-Function: Real part of "catanh":
-double: 4
+Function: "cbrt_downward":
+double: 2
 float: 1
-idouble: 4
+idouble: 2
 ifloat: 1
-ildouble: 4
-ldouble: 4
 
-Function: Imaginary part of "catanh":
+Function: "cbrt_towardzero":
+double: 2
+idouble: 2
+
+Function: "cbrt_upward":
+double: 3
 float: 1
+idouble: 3
 ifloat: 1
 
-Function: "cbrt":
+Function: Real part of "ccos":
 double: 1
 float: 1
 idouble: 1
@@ -138,20 +489,48 @@ ifloat: 1
 ildouble: 1
 ldouble: 1
 
-Function: Real part of "ccos":
+Function: Imaginary part of "ccos":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
 
-Function: Imaginary part of "ccos":
+Function: Real part of "ccos_downward":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 
+Function: Imaginary part of "ccos_downward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
+Function: Real part of "ccos_towardzero":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Imaginary part of "ccos_towardzero":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
+Function: Real part of "ccos_upward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Imaginary part of "ccos_upward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
 Function: Real part of "ccosh":
 double: 1
 float: 1
@@ -166,6 +545,42 @@ float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "ccosh_downward":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+
+Function: Imaginary part of "ccosh_downward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
+Function: Real part of "ccosh_towardzero":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+
+Function: Imaginary part of "ccosh_towardzero":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
+Function: Real part of "ccosh_upward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Imaginary part of "ccosh_upward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
 Function: Real part of "cexp":
 double: 2
 float: 1
@@ -202,6 +617,78 @@ ifloat: 1
 ildouble: 1
 ldouble: 1
 
+Function: Real part of "clog10_downward":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+
+Function: Imaginary part of "clog10_downward":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: Real part of "clog10_towardzero":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: Imaginary part of "clog10_towardzero":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: Real part of "clog10_upward":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+
+Function: Imaginary part of "clog10_upward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Real part of "clog_downward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Imaginary part of "clog_downward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Real part of "clog_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Imaginary part of "clog_towardzero":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Real part of "clog_upward":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+
+Function: Imaginary part of "clog_upward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
 Function: "cos":
 double: 2
 float: 1
@@ -278,12 +765,84 @@ ifloat: 2
 ildouble: 2
 ldouble: 2
 
+Function: Real part of "cpow_downward":
+double: 4
+float: 8
+idouble: 4
+ifloat: 8
+
+Function: Imaginary part of "cpow_downward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Real part of "cpow_towardzero":
+double: 4
+float: 8
+idouble: 4
+ifloat: 8
+
+Function: Imaginary part of "cpow_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Real part of "cpow_upward":
+double: 4
+float: 1
+idouble: 4
+ifloat: 1
+
+Function: Imaginary part of "cpow_upward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
 Function: Real part of "csin":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "csin_downward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
+Function: Imaginary part of "csin_downward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Real part of "csin_towardzero":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
+Function: Imaginary part of "csin_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Real part of "csin_upward":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+
+Function: Imaginary part of "csin_upward":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+
 Function: Real part of "csinh":
 float: 1
 ifloat: 1
@@ -296,17 +855,89 @@ ifloat: 1
 ildouble: 1
 ldouble: 1
 
+Function: Real part of "csinh_downward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: Imaginary part of "csinh_downward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
+Function: Real part of "csinh_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Imaginary part of "csinh_towardzero":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
+Function: Real part of "csinh_upward":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+
+Function: Imaginary part of "csinh_upward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
 Function: Real part of "csqrt":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 
-Function: Imaginary part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Function: Imaginary part of "csqrt":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: Real part of "csqrt_downward":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+
+Function: Imaginary part of "csqrt_downward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Real part of "csqrt_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Imaginary part of "csqrt_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Real part of "csqrt_upward":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: Imaginary part of "csqrt_upward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
 
 Function: Real part of "ctan":
 double: 1
@@ -438,6 +1069,18 @@ idouble: 1
 ildouble: 1
 ldouble: 1
 
+Function: "erf_downward":
+float: 1
+ifloat: 1
+
+Function: "erf_towardzero":
+float: 1
+ifloat: 1
+
+Function: "erf_upward":
+float: 1
+ifloat: 1
+
 Function: "erfc":
 double: 1
 float: 1
@@ -446,6 +1089,24 @@ ifloat: 1
 ildouble: 1
 ldouble: 1
 
+Function: "erfc_downward":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+
+Function: "erfc_towardzero":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+
+Function: "erfc_upward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
 Function: "exp10":
 double: 6
 float: 2
@@ -456,7 +1117,9 @@ ldouble: 6
 
 Function: "exp10_downward":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 
 Function: "exp10_tonearest":
 double: 1
@@ -464,7 +1127,9 @@ idouble: 1
 
 Function: "exp10_towardzero":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 
 Function: "exp10_upward":
 double: 1
@@ -528,12 +1193,42 @@ float: 2
 idouble: 1
 ifloat: 2
 
+Function: "gamma_downward":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+
+Function: "gamma_towardzero":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "gamma_upward":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+
 Function: "hypot":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 
+Function: "hypot_downward":
+double: 1
+idouble: 1
+
+Function: "hypot_towardzero":
+double: 1
+idouble: 1
+
+Function: "hypot_upward":
+double: 1
+idouble: 1
+
 Function: "j0":
 double: 2
 float: 2
@@ -542,6 +1237,24 @@ ifloat: 2
 ildouble: 2
 ldouble: 2
 
+Function: "j0_downward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
+Function: "j0_towardzero":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: "j0_upward":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
 Function: "j1":
 double: 1
 float: 2
@@ -550,6 +1263,24 @@ ifloat: 2
 ildouble: 1
 ldouble: 1
 
+Function: "j1_downward":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: "j1_towardzero":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: "j1_upward":
+double: 3
+float: 5
+idouble: 3
+ifloat: 5
+
 Function: "jn":
 double: 4
 float: 5
@@ -566,6 +1297,24 @@ ifloat: 2
 ildouble: 1
 ldouble: 1
 
+Function: "lgamma_downward":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+
+Function: "lgamma_towardzero":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "lgamma_upward":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+
 Function: "log":
 float: 1
 ifloat: 1
@@ -578,10 +1327,72 @@ ifloat: 2
 ildouble: 1
 ldouble: 1
 
+Function: "log10_downward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "log10_towardzero":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "log10_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
 Function: "log1p":
 float: 1
 ifloat: 1
 
+Function: "log1p_downward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "log1p_towardzero":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "log1p_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "log2_downward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "log2_towardzero":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "log2_upward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "log_downward":
+float: 1
+ifloat: 1
+
+Function: "log_upward":
+float: 1
+ifloat: 1
+
 Function: "pow":
 float: 1
 ifloat: 1
@@ -590,8 +1401,28 @@ Function: "pow10":
 double: 1
 idouble: 1
 
+Function: "pow10_downward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "pow10_towardzero":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "pow10_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
 Function: "pow_downward":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 
 Function: "pow_tonearest":
@@ -599,11 +1430,15 @@ float: 1
 ifloat: 1
 
 Function: "pow_towardzero":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 
 Function: "pow_upward":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 
 Function: "sin":
@@ -640,6 +1475,24 @@ ifloat: 1
 ildouble: 1
 ldouble: 1
 
+Function: "sincos_downward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: "sincos_towardzero":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "sincos_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
 Function: "sinh_downward":
 double: 1
 float: 1
@@ -682,6 +1535,24 @@ float: 1
 idouble: 1
 ifloat: 1
 
+Function: "tanh_downward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "tanh_towardzero":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "tanh_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
 Function: "tgamma":
 double: 4
 float: 3
@@ -698,6 +1569,24 @@ ifloat: 1
 ildouble: 2
 ldouble: 2
 
+Function: "y0_downward":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: "y0_towardzero":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+
+Function: "y0_upward":
+double: 3
+float: 4
+idouble: 3
+ifloat: 4
+
 Function: "y1":
 double: 3
 float: 2
@@ -706,6 +1595,24 @@ ifloat: 2
 ildouble: 3
 ldouble: 3
 
+Function: "y1_downward":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: "y1_towardzero":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: "y1_upward":
+double: 7
+float: 2
+idouble: 7
+ifloat: 2
+
 Function: "yn":
 double: 3
 float: 2
@@ -714,4 +1621,22 @@ ifloat: 2
 ildouble: 3
 ldouble: 3
 
+Function: "yn_downward":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: "yn_towardzero":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+
+Function: "yn_upward":
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+
 # end of automatic generation
