about summary refs log tree commit diff
path: root/sysdeps/ieee754/flt-32/e_powf.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/flt-32/e_powf.c')
-rw-r--r--sysdeps/ieee754/flt-32/e_powf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/ieee754/flt-32/e_powf.c b/sysdeps/ieee754/flt-32/e_powf.c
index 4798340c84..9f520804a4 100644
--- a/sysdeps/ieee754/flt-32/e_powf.c
+++ b/sysdeps/ieee754/flt-32/e_powf.c
@@ -76,6 +76,10 @@ ivln2_l  =  7.0526075433e-06; /* 0x36eca570 =1/ln2 tail*/
     /* y==zero: x**0 = 1 */
 	if(iy==0) return one;
 
+    /* x==+-1 */
+	if(x == 1.0) return one;
+	if(x == -1.0 && isinf(y)) return one;
+
     /* +-NaN return x+y */
 	if(ix > 0x7f800000 ||
 	   iy > 0x7f800000)