Average Error: 15.3 → 1.4
Time: 34.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(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\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(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)\right)}
double f(double K, double m, double n, double M, double l) {
        double r91553 = K;
        double r91554 = m;
        double r91555 = n;
        double r91556 = r91554 + r91555;
        double r91557 = r91553 * r91556;
        double r91558 = 2.0;
        double r91559 = r91557 / r91558;
        double r91560 = M;
        double r91561 = r91559 - r91560;
        double r91562 = cos(r91561);
        double r91563 = r91556 / r91558;
        double r91564 = r91563 - r91560;
        double r91565 = pow(r91564, r91558);
        double r91566 = -r91565;
        double r91567 = l;
        double r91568 = r91554 - r91555;
        double r91569 = fabs(r91568);
        double r91570 = r91567 - r91569;
        double r91571 = r91566 - r91570;
        double r91572 = exp(r91571);
        double r91573 = r91562 * r91572;
        return r91573;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r91574 = exp(1.0);
        double r91575 = m;
        double r91576 = n;
        double r91577 = r91575 + r91576;
        double r91578 = 2.0;
        double r91579 = r91577 / r91578;
        double r91580 = M;
        double r91581 = r91579 - r91580;
        double r91582 = pow(r91581, r91578);
        double r91583 = -r91582;
        double r91584 = l;
        double r91585 = r91575 - r91576;
        double r91586 = fabs(r91585);
        double r91587 = r91584 - r91586;
        double r91588 = r91583 - r91587;
        double r91589 = pow(r91574, r91588);
        return r91589;
}

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. 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. Using strategy rm
  4. Applied *-un-lft-identity1.4

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

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

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

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

Reproduce

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