\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
\left(\left(1 - \left(1 \cdot \log \left(\frac{1}{n}\right) + 0.1666666666666666851703837437526090070605 \cdot \frac{1}{{n}^{2}}\right)\right) + \frac{0.5}{n}\right) - 1double f(double n) {
double r64981 = n;
double r64982 = 1.0;
double r64983 = r64981 + r64982;
double r64984 = log(r64983);
double r64985 = r64983 * r64984;
double r64986 = log(r64981);
double r64987 = r64981 * r64986;
double r64988 = r64985 - r64987;
double r64989 = r64988 - r64982;
return r64989;
}
double f(double n) {
double r64990 = 1.0;
double r64991 = 1.0;
double r64992 = n;
double r64993 = r64991 / r64992;
double r64994 = log(r64993);
double r64995 = r64990 * r64994;
double r64996 = 0.16666666666666669;
double r64997 = 2.0;
double r64998 = pow(r64992, r64997);
double r64999 = r64991 / r64998;
double r65000 = r64996 * r64999;
double r65001 = r64995 + r65000;
double r65002 = r64990 - r65001;
double r65003 = 0.5;
double r65004 = r65003 / r64992;
double r65005 = r65002 + r65004;
double r65006 = r65005 - r64990;
return r65006;
}




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