Average Error: 17.3 → 0.3
Time: 47.0s
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 r156817 = J;
        double r156818 = l;
        double r156819 = exp(r156818);
        double r156820 = -r156818;
        double r156821 = exp(r156820);
        double r156822 = r156819 - r156821;
        double r156823 = r156817 * r156822;
        double r156824 = K;
        double r156825 = 2.0;
        double r156826 = r156824 / r156825;
        double r156827 = cos(r156826);
        double r156828 = r156823 * r156827;
        double r156829 = U;
        double r156830 = r156828 + r156829;
        return r156830;
}

double f(double J, double l, double K, double U) {
        double r156831 = J;
        double r156832 = 0.3333333333333333;
        double r156833 = l;
        double r156834 = 3.0;
        double r156835 = pow(r156833, r156834);
        double r156836 = r156832 * r156835;
        double r156837 = 0.016666666666666666;
        double r156838 = 5.0;
        double r156839 = pow(r156833, r156838);
        double r156840 = r156837 * r156839;
        double r156841 = 2.0;
        double r156842 = r156841 * r156833;
        double r156843 = r156840 + r156842;
        double r156844 = r156836 + r156843;
        double r156845 = K;
        double r156846 = 2.0;
        double r156847 = r156845 / r156846;
        double r156848 = cos(r156847);
        double r156849 = r156844 * r156848;
        double r156850 = r156831 * r156849;
        double r156851 = U;
        double r156852 = r156850 + r156851;
        return r156852;
}

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))