summaryrefslogtreecommitdiff
path: root/src/math/fmal.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-03-19 06:28:22 -0400
committerRich Felker <dalias@aerifal.cx>2012-03-19 06:28:22 -0400
commitda7458a602a6f0bdea25d6b9b613372048a974e6 (patch)
tree0a42185a4b1f5aef1233fb6d11e09e2b7c473a8f /src/math/fmal.c
parentbe5b01f855b9a6460f8ed575bea50dd01030cb50 (diff)
parent8051e08e10d2b739fcfcbc6bc7466e8d77fa49f1 (diff)
downloadmusl-da7458a602a6f0bdea25d6b9b613372048a974e6.tar.gz
Merge remote branch 'nsz/master'
Diffstat (limited to 'src/math/fmal.c')
-rw-r--r--src/math/fmal.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/math/fmal.c b/src/math/fmal.c
index 3944c292..cbaf46eb 100644
--- a/src/math/fmal.c
+++ b/src/math/fmal.c
@@ -173,14 +173,14 @@ long double fmal(long double x, long double y, long double z)
* return values here are crucial in handling special cases involving
* infinities, NaNs, overflows, and signed zeroes correctly.
*/
- if (x == 0.0 || y == 0.0)
- return (x * y + z);
- if (z == 0.0)
- return (x * y);
if (!isfinite(x) || !isfinite(y))
return (x * y + z);
if (!isfinite(z))
return (z);
+ if (x == 0.0 || y == 0.0)
+ return (x * y + z);
+ if (z == 0.0)
+ return (x * y);
xs = frexpl(x, &ex);
ys = frexpl(y, &ey);