Average Error: 18.0 → 0.7
Time: 29.2s
Precision: 64
\[\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
\[\left(\left(\ell \cdot \cos \left(\frac{K}{2}\right)\right) \cdot 2\right) \cdot J + U\]
\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U
\left(\left(\ell \cdot \cos \left(\frac{K}{2}\right)\right) \cdot 2\right) \cdot J + U
double f(double J, double l, double K, double U) {
        double r3017468 = J;
        double r3017469 = l;
        double r3017470 = exp(r3017469);
        double r3017471 = -r3017469;
        double r3017472 = exp(r3017471);
        double r3017473 = r3017470 - r3017472;
        double r3017474 = r3017468 * r3017473;
        double r3017475 = K;
        double r3017476 = 2.0;
        double r3017477 = r3017475 / r3017476;
        double r3017478 = cos(r3017477);
        double r3017479 = r3017474 * r3017478;
        double r3017480 = U;
        double r3017481 = r3017479 + r3017480;
        return r3017481;
}

double f(double J, double l, double K, double U) {
        double r3017482 = l;
        double r3017483 = K;
        double r3017484 = 2.0;
        double r3017485 = r3017483 / r3017484;
        double r3017486 = cos(r3017485);
        double r3017487 = r3017482 * r3017486;
        double r3017488 = r3017487 * r3017484;
        double r3017489 = J;
        double r3017490 = r3017488 * r3017489;
        double r3017491 = U;
        double r3017492 = r3017490 + r3017491;
        return r3017492;
}

Error

Bits error versus J

Bits error versus l

Bits error versus K

Bits error versus U

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 18.0

    \[\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
  2. Simplified18.1

    \[\leadsto \color{blue}{\mathsf{fma}\left(\cos \left(\frac{K}{2}\right), J \cdot e^{\ell} - \frac{J}{e^{\ell}}, U\right)}\]
  3. Taylor expanded around 0 0.7

    \[\leadsto \mathsf{fma}\left(\cos \left(\frac{K}{2}\right), \color{blue}{2 \cdot \left(J \cdot \ell\right)}, U\right)\]
  4. Using strategy rm
  5. Applied add-sqr-sqrt1.0

    \[\leadsto \mathsf{fma}\left(\cos \left(\frac{K}{2}\right), \color{blue}{\left(\sqrt{2} \cdot \sqrt{2}\right)} \cdot \left(J \cdot \ell\right), U\right)\]
  6. Applied associate-*l*0.9

    \[\leadsto \mathsf{fma}\left(\cos \left(\frac{K}{2}\right), \color{blue}{\sqrt{2} \cdot \left(\sqrt{2} \cdot \left(J \cdot \ell\right)\right)}, U\right)\]
  7. Using strategy rm
  8. Applied fma-udef0.9

    \[\leadsto \color{blue}{\cos \left(\frac{K}{2}\right) \cdot \left(\sqrt{2} \cdot \left(\sqrt{2} \cdot \left(J \cdot \ell\right)\right)\right) + U}\]
  9. Simplified0.7

    \[\leadsto \color{blue}{J \cdot \left(2 \cdot \left(\ell \cdot \cos \left(\frac{K}{2}\right)\right)\right)} + U\]
  10. Final simplification0.7

    \[\leadsto \left(\left(\ell \cdot \cos \left(\frac{K}{2}\right)\right) \cdot 2\right) \cdot J + U\]

Reproduce

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