Average Error: 59.8 → 2.1
Time: 3.0m
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

Derivation

  1. Initial program 59.8

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

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

    \[\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.0m)Debug logProfile

herbie shell --seed '#(1072840222 1305617769 1692503039 1353360431 4178980589 1488672652)' +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)))))))))