Average Error: 15.2 → 1.3
Time: 13.4s
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 r244911 = K;
        double r244912 = m;
        double r244913 = n;
        double r244914 = r244912 + r244913;
        double r244915 = r244911 * r244914;
        double r244916 = 2.0;
        double r244917 = r244915 / r244916;
        double r244918 = M;
        double r244919 = r244917 - r244918;
        double r244920 = cos(r244919);
        double r244921 = r244914 / r244916;
        double r244922 = r244921 - r244918;
        double r244923 = pow(r244922, r244916);
        double r244924 = -r244923;
        double r244925 = l;
        double r244926 = r244912 - r244913;
        double r244927 = fabs(r244926);
        double r244928 = r244925 - r244927;
        double r244929 = r244924 - r244928;
        double r244930 = exp(r244929);
        double r244931 = r244920 * r244930;
        return r244931;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r244932 = m;
        double r244933 = n;
        double r244934 = r244932 + r244933;
        double r244935 = 2.0;
        double r244936 = r244934 / r244935;
        double r244937 = M;
        double r244938 = r244936 - r244937;
        double r244939 = pow(r244938, r244935);
        double r244940 = -r244939;
        double r244941 = l;
        double r244942 = r244932 - r244933;
        double r244943 = fabs(r244942);
        double r244944 = r244941 - r244943;
        double r244945 = r244940 - r244944;
        double r244946 = exp(r244945);
        return r244946;
}

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 15.2

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

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

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

Reproduce

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