Average Error: 16.9 → 0.3
Time: 35.0s
Precision: 64
\[\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
\[\left(\left({\ell}^{5} \cdot \frac{1}{60} + \left(\ell \cdot \left(\frac{1}{3} \cdot \ell\right) + 2\right) \cdot \ell\right) \cdot J\right) \cdot \cos \left(\frac{K}{2}\right) + U\]
\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U
\left(\left({\ell}^{5} \cdot \frac{1}{60} + \left(\ell \cdot \left(\frac{1}{3} \cdot \ell\right) + 2\right) \cdot \ell\right) \cdot J\right) \cdot \cos \left(\frac{K}{2}\right) + U
double f(double J, double l, double K, double U) {
        double r3166387 = J;
        double r3166388 = l;
        double r3166389 = exp(r3166388);
        double r3166390 = -r3166388;
        double r3166391 = exp(r3166390);
        double r3166392 = r3166389 - r3166391;
        double r3166393 = r3166387 * r3166392;
        double r3166394 = K;
        double r3166395 = 2.0;
        double r3166396 = r3166394 / r3166395;
        double r3166397 = cos(r3166396);
        double r3166398 = r3166393 * r3166397;
        double r3166399 = U;
        double r3166400 = r3166398 + r3166399;
        return r3166400;
}

double f(double J, double l, double K, double U) {
        double r3166401 = l;
        double r3166402 = 5.0;
        double r3166403 = pow(r3166401, r3166402);
        double r3166404 = 0.016666666666666666;
        double r3166405 = r3166403 * r3166404;
        double r3166406 = 0.3333333333333333;
        double r3166407 = r3166406 * r3166401;
        double r3166408 = r3166401 * r3166407;
        double r3166409 = 2.0;
        double r3166410 = r3166408 + r3166409;
        double r3166411 = r3166410 * r3166401;
        double r3166412 = r3166405 + r3166411;
        double r3166413 = J;
        double r3166414 = r3166412 * r3166413;
        double r3166415 = K;
        double r3166416 = r3166415 / r3166409;
        double r3166417 = cos(r3166416);
        double r3166418 = r3166414 * r3166417;
        double r3166419 = U;
        double r3166420 = r3166418 + r3166419;
        return r3166420;
}

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

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

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

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

Reproduce

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