Average Error: 15.4 → 1.4
Time: 52.0s
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{m + n}{2} - M\right)}^{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)}
e^{\left(\left|m - n\right| - \ell\right) - {\left(\frac{m + n}{2} - M\right)}^{2}}
double f(double K, double m, double n, double M, double l) {
        double r3926976 = K;
        double r3926977 = m;
        double r3926978 = n;
        double r3926979 = r3926977 + r3926978;
        double r3926980 = r3926976 * r3926979;
        double r3926981 = 2.0;
        double r3926982 = r3926980 / r3926981;
        double r3926983 = M;
        double r3926984 = r3926982 - r3926983;
        double r3926985 = cos(r3926984);
        double r3926986 = r3926979 / r3926981;
        double r3926987 = r3926986 - r3926983;
        double r3926988 = pow(r3926987, r3926981);
        double r3926989 = -r3926988;
        double r3926990 = l;
        double r3926991 = r3926977 - r3926978;
        double r3926992 = fabs(r3926991);
        double r3926993 = r3926990 - r3926992;
        double r3926994 = r3926989 - r3926993;
        double r3926995 = exp(r3926994);
        double r3926996 = r3926985 * r3926995;
        return r3926996;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r3926997 = m;
        double r3926998 = n;
        double r3926999 = r3926997 - r3926998;
        double r3927000 = fabs(r3926999);
        double r3927001 = l;
        double r3927002 = r3927000 - r3927001;
        double r3927003 = r3926997 + r3926998;
        double r3927004 = 2.0;
        double r3927005 = r3927003 / r3927004;
        double r3927006 = M;
        double r3927007 = r3927005 - r3927006;
        double r3927008 = pow(r3927007, r3927004);
        double r3927009 = r3927002 - r3927008;
        double r3927010 = exp(r3927009);
        return r3927010;
}

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

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

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

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

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

Reproduce

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