\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
\left(\frac{\frac{1}{2}}{n} - \frac{\frac{3002399751580331}{18014398509481984}}{{n}^{2}}\right) + \log n \cdot 1double f(double n) {
double r55703 = n;
double r55704 = 1.0;
double r55705 = r55703 + r55704;
double r55706 = log(r55705);
double r55707 = r55705 * r55706;
double r55708 = log(r55703);
double r55709 = r55703 * r55708;
double r55710 = r55707 - r55709;
double r55711 = r55710 - r55704;
return r55711;
}
double f(double n) {
double r55712 = 1.0;
double r55713 = 2.0;
double r55714 = r55712 / r55713;
double r55715 = n;
double r55716 = r55714 / r55715;
double r55717 = 3002399751580331.0;
double r55718 = 18014398509481984.0;
double r55719 = r55717 / r55718;
double r55720 = 2.0;
double r55721 = pow(r55715, r55720);
double r55722 = r55719 / r55721;
double r55723 = r55716 - r55722;
double r55724 = log(r55715);
double r55725 = r55724 * r55712;
double r55726 = r55723 + r55725;
return r55726;
}




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