Average Error: 59.5 → 2.3
Time: 8.6m
Precision: 64
Internal Precision: 1344
\[-\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)\]
\[-\left(\left(4 \cdot \frac{\log \left(\frac{4}{\pi}\right)}{\pi} + \frac{1}{12} \cdot \left({f}^{2} \cdot \pi\right)\right) - \left(4 \cdot \frac{\log f}{\pi} + \frac{7}{5760} \cdot \left({f}^{4} \cdot (e^{\log_* (1 + {\pi}^{3})} - 1)^*\right)\right)\right)\]

Error

Bits error versus f

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 59.5

    \[-\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. Taylor expanded around 0 2.3

    \[\leadsto -\color{blue}{\left(\left(4 \cdot \frac{\log \left(\frac{4}{\pi}\right)}{\pi} + \frac{1}{12} \cdot \left({f}^{2} \cdot \pi\right)\right) - \left(4 \cdot \frac{\log f}{\pi} + \frac{7}{5760} \cdot \left({f}^{4} \cdot {\pi}^{3}\right)\right)\right)}\]
  3. Using strategy rm
  4. Applied expm1-log1p-u2.3

    \[\leadsto -\left(\left(4 \cdot \frac{\log \left(\frac{4}{\pi}\right)}{\pi} + \frac{1}{12} \cdot \left({f}^{2} \cdot \pi\right)\right) - \left(4 \cdot \frac{\log f}{\pi} + \frac{7}{5760} \cdot \left({f}^{4} \cdot \color{blue}{(e^{\log_* (1 + {\pi}^{3})} - 1)^*}\right)\right)\right)\]

Runtime

Time bar (total: 8.6m)Debug logProfile

herbie shell --seed 2019053 +o rules:numerics
(FPCore (f)
  :name "VandenBroeck and Keller, Equation (20)"
  (- (* (/ 1 (/ PI 4)) (log (/ (+ (exp (* (/ PI 4) f)) (exp (- (* (/ PI 4) f)))) (- (exp (* (/ PI 4) f)) (exp (- (* (/ PI 4) f)))))))))