Average Error: 17.3 → 0.3
Time: 27.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 r158201 = J;
        double r158202 = l;
        double r158203 = exp(r158202);
        double r158204 = -r158202;
        double r158205 = exp(r158204);
        double r158206 = r158203 - r158205;
        double r158207 = r158201 * r158206;
        double r158208 = K;
        double r158209 = 2.0;
        double r158210 = r158208 / r158209;
        double r158211 = cos(r158210);
        double r158212 = r158207 * r158211;
        double r158213 = U;
        double r158214 = r158212 + r158213;
        return r158214;
}

double f(double J, double l, double K, double U) {
        double r158215 = J;
        double r158216 = 0.3333333333333333;
        double r158217 = l;
        double r158218 = 3.0;
        double r158219 = pow(r158217, r158218);
        double r158220 = r158216 * r158219;
        double r158221 = 0.016666666666666666;
        double r158222 = 5.0;
        double r158223 = pow(r158217, r158222);
        double r158224 = r158221 * r158223;
        double r158225 = 2.0;
        double r158226 = r158225 * r158217;
        double r158227 = r158224 + r158226;
        double r158228 = r158220 + r158227;
        double r158229 = K;
        double r158230 = 2.0;
        double r158231 = r158229 / r158230;
        double r158232 = cos(r158231);
        double r158233 = r158228 * r158232;
        double r158234 = r158215 * r158233;
        double r158235 = U;
        double r158236 = r158234 + r158235;
        return r158236;
}

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.3

    \[\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.3

    \[\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.3

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