\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
-1 + \left(\left(\left(1 + \log n\right) + \frac{\frac{1}{2}}{n}\right) + \frac{\frac{-1}{6}}{n \cdot n}\right)double f(double n) {
double r1510204 = n;
double r1510205 = 1.0;
double r1510206 = r1510204 + r1510205;
double r1510207 = log(r1510206);
double r1510208 = r1510206 * r1510207;
double r1510209 = log(r1510204);
double r1510210 = r1510204 * r1510209;
double r1510211 = r1510208 - r1510210;
double r1510212 = r1510211 - r1510205;
return r1510212;
}
double f(double n) {
double r1510213 = -1.0;
double r1510214 = 1.0;
double r1510215 = n;
double r1510216 = log(r1510215);
double r1510217 = r1510214 + r1510216;
double r1510218 = 0.5;
double r1510219 = r1510218 / r1510215;
double r1510220 = r1510217 + r1510219;
double r1510221 = -0.16666666666666666;
double r1510222 = r1510215 * r1510215;
double r1510223 = r1510221 / r1510222;
double r1510224 = r1510220 + r1510223;
double r1510225 = r1510213 + r1510224;
return r1510225;
}




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