Average Error: 14.6 → 1.2
Time: 29.3s
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|m - n\right| - \ell\right) - \left(\frac{n + m}{2} - M\right) \cdot \left(\frac{n + m}{2} - M\right)} \cdot \cos \left(-M\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|m - n\right| - \ell\right) - \left(\frac{n + m}{2} - M\right) \cdot \left(\frac{n + m}{2} - M\right)} \cdot \cos \left(-M\right)
double f(double K, double m, double n, double M, double l) {
        double r3358972 = K;
        double r3358973 = m;
        double r3358974 = n;
        double r3358975 = r3358973 + r3358974;
        double r3358976 = r3358972 * r3358975;
        double r3358977 = 2.0;
        double r3358978 = r3358976 / r3358977;
        double r3358979 = M;
        double r3358980 = r3358978 - r3358979;
        double r3358981 = cos(r3358980);
        double r3358982 = r3358975 / r3358977;
        double r3358983 = r3358982 - r3358979;
        double r3358984 = pow(r3358983, r3358977);
        double r3358985 = -r3358984;
        double r3358986 = l;
        double r3358987 = r3358973 - r3358974;
        double r3358988 = fabs(r3358987);
        double r3358989 = r3358986 - r3358988;
        double r3358990 = r3358985 - r3358989;
        double r3358991 = exp(r3358990);
        double r3358992 = r3358981 * r3358991;
        return r3358992;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r3358993 = m;
        double r3358994 = n;
        double r3358995 = r3358993 - r3358994;
        double r3358996 = fabs(r3358995);
        double r3358997 = l;
        double r3358998 = r3358996 - r3358997;
        double r3358999 = r3358994 + r3358993;
        double r3359000 = 2.0;
        double r3359001 = r3358999 / r3359000;
        double r3359002 = M;
        double r3359003 = r3359001 - r3359002;
        double r3359004 = r3359003 * r3359003;
        double r3359005 = r3358998 - r3359004;
        double r3359006 = exp(r3359005);
        double r3359007 = -r3359002;
        double r3359008 = cos(r3359007);
        double r3359009 = r3359006 * r3359008;
        return r3359009;
}

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

    \[\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. Simplified14.6

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

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

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

Reproduce

herbie shell --seed 2019134 
(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)))))))