Average Error: 15.3 → 1.5
Time: 1.5m
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{n + m}{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{n + m}{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 r28247614 = K;
        double r28247615 = m;
        double r28247616 = n;
        double r28247617 = r28247615 + r28247616;
        double r28247618 = r28247614 * r28247617;
        double r28247619 = 2.0;
        double r28247620 = r28247618 / r28247619;
        double r28247621 = M;
        double r28247622 = r28247620 - r28247621;
        double r28247623 = cos(r28247622);
        double r28247624 = r28247617 / r28247619;
        double r28247625 = r28247624 - r28247621;
        double r28247626 = pow(r28247625, r28247619);
        double r28247627 = -r28247626;
        double r28247628 = l;
        double r28247629 = r28247615 - r28247616;
        double r28247630 = fabs(r28247629);
        double r28247631 = r28247628 - r28247630;
        double r28247632 = r28247627 - r28247631;
        double r28247633 = exp(r28247632);
        double r28247634 = r28247623 * r28247633;
        return r28247634;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r28247635 = exp(1.0);
        double r28247636 = n;
        double r28247637 = m;
        double r28247638 = r28247636 + r28247637;
        double r28247639 = 2.0;
        double r28247640 = r28247638 / r28247639;
        double r28247641 = M;
        double r28247642 = r28247640 - r28247641;
        double r28247643 = pow(r28247642, r28247639);
        double r28247644 = -r28247643;
        double r28247645 = l;
        double r28247646 = r28247637 - r28247636;
        double r28247647 = fabs(r28247646);
        double r28247648 = r28247645 - r28247647;
        double r28247649 = r28247644 - r28247648;
        double r28247650 = pow(r28247635, r28247649);
        return r28247650;
}

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

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

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

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

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

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

Reproduce

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