Average Error: 15.6 → 1.5
Time: 7.7s
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)}\]
\[{\left(e^{1}\right)}^{\left(0 - \left({\left(\frac{m + n}{2} - M\right)}^{2} + \left(\ell - \left|m - n\right|\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)}
{\left(e^{1}\right)}^{\left(0 - \left({\left(\frac{m + n}{2} - M\right)}^{2} + \left(\ell - \left|m - n\right|\right)\right)\right)}
double f(double K, double m, double n, double M, double l) {
        double r156700 = K;
        double r156701 = m;
        double r156702 = n;
        double r156703 = r156701 + r156702;
        double r156704 = r156700 * r156703;
        double r156705 = 2.0;
        double r156706 = r156704 / r156705;
        double r156707 = M;
        double r156708 = r156706 - r156707;
        double r156709 = cos(r156708);
        double r156710 = r156703 / r156705;
        double r156711 = r156710 - r156707;
        double r156712 = pow(r156711, r156705);
        double r156713 = -r156712;
        double r156714 = l;
        double r156715 = r156701 - r156702;
        double r156716 = fabs(r156715);
        double r156717 = r156714 - r156716;
        double r156718 = r156713 - r156717;
        double r156719 = exp(r156718);
        double r156720 = r156709 * r156719;
        return r156720;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r156721 = 1.0;
        double r156722 = exp(r156721);
        double r156723 = 0.0;
        double r156724 = m;
        double r156725 = n;
        double r156726 = r156724 + r156725;
        double r156727 = 2.0;
        double r156728 = r156726 / r156727;
        double r156729 = M;
        double r156730 = r156728 - r156729;
        double r156731 = pow(r156730, r156727);
        double r156732 = l;
        double r156733 = r156724 - r156725;
        double r156734 = fabs(r156733);
        double r156735 = r156732 - r156734;
        double r156736 = r156731 + r156735;
        double r156737 = r156723 - r156736;
        double r156738 = pow(r156722, r156737);
        return r156738;
}

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. Simplified15.6

    \[\leadsto \color{blue}{\frac{\cos \left(\frac{K \cdot \left(m + n\right)}{2} - M\right)}{e^{{\left(\frac{m + n}{2} - M\right)}^{2} + \left(\ell - \left|m - n\right|\right)}}}\]
  3. Taylor expanded around 0 1.5

    \[\leadsto \frac{\color{blue}{1}}{e^{{\left(\frac{m + n}{2} - M\right)}^{2} + \left(\ell - \left|m - n\right|\right)}}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity1.5

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

    \[\leadsto \frac{1}{\color{blue}{{\left(e^{1}\right)}^{\left({\left(\frac{m + n}{2} - M\right)}^{2} + \left(\ell - \left|m - n\right|\right)\right)}}}\]
  7. Applied pow-flip1.5

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

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

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

Reproduce

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