Average Error: 17.6 → 0.4
Time: 2.3m
Precision: 64
Internal Precision: 1344
\[\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
\[\left(\left(\frac{1}{3} \cdot {\ell}^{3}\right) \cdot J + J \cdot (\left({\ell}^{5}\right) \cdot \frac{1}{60} + \left(\ell \cdot 2\right))_*\right) \cdot \cos \left(\frac{K}{2}\right) + U\]

Error

Bits error versus J

Bits error versus l

Bits error versus K

Bits error versus U

Derivation

  1. Initial program 17.6

    \[\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
  2. Taylor expanded around 0 0.4

    \[\leadsto \left(J \cdot \color{blue}{\left(\frac{1}{3} \cdot {\ell}^{3} + \left(2 \cdot \ell + \frac{1}{60} \cdot {\ell}^{5}\right)\right)}\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
  3. Using strategy rm
  4. Applied distribute-lft-in0.4

    \[\leadsto \color{blue}{\left(J \cdot \left(\frac{1}{3} \cdot {\ell}^{3}\right) + J \cdot \left(2 \cdot \ell + \frac{1}{60} \cdot {\ell}^{5}\right)\right)} \cdot \cos \left(\frac{K}{2}\right) + U\]
  5. Simplified0.4

    \[\leadsto \left(J \cdot \left(\frac{1}{3} \cdot {\ell}^{3}\right) + \color{blue}{J \cdot (\left({\ell}^{5}\right) \cdot \frac{1}{60} + \left(\ell \cdot 2\right))_*}\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
  6. Final simplification0.4

    \[\leadsto \left(\left(\frac{1}{3} \cdot {\ell}^{3}\right) \cdot J + J \cdot (\left({\ell}^{5}\right) \cdot \frac{1}{60} + \left(\ell \cdot 2\right))_*\right) \cdot \cos \left(\frac{K}{2}\right) + U\]

Runtime

Time bar (total: 2.3m)Debug logProfile

herbie shell --seed 2018214 +o rules:numerics
(FPCore (J l K U)
  :name "Maksimov and Kolovsky, Equation (4)"
  (+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))