Average Error: 15.8 → 1.4
Time: 13.2s
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 r146724 = K;
        double r146725 = m;
        double r146726 = n;
        double r146727 = r146725 + r146726;
        double r146728 = r146724 * r146727;
        double r146729 = 2.0;
        double r146730 = r146728 / r146729;
        double r146731 = M;
        double r146732 = r146730 - r146731;
        double r146733 = cos(r146732);
        double r146734 = r146727 / r146729;
        double r146735 = r146734 - r146731;
        double r146736 = pow(r146735, r146729);
        double r146737 = -r146736;
        double r146738 = l;
        double r146739 = r146725 - r146726;
        double r146740 = fabs(r146739);
        double r146741 = r146738 - r146740;
        double r146742 = r146737 - r146741;
        double r146743 = exp(r146742);
        double r146744 = r146733 * r146743;
        return r146744;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r146745 = m;
        double r146746 = n;
        double r146747 = r146745 + r146746;
        double r146748 = 2.0;
        double r146749 = r146747 / r146748;
        double r146750 = M;
        double r146751 = r146749 - r146750;
        double r146752 = pow(r146751, r146748);
        double r146753 = -r146752;
        double r146754 = l;
        double r146755 = r146745 - r146746;
        double r146756 = fabs(r146755);
        double r146757 = r146754 - r146756;
        double r146758 = r146753 - r146757;
        double r146759 = exp(r146758);
        return r146759;
}

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.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.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 2020045 
(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)))))))