Average Error: 15.6 → 1.4
Time: 30.8s
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 r4729812 = K;
        double r4729813 = m;
        double r4729814 = n;
        double r4729815 = r4729813 + r4729814;
        double r4729816 = r4729812 * r4729815;
        double r4729817 = 2.0;
        double r4729818 = r4729816 / r4729817;
        double r4729819 = M;
        double r4729820 = r4729818 - r4729819;
        double r4729821 = cos(r4729820);
        double r4729822 = r4729815 / r4729817;
        double r4729823 = r4729822 - r4729819;
        double r4729824 = pow(r4729823, r4729817);
        double r4729825 = -r4729824;
        double r4729826 = l;
        double r4729827 = r4729813 - r4729814;
        double r4729828 = fabs(r4729827);
        double r4729829 = r4729826 - r4729828;
        double r4729830 = r4729825 - r4729829;
        double r4729831 = exp(r4729830);
        double r4729832 = r4729821 * r4729831;
        return r4729832;
}

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

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)))))))