\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
\left(\left(\frac{0.5}{n} + 1\right) - \frac{0.1666666666666666851703837437526090070605}{n \cdot n}\right) + \left(\log n \cdot 1 - 1\right)double f(double n) {
double r51884 = n;
double r51885 = 1.0;
double r51886 = r51884 + r51885;
double r51887 = log(r51886);
double r51888 = r51886 * r51887;
double r51889 = log(r51884);
double r51890 = r51884 * r51889;
double r51891 = r51888 - r51890;
double r51892 = r51891 - r51885;
return r51892;
}
double f(double n) {
double r51893 = 0.5;
double r51894 = n;
double r51895 = r51893 / r51894;
double r51896 = 1.0;
double r51897 = r51895 + r51896;
double r51898 = 0.16666666666666669;
double r51899 = r51894 * r51894;
double r51900 = r51898 / r51899;
double r51901 = r51897 - r51900;
double r51902 = log(r51894);
double r51903 = r51902 * r51896;
double r51904 = r51903 - r51896;
double r51905 = r51901 + r51904;
return r51905;
}




Bits error versus n
Results
| Original | 63.0 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 63.0
Taylor expanded around inf 0.0
Simplified0.0
rmApplied associate--l+0
Final simplification0
herbie shell --seed 2019323
(FPCore (n)
:name "logs (example 3.8)"
:precision binary64
: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))