\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
\log n + \left(\frac{\frac{1}{2}}{n} - \frac{\frac{1}{6}}{n \cdot n}\right)double f(double n) {
double r1130558 = n;
double r1130559 = 1.0;
double r1130560 = r1130558 + r1130559;
double r1130561 = log(r1130560);
double r1130562 = r1130560 * r1130561;
double r1130563 = log(r1130558);
double r1130564 = r1130558 * r1130563;
double r1130565 = r1130562 - r1130564;
double r1130566 = r1130565 - r1130559;
return r1130566;
}
double f(double n) {
double r1130567 = n;
double r1130568 = log(r1130567);
double r1130569 = 0.5;
double r1130570 = r1130569 / r1130567;
double r1130571 = 0.16666666666666666;
double r1130572 = r1130567 * r1130567;
double r1130573 = r1130571 / r1130572;
double r1130574 = r1130570 - r1130573;
double r1130575 = r1130568 + r1130574;
return r1130575;
}




Bits error versus n
Results
| Original | 63.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0 |
Initial program 63.0
Simplified61.9
Taylor expanded around inf 0.0
Simplified0
Final simplification0
herbie shell --seed 2019156 +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))