Index: fusl/src/math/sinhl.c |
diff --git a/fusl/src/math/sinhl.c b/fusl/src/math/sinhl.c |
index b305d4d2f3e9c5965bdbf4ddb445adef0168fd85..4ef2c17e6fdacf96d033b995d62e59a0fcca2fe4 100644 |
--- a/fusl/src/math/sinhl.c |
+++ b/fusl/src/math/sinhl.c |
@@ -1,43 +1,40 @@ |
#include "libm.h" |
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 |
-long double sinhl(long double x) |
-{ |
- return sinh(x); |
+long double sinhl(long double x) { |
+ return sinh(x); |
} |
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 |
-long double sinhl(long double x) |
-{ |
- union ldshape u = {x}; |
- unsigned ex = u.i.se & 0x7fff; |
- long double h, t, absx; |
+long double sinhl(long double x) { |
+ union ldshape u = {x}; |
+ unsigned ex = u.i.se & 0x7fff; |
+ long double h, t, absx; |
- h = 0.5; |
- if (u.i.se & 0x8000) |
- h = -h; |
- /* |x| */ |
- u.i.se = ex; |
- absx = u.f; |
+ h = 0.5; |
+ if (u.i.se & 0x8000) |
+ h = -h; |
+ /* |x| */ |
+ u.i.se = ex; |
+ absx = u.f; |
- /* |x| < log(LDBL_MAX) */ |
- if (ex < 0x3fff+13 || (ex == 0x3fff+13 && u.i.m>>32 < 0xb17217f7)) { |
- t = expm1l(absx); |
- if (ex < 0x3fff) { |
- if (ex < 0x3fff-32) |
- return x; |
- return h*(2*t - t*t/(1+t)); |
- } |
- return h*(t + t/(t+1)); |
- } |
+ /* |x| < log(LDBL_MAX) */ |
+ if (ex < 0x3fff + 13 || (ex == 0x3fff + 13 && u.i.m >> 32 < 0xb17217f7)) { |
+ t = expm1l(absx); |
+ if (ex < 0x3fff) { |
+ if (ex < 0x3fff - 32) |
+ return x; |
+ return h * (2 * t - t * t / (1 + t)); |
+ } |
+ return h * (t + t / (t + 1)); |
+ } |
- /* |x| > log(LDBL_MAX) or nan */ |
- t = expl(0.5*absx); |
- return h*t*t; |
+ /* |x| > log(LDBL_MAX) or nan */ |
+ t = expl(0.5 * absx); |
+ return h * t * t; |
} |
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 |
// TODO: broken implementation to make things compile |
-long double sinhl(long double x) |
-{ |
- return sinh(x); |
+long double sinhl(long double x) { |
+ return sinh(x); |
} |
#endif |