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



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