\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
\left(\left(\sqrt[3]{{\left(\sqrt[3]{n + 1}\right)}^{2}} \cdot {\left(\sqrt[3]{\sqrt[3]{n + 1}}\right)}^{4}\right) \cdot \left(\sqrt[3]{n + 1} \cdot \log \left(n + 1\right)\right) - n \cdot \log n\right) - 1(FPCore (n) :precision binary64 (- (- (* (+ n 1.0) (log (+ n 1.0))) (* n (log n))) 1.0))
(FPCore (n)
:precision binary64
(-
(-
(*
(* (cbrt (pow (cbrt (+ n 1.0)) 2.0)) (pow (cbrt (cbrt (+ n 1.0))) 4.0))
(* (cbrt (+ n 1.0)) (log (+ n 1.0))))
(* n (log n)))
1.0))double code(double n) {
return (((n + 1.0) * log(n + 1.0)) - (n * log(n))) - 1.0;
}
double code(double n) {
return (((cbrt(pow(cbrt(n + 1.0), 2.0)) * pow(cbrt(cbrt(n + 1.0)), 4.0)) * (cbrt(n + 1.0) * log(n + 1.0))) - (n * log(n))) - 1.0;
}




Bits error versus n
Results
| Original | 63.0 |
|---|---|
| Target | 0.0 |
| Herbie | 61.6 |
Initial program 63.0
rmApplied add-cube-cbrt_binary64_113661.9
Applied associate-*l*_binary64_104261.9
Simplified61.9
rmApplied add-cube-cbrt_binary64_113661.8
Applied cbrt-prod_binary64_113261.7
Applied associate-*l*_binary64_104261.7
Simplified61.6
rmApplied pow2_binary64_118261.6
Final simplification61.6
herbie shell --seed 2020353
(FPCore (n)
:name "logs (example 3.8)"
:precision binary64
:pre (> n 6.8e+15)
:herbie-target
(- (log (+ n 1.0)) (- (/ 1.0 (* 2.0 n)) (- (/ 1.0 (* 3.0 (* n n))) (/ 4.0 (pow n 3.0)))))
(- (- (* (+ n 1.0) (log (+ n 1.0))) (* n (log n))) 1.0))