Average Error: 61.7 → 2.3
Time: 13.5s
Precision: binary64
\[-\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{e^{\frac{\pi}{4} \cdot f} - e^{-\frac{\pi}{4} \cdot f}}\right)\]
\[\langle \left( \langle \left( {\pi}^{3} \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64} \cdot \left(0.0012152777777777778 \cdot {f}^{4}\right) + \left(\frac{4}{\pi} \cdot \left(\log f - \log \left(\frac{4}{\pi}\right)\right) + \left(\pi \cdot \left(f \cdot f\right)\right) \cdot -0.08333333333333333\right)\]
-\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{e^{\frac{\pi}{4} \cdot f} - e^{-\frac{\pi}{4} \cdot f}}\right)
\langle \left( \langle \left( {\pi}^{3} \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64} \cdot \left(0.0012152777777777778 \cdot {f}^{4}\right) + \left(\frac{4}{\pi} \cdot \left(\log f - \log \left(\frac{4}{\pi}\right)\right) + \left(\pi \cdot \left(f \cdot f\right)\right) \cdot -0.08333333333333333\right)
(FPCore (f)
 :precision binary64
 (-
  (*
   (/ 1.0 (/ PI 4.0))
   (log
    (/
     (+ (exp (* (/ PI 4.0) f)) (exp (- (* (/ PI 4.0) f))))
     (- (exp (* (/ PI 4.0) f)) (exp (- (* (/ PI 4.0) f)))))))))
(FPCore (f)
 :precision binary64
 (+
  (*
   (cast (! :precision posit16 (cast (! :precision binary64 (pow PI 3.0)))))
   (* 0.0012152777777777778 (pow f 4.0)))
  (+
   (* (/ 4.0 PI) (- (log f) (log (/ 4.0 PI))))
   (* (* PI (* f f)) -0.08333333333333333))))

Error

Bits error versus f

Derivation

  1. Initial program 61.7

    \[-\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{e^{\frac{\pi}{4} \cdot f} - e^{-\frac{\pi}{4} \cdot f}}\right)\]
  2. Simplified61.7

    \[\leadsto \color{blue}{\log \left(\frac{e^{\frac{\pi}{4} \cdot f} + {\left(e^{-0.25}\right)}^{\left(\pi \cdot f\right)}}{e^{\frac{\pi}{4} \cdot f} - {\left(e^{-0.25}\right)}^{\left(\pi \cdot f\right)}}\right) \cdot \frac{-4}{\pi}}\]
  3. Taylor expanded around 0 2.4

    \[\leadsto \log \color{blue}{\left(\left(0.08333333333333333 \cdot \left(f \cdot \pi\right) + 4 \cdot \frac{1}{\pi \cdot f}\right) - 0.00034722222222222224 \cdot \left({f}^{3} \cdot {\pi}^{3}\right)\right)} \cdot \frac{-4}{\pi}\]
  4. Simplified2.4

    \[\leadsto \log \color{blue}{\left(\left(\left(\pi \cdot f\right) \cdot 0.08333333333333333 + \frac{4}{\pi \cdot f}\right) - {\left(\pi \cdot f\right)}^{3} \cdot 0.00034722222222222224\right)} \cdot \frac{-4}{\pi}\]
  5. Using strategy rm
  6. Applied associate-*r/_binary642.3

    \[\leadsto \color{blue}{\frac{\log \left(\left(\left(\pi \cdot f\right) \cdot 0.08333333333333333 + \frac{4}{\pi \cdot f}\right) - {\left(\pi \cdot f\right)}^{3} \cdot 0.00034722222222222224\right) \cdot -4}{\pi}}\]
  7. Taylor expanded around 0 2.3

    \[\leadsto \color{blue}{\left(0.0012152777777777778 \cdot \left({f}^{4} \cdot {\pi}^{3}\right) + 4 \cdot \frac{\log f}{\pi}\right) - \left(4 \cdot \frac{\log \left(\frac{4}{\pi}\right)}{\pi} + 0.08333333333333333 \cdot \left({f}^{2} \cdot \pi\right)\right)}\]
  8. Simplified2.3

    \[\leadsto \color{blue}{{\pi}^{3} \cdot \left(0.0012152777777777778 \cdot {f}^{4}\right) + \left(\frac{4}{\pi} \cdot \left(\log f - \log \left(\frac{4}{\pi}\right)\right) + \left(\pi \cdot \left(f \cdot f\right)\right) \cdot -0.08333333333333333\right)}\]
  9. Using strategy rm
  10. Applied insert-posit162.3

    \[\leadsto \color{blue}{\langle \color{blue}{\left( \color{blue}{\langle \color{blue}{\left( \color{blue}{{\pi}^{3}} \right)_{binary64}} \rangle_{posit16}} \right)_{posit16}} \rangle_{binary64}} \cdot \left(0.0012152777777777778 \cdot {f}^{4}\right) + \left(\frac{4}{\pi} \cdot \left(\log f - \log \left(\frac{4}{\pi}\right)\right) + \left(\pi \cdot \left(f \cdot f\right)\right) \cdot -0.08333333333333333\right)\]
  11. Final simplification2.3

    \[\leadsto \langle \left( \langle \left( {\pi}^{3} \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64} \cdot \left(0.0012152777777777778 \cdot {f}^{4}\right) + \left(\frac{4}{\pi} \cdot \left(\log f - \log \left(\frac{4}{\pi}\right)\right) + \left(\pi \cdot \left(f \cdot f\right)\right) \cdot -0.08333333333333333\right)\]

Reproduce

herbie shell --seed 2020263 
(FPCore (f)
  :name "VandenBroeck and Keller, Equation (20)"
  :precision binary64
  (- (* (/ 1.0 (/ PI 4.0)) (log (/ (+ (exp (* (/ PI 4.0) f)) (exp (- (* (/ PI 4.0) f)))) (- (exp (* (/ PI 4.0) f)) (exp (- (* (/ PI 4.0) f)))))))))