\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
\left(\log n - \frac{\frac{\frac{1}{6}}{n}}{n}\right) + \frac{\frac{1}{2}}{n}double f(double n) {
double r641076 = n;
double r641077 = 1.0;
double r641078 = r641076 + r641077;
double r641079 = log(r641078);
double r641080 = r641078 * r641079;
double r641081 = log(r641076);
double r641082 = r641076 * r641081;
double r641083 = r641080 - r641082;
double r641084 = r641083 - r641077;
return r641084;
}
double f(double n) {
double r641085 = n;
double r641086 = log(r641085);
double r641087 = 0.16666666666666666;
double r641088 = r641087 / r641085;
double r641089 = r641088 / r641085;
double r641090 = r641086 - r641089;
double r641091 = 0.5;
double r641092 = r641091 / r641085;
double r641093 = r641090 + r641092;
return r641093;
}




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