Average Error: 17.6 → 0.4
Time: 23.6s
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 r88982 = J;
        double r88983 = l;
        double r88984 = exp(r88983);
        double r88985 = -r88983;
        double r88986 = exp(r88985);
        double r88987 = r88984 - r88986;
        double r88988 = r88982 * r88987;
        double r88989 = K;
        double r88990 = 2.0;
        double r88991 = r88989 / r88990;
        double r88992 = cos(r88991);
        double r88993 = r88988 * r88992;
        double r88994 = U;
        double r88995 = r88993 + r88994;
        return r88995;
}

double f(double J, double l, double K, double U) {
        double r88996 = J;
        double r88997 = 0.3333333333333333;
        double r88998 = l;
        double r88999 = 3.0;
        double r89000 = pow(r88998, r88999);
        double r89001 = r88997 * r89000;
        double r89002 = 0.016666666666666666;
        double r89003 = 5.0;
        double r89004 = pow(r88998, r89003);
        double r89005 = r89002 * r89004;
        double r89006 = 2.0;
        double r89007 = r89006 * r88998;
        double r89008 = r89005 + r89007;
        double r89009 = r89001 + r89008;
        double r89010 = K;
        double r89011 = 2.0;
        double r89012 = r89010 / r89011;
        double r89013 = cos(r89012);
        double r89014 = r89009 * r89013;
        double r89015 = r88996 * r89014;
        double r89016 = U;
        double r89017 = r89015 + r89016;
        return r89017;
}

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