\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
\left(\log n + \frac{\frac{-1}{6}}{n \cdot n}\right) + \frac{\frac{1}{2}}{n}double f(double n) {
double r1513528 = n;
double r1513529 = 1.0;
double r1513530 = r1513528 + r1513529;
double r1513531 = log(r1513530);
double r1513532 = r1513530 * r1513531;
double r1513533 = log(r1513528);
double r1513534 = r1513528 * r1513533;
double r1513535 = r1513532 - r1513534;
double r1513536 = r1513535 - r1513529;
return r1513536;
}
double f(double n) {
double r1513537 = n;
double r1513538 = log(r1513537);
double r1513539 = -0.16666666666666666;
double r1513540 = r1513537 * r1513537;
double r1513541 = r1513539 / r1513540;
double r1513542 = r1513538 + r1513541;
double r1513543 = 0.5;
double r1513544 = r1513543 / r1513537;
double r1513545 = r1513542 + r1513544;
return r1513545;
}




Bits error versus n
Results
| Original | 63.0 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 63.0
Simplified44.2
Taylor expanded around inf 0.0
Simplified0
Final simplification0
herbie shell --seed 2019133 +o rules:numerics
(FPCore (n)
:name "logs (example 3.8)"
:pre (> n 6.8e+15)
:herbie-target
(- (log (+ n 1)) (- (/ 1 (* 2 n)) (- (/ 1 (* 3 (* n n))) (/ 4 (pow n 3)))))
(- (- (* (+ n 1) (log (+ n 1))) (* n (log n))) 1))