Average Error: 63.0 → 60.8
Time: 8.1s
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\]
\[\langle \left( \langle \left( \left(\log \left(\sqrt[3]{n + 1}\right) \cdot \left(n + 3\right) + n \cdot \left(\log \left(\sqrt[3]{n + 1}\right) \cdot 2 - \log n\right)\right) \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64} - 1\]
\left(\left(n + 1\right) \cdot \log \left(n + 1\right) - n \cdot \log n\right) - 1
\langle \left( \langle \left( \left(\log \left(\sqrt[3]{n + 1}\right) \cdot \left(n + 3\right) + n \cdot \left(\log \left(\sqrt[3]{n + 1}\right) \cdot 2 - \log n\right)\right) \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64} - 1
(FPCore (n)
 :precision binary64
 (- (- (* (+ n 1.0) (log (+ n 1.0))) (* n (log n))) 1.0))
(FPCore (n)
 :precision binary64
 (-
  (cast
   (!
    :precision
    posit16
    (cast
     (!
      :precision
      binary64
      (+
       (* (log (cbrt (+ n 1.0))) (+ n 3.0))
       (* n (- (* (log (cbrt (+ n 1.0))) 2.0) (log n))))))))
  1.0))

Error

Bits error versus n

Target

Original63.0
Target0
Herbie60.8
\[\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_binary6463.0

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

    \[\leadsto \left(\left(n + 1\right) \cdot \color{blue}{\left(\log \left(\sqrt[3]{n + 1} \cdot \sqrt[3]{n + 1}\right) + \log \left(\sqrt[3]{n + 1}\right)\right)} - n \cdot \log n\right) - 1\]
  5. Applied distribute-rgt-in_binary6462.5

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

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

    \[\leadsto \left(\log \left(\sqrt[3]{n + 1} \cdot \sqrt[3]{n + 1}\right) \cdot \left(n + 1\right) + \color{blue}{\left(\left(n + 1\right) \cdot \log \left(\sqrt[3]{n + 1}\right) - n \cdot \log n\right)}\right) - 1\]
  8. Using strategy rm
  9. Applied distribute-rgt-in_binary6462.1

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

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

    \[\leadsto \left(n \cdot \log \left(\sqrt[3]{n + 1} \cdot \sqrt[3]{n + 1}\right) + \color{blue}{\left(\log \left(\sqrt[3]{n + 1}\right) \cdot \left(2 + \left(n + 1\right)\right) - n \cdot \log n\right)}\right) - 1\]
  12. Using strategy rm
  13. Applied insert-posit1660.4

    \[\leadsto \color{blue}{\langle \color{blue}{\left( \color{blue}{\langle \color{blue}{\left( \color{blue}{\left(n \cdot \log \left(\sqrt[3]{n + 1} \cdot \sqrt[3]{n + 1}\right) + \left(\log \left(\sqrt[3]{n + 1}\right) \cdot \left(2 + \left(n + 1\right)\right) - n \cdot \log n\right)\right)} \right)_{binary64}} \rangle_{posit16}} \right)_{posit16}} \rangle_{binary64}} - 1\]
  14. Simplified60.8

    \[\leadsto \langle \left( \langle \left( \left(\color{blue}{\log \left(\sqrt[3]{n + 1}\right) \cdot \left(n + 3\right)} + n \cdot \left(\log \left(\sqrt[3]{n + 1}\right) \cdot 2 - \log n\right)\right) \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64} - 1\]
  15. Final simplification60.8

    \[\leadsto \langle \left( \langle \left( \left(\log \left(\sqrt[3]{n + 1}\right) \cdot \left(n + 3\right) + n \cdot \left(\log \left(\sqrt[3]{n + 1}\right) \cdot 2 - \log n\right)\right) \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64} - 1\]

Reproduce

herbie shell --seed 2020288 
(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))