\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
\left(0.5 \cdot \frac{1}{n} - \frac{0.16666666666666669}{{n}^{2}}\right) - 1 \cdot \log \left(\frac{1}{n}\right)double f(double n) {
double r129244 = n;
double r129245 = 1.0;
double r129246 = r129244 + r129245;
double r129247 = log(r129246);
double r129248 = r129246 * r129247;
double r129249 = log(r129244);
double r129250 = r129244 * r129249;
double r129251 = r129248 - r129250;
double r129252 = r129251 - r129245;
return r129252;
}
double f(double n) {
double r129253 = 0.5;
double r129254 = 1.0;
double r129255 = n;
double r129256 = r129254 / r129255;
double r129257 = r129253 * r129256;
double r129258 = 0.16666666666666669;
double r129259 = 2.0;
double r129260 = pow(r129255, r129259);
double r129261 = r129258 / r129260;
double r129262 = r129257 - r129261;
double r129263 = 1.0;
double r129264 = log(r129256);
double r129265 = r129263 * r129264;
double r129266 = r129262 - r129265;
return r129266;
}




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
Taylor expanded around inf 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020062
(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))