Average Error: 17.5 → 0.4
Time: 8.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 r103101 = J;
        double r103102 = l;
        double r103103 = exp(r103102);
        double r103104 = -r103102;
        double r103105 = exp(r103104);
        double r103106 = r103103 - r103105;
        double r103107 = r103101 * r103106;
        double r103108 = K;
        double r103109 = 2.0;
        double r103110 = r103108 / r103109;
        double r103111 = cos(r103110);
        double r103112 = r103107 * r103111;
        double r103113 = U;
        double r103114 = r103112 + r103113;
        return r103114;
}

double f(double J, double l, double K, double U) {
        double r103115 = J;
        double r103116 = 0.3333333333333333;
        double r103117 = l;
        double r103118 = 3.0;
        double r103119 = pow(r103117, r103118);
        double r103120 = r103116 * r103119;
        double r103121 = 0.016666666666666666;
        double r103122 = 5.0;
        double r103123 = pow(r103117, r103122);
        double r103124 = r103121 * r103123;
        double r103125 = 2.0;
        double r103126 = r103125 * r103117;
        double r103127 = r103124 + r103126;
        double r103128 = r103120 + r103127;
        double r103129 = K;
        double r103130 = 2.0;
        double r103131 = r103129 / r103130;
        double r103132 = cos(r103131);
        double r103133 = r103128 * r103132;
        double r103134 = r103115 * r103133;
        double r103135 = U;
        double r103136 = r103134 + r103135;
        return r103136;
}

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