\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
0 - \left(\left(\left(2 \cdot \log \left(\frac{\sqrt{1}}{\sqrt{n}}\right)\right) \cdot 1 - \frac{\frac{1}{2}}{n}\right) + \frac{\frac{\frac{3002399751580331}{18014398509481984}}{n}}{n}\right)double f(double n) {
double r54362 = n;
double r54363 = 1.0;
double r54364 = r54362 + r54363;
double r54365 = log(r54364);
double r54366 = r54364 * r54365;
double r54367 = log(r54362);
double r54368 = r54362 * r54367;
double r54369 = r54366 - r54368;
double r54370 = r54369 - r54363;
return r54370;
}
double f(double n) {
double r54371 = 0.0;
double r54372 = 2.0;
double r54373 = 1.0;
double r54374 = sqrt(r54373);
double r54375 = n;
double r54376 = sqrt(r54375);
double r54377 = r54374 / r54376;
double r54378 = log(r54377);
double r54379 = r54372 * r54378;
double r54380 = 1.0;
double r54381 = r54379 * r54380;
double r54382 = 2.0;
double r54383 = r54380 / r54382;
double r54384 = r54383 / r54375;
double r54385 = r54381 - r54384;
double r54386 = 3002399751580331.0;
double r54387 = 18014398509481984.0;
double r54388 = r54386 / r54387;
double r54389 = r54388 / r54375;
double r54390 = r54389 / r54375;
double r54391 = r54385 + r54390;
double r54392 = r54371 - r54391;
return r54392;
}




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
rmApplied add-sqr-sqrt0.0
Applied add-sqr-sqrt0.0
Applied times-frac0.0
Applied log-prod0.0
Final simplification0.0
herbie shell --seed 2019303
(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))