Average Error: 15.6 → 1.4
Time: 31.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(\left|m - n\right| - \ell\right) - {\left(\frac{n + m}{2} - M\right)}^{2}\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|m - n\right| - \ell\right) - {\left(\frac{n + m}{2} - M\right)}^{2}\right)}
double f(double K, double m, double n, double M, double l) {
        double r4729810 = K;
        double r4729811 = m;
        double r4729812 = n;
        double r4729813 = r4729811 + r4729812;
        double r4729814 = r4729810 * r4729813;
        double r4729815 = 2.0;
        double r4729816 = r4729814 / r4729815;
        double r4729817 = M;
        double r4729818 = r4729816 - r4729817;
        double r4729819 = cos(r4729818);
        double r4729820 = r4729813 / r4729815;
        double r4729821 = r4729820 - r4729817;
        double r4729822 = pow(r4729821, r4729815);
        double r4729823 = -r4729822;
        double r4729824 = l;
        double r4729825 = r4729811 - r4729812;
        double r4729826 = fabs(r4729825);
        double r4729827 = r4729824 - r4729826;
        double r4729828 = r4729823 - r4729827;
        double r4729829 = exp(r4729828);
        double r4729830 = r4729819 * r4729829;
        return r4729830;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r4729831 = exp(1.0);
        double r4729832 = m;
        double r4729833 = n;
        double r4729834 = r4729832 - r4729833;
        double r4729835 = fabs(r4729834);
        double r4729836 = l;
        double r4729837 = r4729835 - r4729836;
        double r4729838 = r4729833 + r4729832;
        double r4729839 = 2.0;
        double r4729840 = r4729838 / r4729839;
        double r4729841 = M;
        double r4729842 = r4729840 - r4729841;
        double r4729843 = pow(r4729842, r4729839);
        double r4729844 = r4729837 - r4729843;
        double r4729845 = pow(r4729831, r4729844);
        return r4729845;
}

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}{\cos \left(\left(m + n\right) \cdot \frac{K}{2} - M\right) \cdot e^{\left(\left|m - n\right| - \ell\right) - {\left(\frac{m + n}{2} - M\right)}^{2}}}\]
  3. Taylor expanded around 0 1.4

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

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

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

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

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

Reproduce

herbie shell --seed 2019172 
(FPCore (K m n M l)
  :name "Maksimov and Kolovsky, Equation (32)"
  (* (cos (- (/ (* K (+ m n)) 2.0) M)) (exp (- (- (pow (- (/ (+ m n) 2.0) M) 2.0)) (- l (fabs (- m n)))))))