Average Error: 16.9 → 0.4
Time: 9.7s
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 r156342 = J;
        double r156343 = l;
        double r156344 = exp(r156343);
        double r156345 = -r156343;
        double r156346 = exp(r156345);
        double r156347 = r156344 - r156346;
        double r156348 = r156342 * r156347;
        double r156349 = K;
        double r156350 = 2.0;
        double r156351 = r156349 / r156350;
        double r156352 = cos(r156351);
        double r156353 = r156348 * r156352;
        double r156354 = U;
        double r156355 = r156353 + r156354;
        return r156355;
}

double f(double J, double l, double K, double U) {
        double r156356 = J;
        double r156357 = 0.3333333333333333;
        double r156358 = l;
        double r156359 = 3.0;
        double r156360 = pow(r156358, r156359);
        double r156361 = r156357 * r156360;
        double r156362 = 0.016666666666666666;
        double r156363 = 5.0;
        double r156364 = pow(r156358, r156363);
        double r156365 = r156362 * r156364;
        double r156366 = 2.0;
        double r156367 = r156366 * r156358;
        double r156368 = r156365 + r156367;
        double r156369 = r156361 + r156368;
        double r156370 = K;
        double r156371 = 2.0;
        double r156372 = r156370 / r156371;
        double r156373 = cos(r156372);
        double r156374 = r156369 * r156373;
        double r156375 = r156356 * r156374;
        double r156376 = U;
        double r156377 = r156375 + r156376;
        return r156377;
}

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 16.9

    \[\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 2020056 
(FPCore (J l K U)
  :name "Maksimov and Kolovsky, Equation (4)"
  :precision binary64
  (+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))