summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/math/nextafter.c2
-rw-r--r--src/math/nextafterf.c2
-rw-r--r--src/math/nexttoward.c2
-rw-r--r--src/math/nexttowardf.c2
4 files changed, 4 insertions, 4 deletions
diff --git a/src/math/nextafter.c b/src/math/nextafter.c
index a3b42c99..9ee82518 100644
--- a/src/math/nextafter.c
+++ b/src/math/nextafter.c
@@ -27,7 +27,7 @@ double nextafter(double x, double y)
e = ux.bits >> 52 & 0x7ff;
/* raise overflow if ux.value is infinite and x is finite */
if (e == 0x7ff)
- return x + x;
+ FORCE_EVAL(x+x);
/* raise underflow if ux.value is subnormal or zero */
if (e == 0)
FORCE_EVAL(x*x + ux.value*ux.value);
diff --git a/src/math/nextafterf.c b/src/math/nextafterf.c
index b703487b..22b61dce 100644
--- a/src/math/nextafterf.c
+++ b/src/math/nextafterf.c
@@ -26,7 +26,7 @@ float nextafterf(float x, float y)
e = ux.bits & 0x7f800000;
/* raise overflow if ux.value is infinite and x is finite */
if (e == 0x7f800000)
- return x + x;
+ FORCE_EVAL(x+x);
/* raise underflow if ux.value is subnormal or zero */
if (e == 0)
FORCE_EVAL(x*x + ux.value*ux.value);
diff --git a/src/math/nexttoward.c b/src/math/nexttoward.c
index 7355f2f1..6f32eca4 100644
--- a/src/math/nexttoward.c
+++ b/src/math/nexttoward.c
@@ -36,7 +36,7 @@ double nexttoward(double x, long double y)
e = ux.bits>>52 & 0x7ff;
/* raise overflow if ux.value is infinite and x is finite */
if (e == 0x7ff)
- return x + x;
+ FORCE_EVAL(x+x);
/* raise underflow if ux.value is subnormal or zero */
if (e == 0)
FORCE_EVAL(x*x + ux.value*ux.value);
diff --git a/src/math/nexttowardf.c b/src/math/nexttowardf.c
index 8648be6a..9a693b1a 100644
--- a/src/math/nexttowardf.c
+++ b/src/math/nexttowardf.c
@@ -28,7 +28,7 @@ float nexttowardf(float x, long double y)
e = ux.bits & 0x7f800000;
/* raise overflow if ux.value is infinite and x is finite */
if (e == 0x7f800000)
- return x + x;
+ FORCE_EVAL(x+x);
/* raise underflow if ux.value is subnormal or zero */
if (e == 0)
FORCE_EVAL(x*x + ux.value*ux.value);