Average Error: 15.2 → 1.3
Time: 5.6s
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 r160726 = K;
        double r160727 = m;
        double r160728 = n;
        double r160729 = r160727 + r160728;
        double r160730 = r160726 * r160729;
        double r160731 = 2.0;
        double r160732 = r160730 / r160731;
        double r160733 = M;
        double r160734 = r160732 - r160733;
        double r160735 = cos(r160734);
        double r160736 = r160729 / r160731;
        double r160737 = r160736 - r160733;
        double r160738 = pow(r160737, r160731);
        double r160739 = -r160738;
        double r160740 = l;
        double r160741 = r160727 - r160728;
        double r160742 = fabs(r160741);
        double r160743 = r160740 - r160742;
        double r160744 = r160739 - r160743;
        double r160745 = exp(r160744);
        double r160746 = r160735 * r160745;
        return r160746;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r160747 = m;
        double r160748 = n;
        double r160749 = r160747 + r160748;
        double r160750 = 2.0;
        double r160751 = r160749 / r160750;
        double r160752 = M;
        double r160753 = r160751 - r160752;
        double r160754 = pow(r160753, r160750);
        double r160755 = -r160754;
        double r160756 = l;
        double r160757 = r160747 - r160748;
        double r160758 = fabs(r160757);
        double r160759 = r160756 - r160758;
        double r160760 = r160755 - r160759;
        double r160761 = exp(r160760);
        return r160761;
}

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

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

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

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

Reproduce

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