\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
\log n + \left(\frac{\frac{-1}{6}}{n \cdot n} + \frac{\frac{1}{2}}{n}\right)double f(double n) {
double r694233 = n;
double r694234 = 1.0;
double r694235 = r694233 + r694234;
double r694236 = log(r694235);
double r694237 = r694235 * r694236;
double r694238 = log(r694233);
double r694239 = r694233 * r694238;
double r694240 = r694237 - r694239;
double r694241 = r694240 - r694234;
return r694241;
}
double f(double n) {
double r694242 = n;
double r694243 = log(r694242);
double r694244 = -0.16666666666666666;
double r694245 = r694242 * r694242;
double r694246 = r694244 / r694245;
double r694247 = 0.5;
double r694248 = r694247 / r694242;
double r694249 = r694246 + r694248;
double r694250 = r694243 + r694249;
return r694250;
}




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 2019130 +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))