\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
\left(\left(1 - \left(1 \cdot \left(\log 1 - \log n\right) + 0.16666666666666669 \cdot \frac{1}{{n}^{2}}\right)\right) + \frac{0.5}{n}\right) - 1double f(double n) {
double r174380 = n;
double r174381 = 1.0;
double r174382 = r174380 + r174381;
double r174383 = log(r174382);
double r174384 = r174382 * r174383;
double r174385 = log(r174380);
double r174386 = r174380 * r174385;
double r174387 = r174384 - r174386;
double r174388 = r174387 - r174381;
return r174388;
}
double f(double n) {
double r174389 = 1.0;
double r174390 = 1.0;
double r174391 = log(r174390);
double r174392 = n;
double r174393 = log(r174392);
double r174394 = r174391 - r174393;
double r174395 = r174389 * r174394;
double r174396 = 0.16666666666666669;
double r174397 = 2.0;
double r174398 = pow(r174392, r174397);
double r174399 = r174390 / r174398;
double r174400 = r174396 * r174399;
double r174401 = r174395 + r174400;
double r174402 = r174389 - r174401;
double r174403 = 0.5;
double r174404 = r174403 / r174392;
double r174405 = r174402 + r174404;
double r174406 = r174405 - r174389;
return r174406;
}




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-exp-log0.0
Applied add-exp-log0.0
Applied div-exp0.0
Applied rem-log-exp0.0
Final simplification0.0
herbie shell --seed 2020020
(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))