Average Error: 15.6 → 1.4
Time: 5.5s
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 r112003 = K;
        double r112004 = m;
        double r112005 = n;
        double r112006 = r112004 + r112005;
        double r112007 = r112003 * r112006;
        double r112008 = 2.0;
        double r112009 = r112007 / r112008;
        double r112010 = M;
        double r112011 = r112009 - r112010;
        double r112012 = cos(r112011);
        double r112013 = r112006 / r112008;
        double r112014 = r112013 - r112010;
        double r112015 = pow(r112014, r112008);
        double r112016 = -r112015;
        double r112017 = l;
        double r112018 = r112004 - r112005;
        double r112019 = fabs(r112018);
        double r112020 = r112017 - r112019;
        double r112021 = r112016 - r112020;
        double r112022 = exp(r112021);
        double r112023 = r112012 * r112022;
        return r112023;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r112024 = m;
        double r112025 = n;
        double r112026 = r112024 + r112025;
        double r112027 = 2.0;
        double r112028 = r112026 / r112027;
        double r112029 = M;
        double r112030 = r112028 - r112029;
        double r112031 = pow(r112030, r112027);
        double r112032 = -r112031;
        double r112033 = l;
        double r112034 = r112024 - r112025;
        double r112035 = fabs(r112034);
        double r112036 = r112033 - r112035;
        double r112037 = r112032 - r112036;
        double r112038 = exp(r112037);
        return r112038;
}

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.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. Taylor expanded around 0 1.4

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

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

Reproduce

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