Average Error: 14.8 → 1.5
Time: 31.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 r9182879 = K;
        double r9182880 = m;
        double r9182881 = n;
        double r9182882 = r9182880 + r9182881;
        double r9182883 = r9182879 * r9182882;
        double r9182884 = 2.0;
        double r9182885 = r9182883 / r9182884;
        double r9182886 = M;
        double r9182887 = r9182885 - r9182886;
        double r9182888 = cos(r9182887);
        double r9182889 = r9182882 / r9182884;
        double r9182890 = r9182889 - r9182886;
        double r9182891 = pow(r9182890, r9182884);
        double r9182892 = -r9182891;
        double r9182893 = l;
        double r9182894 = r9182880 - r9182881;
        double r9182895 = fabs(r9182894);
        double r9182896 = r9182893 - r9182895;
        double r9182897 = r9182892 - r9182896;
        double r9182898 = exp(r9182897);
        double r9182899 = r9182888 * r9182898;
        return r9182899;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r9182900 = m;
        double r9182901 = n;
        double r9182902 = r9182900 + r9182901;
        double r9182903 = 2.0;
        double r9182904 = r9182902 / r9182903;
        double r9182905 = M;
        double r9182906 = r9182904 - r9182905;
        double r9182907 = pow(r9182906, r9182903);
        double r9182908 = -r9182907;
        double r9182909 = l;
        double r9182910 = r9182900 - r9182901;
        double r9182911 = fabs(r9182910);
        double r9182912 = r9182909 - r9182911;
        double r9182913 = r9182908 - r9182912;
        double r9182914 = exp(r9182913);
        return r9182914;
}

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 14.8

    \[\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 2019107 
(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)))))))