Average Error: 59.6 → 2.4
Time: 3.4m
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(\pi \cdot {f}^{2}\right)\right) - \left(\frac{7}{5760} \cdot \left((e^{\log_* (1 + {\pi}^{3})} - 1)^* \cdot {f}^{4}\right) + 4 \cdot \frac{\log f}{\pi}\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.6

    \[-\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.4

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

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

Runtime

Time bar (total: 3.4m)Debug logProfile

herbie shell --seed 2018214 +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)))))))))