Average Error: 63.0 → 61.6
Time: 6.3s
Precision: binary64
\[n > 6.8 \cdot 10^{+15}\]
\[\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\]
\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;
}

Error

Bits error versus n

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original63.0
Target0.0
Herbie61.6
\[\log \left(n + 1\right) - \left(\frac{1}{2 \cdot n} - \left(\frac{1}{3 \cdot \left(n \cdot n\right)} - \frac{4}{{n}^{3}}\right)\right)\]

Derivation

  1. Initial program 63.0

    \[\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1\]
  2. Using strategy rm
  3. Applied add-cube-cbrt_binary64_113661.9

    \[\leadsto \left(\color{blue}{\left(\left(\sqrt[3]{n + 1} \cdot \sqrt[3]{n + 1}\right) \cdot \sqrt[3]{n + 1}\right)} \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1\]
  4. Applied associate-*l*_binary64_104261.9

    \[\leadsto \left(\color{blue}{\left(\sqrt[3]{n + 1} \cdot \sqrt[3]{n + 1}\right) \cdot \left(\sqrt[3]{n + 1} \cdot \log \left(n + 1\right)\right)} - n \cdot \log n\right) - 1\]
  5. Simplified61.9

    \[\leadsto \left(\left(\sqrt[3]{n + 1} \cdot \sqrt[3]{n + 1}\right) \cdot \color{blue}{\left(\log \left(n + 1\right) \cdot \sqrt[3]{n + 1}\right)} - n \cdot \log n\right) - 1\]
  6. Using strategy rm
  7. Applied add-cube-cbrt_binary64_113661.8

    \[\leadsto \left(\left(\sqrt[3]{\color{blue}{\left(\sqrt[3]{n + 1} \cdot \sqrt[3]{n + 1}\right) \cdot \sqrt[3]{n + 1}}} \cdot \sqrt[3]{n + 1}\right) \cdot \left(\log \left(n + 1\right) \cdot \sqrt[3]{n + 1}\right) - n \cdot \log n\right) - 1\]
  8. Applied cbrt-prod_binary64_113261.7

    \[\leadsto \left(\left(\color{blue}{\left(\sqrt[3]{\sqrt[3]{n + 1} \cdot \sqrt[3]{n + 1}} \cdot \sqrt[3]{\sqrt[3]{n + 1}}\right)} \cdot \sqrt[3]{n + 1}\right) \cdot \left(\log \left(n + 1\right) \cdot \sqrt[3]{n + 1}\right) - n \cdot \log n\right) - 1\]
  9. Applied associate-*l*_binary64_104261.7

    \[\leadsto \left(\color{blue}{\left(\sqrt[3]{\sqrt[3]{n + 1} \cdot \sqrt[3]{n + 1}} \cdot \left(\sqrt[3]{\sqrt[3]{n + 1}} \cdot \sqrt[3]{n + 1}\right)\right)} \cdot \left(\log \left(n + 1\right) \cdot \sqrt[3]{n + 1}\right) - n \cdot \log n\right) - 1\]
  10. Simplified61.6

    \[\leadsto \left(\left(\sqrt[3]{\sqrt[3]{n + 1} \cdot \sqrt[3]{n + 1}} \cdot \color{blue}{{\left(\sqrt[3]{\sqrt[3]{n + 1}}\right)}^{4}}\right) \cdot \left(\log \left(n + 1\right) \cdot \sqrt[3]{n + 1}\right) - n \cdot \log n\right) - 1\]
  11. Using strategy rm
  12. Applied pow2_binary64_118261.6

    \[\leadsto \left(\left(\sqrt[3]{\color{blue}{{\left(\sqrt[3]{n + 1}\right)}^{2}}} \cdot {\left(\sqrt[3]{\sqrt[3]{n + 1}}\right)}^{4}\right) \cdot \left(\log \left(n + 1\right) \cdot \sqrt[3]{n + 1}\right) - n \cdot \log n\right) - 1\]
  13. Final simplification61.6

    \[\leadsto \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\]

Reproduce

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))