Average Error: 17.5 → 0.4
Time: 8.4s
Precision: 64
\[\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
\[J \cdot \left(\left(\frac{1}{3} \cdot {\ell}^{3} + \left(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right) + U\]
\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U
J \cdot \left(\left(\frac{1}{3} \cdot {\ell}^{3} + \left(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right) + U
double f(double J, double l, double K, double U) {
        double r159019 = J;
        double r159020 = l;
        double r159021 = exp(r159020);
        double r159022 = -r159020;
        double r159023 = exp(r159022);
        double r159024 = r159021 - r159023;
        double r159025 = r159019 * r159024;
        double r159026 = K;
        double r159027 = 2.0;
        double r159028 = r159026 / r159027;
        double r159029 = cos(r159028);
        double r159030 = r159025 * r159029;
        double r159031 = U;
        double r159032 = r159030 + r159031;
        return r159032;
}

double f(double J, double l, double K, double U) {
        double r159033 = J;
        double r159034 = 0.3333333333333333;
        double r159035 = l;
        double r159036 = 3.0;
        double r159037 = pow(r159035, r159036);
        double r159038 = r159034 * r159037;
        double r159039 = 0.016666666666666666;
        double r159040 = 5.0;
        double r159041 = pow(r159035, r159040);
        double r159042 = r159039 * r159041;
        double r159043 = 2.0;
        double r159044 = r159043 * r159035;
        double r159045 = r159042 + r159044;
        double r159046 = r159038 + r159045;
        double r159047 = K;
        double r159048 = 2.0;
        double r159049 = r159047 / r159048;
        double r159050 = cos(r159049);
        double r159051 = r159046 * r159050;
        double r159052 = r159033 * r159051;
        double r159053 = U;
        double r159054 = r159052 + r159053;
        return r159054;
}

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 17.5

    \[\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(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right)}\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
  3. Using strategy rm
  4. Applied associate-*l*0.4

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

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

Reproduce

herbie shell --seed 2019353 
(FPCore (J l K U)
  :name "Maksimov and Kolovsky, Equation (4)"
  :precision binary64
  (+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))