Average Error: 16.0 → 1.5
Time: 26.6s
Precision: 64
\[\cos \left(\frac{K \cdot \left(m + n\right)}{2} - M\right) \cdot e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]
\[e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]
\cos \left(\frac{K \cdot \left(m + n\right)}{2} - M\right) \cdot e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}
e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}
double f(double K, double m, double n, double M, double l) {
        double r3536920 = K;
        double r3536921 = m;
        double r3536922 = n;
        double r3536923 = r3536921 + r3536922;
        double r3536924 = r3536920 * r3536923;
        double r3536925 = 2.0;
        double r3536926 = r3536924 / r3536925;
        double r3536927 = M;
        double r3536928 = r3536926 - r3536927;
        double r3536929 = cos(r3536928);
        double r3536930 = r3536923 / r3536925;
        double r3536931 = r3536930 - r3536927;
        double r3536932 = pow(r3536931, r3536925);
        double r3536933 = -r3536932;
        double r3536934 = l;
        double r3536935 = r3536921 - r3536922;
        double r3536936 = fabs(r3536935);
        double r3536937 = r3536934 - r3536936;
        double r3536938 = r3536933 - r3536937;
        double r3536939 = exp(r3536938);
        double r3536940 = r3536929 * r3536939;
        return r3536940;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r3536941 = m;
        double r3536942 = n;
        double r3536943 = r3536941 + r3536942;
        double r3536944 = 2.0;
        double r3536945 = r3536943 / r3536944;
        double r3536946 = M;
        double r3536947 = r3536945 - r3536946;
        double r3536948 = pow(r3536947, r3536944);
        double r3536949 = -r3536948;
        double r3536950 = l;
        double r3536951 = r3536941 - r3536942;
        double r3536952 = fabs(r3536951);
        double r3536953 = r3536950 - r3536952;
        double r3536954 = r3536949 - r3536953;
        double r3536955 = exp(r3536954);
        return r3536955;
}

Error

Bits error versus K

Bits error versus m

Bits error versus n

Bits error versus M

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 16.0

    \[\cos \left(\frac{K \cdot \left(m + n\right)}{2} - M\right) \cdot e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]
  2. Taylor expanded around 0 1.5

    \[\leadsto \color{blue}{1} \cdot e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]
  3. Final simplification1.5

    \[\leadsto e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]

Reproduce

herbie shell --seed 2019146 
(FPCore (K m n M l)
  :name "Maksimov and Kolovsky, Equation (32)"
  (* (cos (- (/ (* K (+ m n)) 2) M)) (exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))))