\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;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Results
Initial program 15.6
Simplified15.6
Taylor expanded around 0 1.4
rmApplied *-un-lft-identity1.4
Applied exp-prod1.4
Simplified1.4
Final simplification1.4
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)))))))