Average Error: 15.3 → 1.4
Time: 50.8s
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)}\]
\[\frac{1}{e^{\left(\ell - \left|m - n\right|\right) + \left(\frac{m + n}{2} - M\right) \cdot \left(\frac{m + n}{2} - 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)}
\frac{1}{e^{\left(\ell - \left|m - n\right|\right) + \left(\frac{m + n}{2} - M\right) \cdot \left(\frac{m + n}{2} - M\right)}}
double f(double K, double m, double n, double M, double l) {
        double r16582038 = K;
        double r16582039 = m;
        double r16582040 = n;
        double r16582041 = r16582039 + r16582040;
        double r16582042 = r16582038 * r16582041;
        double r16582043 = 2.0;
        double r16582044 = r16582042 / r16582043;
        double r16582045 = M;
        double r16582046 = r16582044 - r16582045;
        double r16582047 = cos(r16582046);
        double r16582048 = r16582041 / r16582043;
        double r16582049 = r16582048 - r16582045;
        double r16582050 = pow(r16582049, r16582043);
        double r16582051 = -r16582050;
        double r16582052 = l;
        double r16582053 = r16582039 - r16582040;
        double r16582054 = fabs(r16582053);
        double r16582055 = r16582052 - r16582054;
        double r16582056 = r16582051 - r16582055;
        double r16582057 = exp(r16582056);
        double r16582058 = r16582047 * r16582057;
        return r16582058;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r16582059 = 1.0;
        double r16582060 = l;
        double r16582061 = m;
        double r16582062 = n;
        double r16582063 = r16582061 - r16582062;
        double r16582064 = fabs(r16582063);
        double r16582065 = r16582060 - r16582064;
        double r16582066 = r16582061 + r16582062;
        double r16582067 = 2.0;
        double r16582068 = r16582066 / r16582067;
        double r16582069 = M;
        double r16582070 = r16582068 - r16582069;
        double r16582071 = r16582070 * r16582070;
        double r16582072 = r16582065 + r16582071;
        double r16582073 = exp(r16582072);
        double r16582074 = r16582059 / r16582073;
        return r16582074;
}

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

    \[\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}{\frac{\cos \left(\frac{\left(m + n\right) \cdot K}{2} - M\right)}{e^{\left(\frac{m + n}{2} - M\right) \cdot \left(\frac{m + n}{2} - M\right) + \left(\ell - \left|m - n\right|\right)}}}\]
  3. Taylor expanded around 0 1.4

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

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

Reproduce

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