diff options
Diffstat (limited to 'lib/msun/src/e_log.c')
-rw-r--r-- | lib/msun/src/e_log.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/msun/src/e_log.c b/lib/msun/src/e_log.c index fd91aa8..204fb48 100644 --- a/lib/msun/src/e_log.c +++ b/lib/msun/src/e_log.c @@ -107,8 +107,14 @@ __ieee754_log(double x) k += (i>>20); f = x-1.0; if((0x000fffff&(2+hx))<3) { /* -2**-20 <= f < 2**-20 */ - if(f==zero) if(k==0) return zero; else {dk=(double)k; - return dk*ln2_hi+dk*ln2_lo;} + if(f==zero) { + if(k==0) { + return zero; + } else { + dk=(double)k; + return dk*ln2_hi+dk*ln2_lo; + } + } R = f*f*(0.5-0.33333333333333333*f); if(k==0) return f-R; else {dk=(double)k; return dk*ln2_hi-((R-dk*ln2_lo)-f);} |