\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|m - n\right| - \mathsf{fma}\left(\left(\frac{m + n}{2} - M\right), \left(\frac{m + n}{2} - M\right), \ell\right)\right)}double f(double K, double m, double n, double M, double l) {
double r1725680 = K;
double r1725681 = m;
double r1725682 = n;
double r1725683 = r1725681 + r1725682;
double r1725684 = r1725680 * r1725683;
double r1725685 = 2.0;
double r1725686 = r1725684 / r1725685;
double r1725687 = M;
double r1725688 = r1725686 - r1725687;
double r1725689 = cos(r1725688);
double r1725690 = r1725683 / r1725685;
double r1725691 = r1725690 - r1725687;
double r1725692 = pow(r1725691, r1725685);
double r1725693 = -r1725692;
double r1725694 = l;
double r1725695 = r1725681 - r1725682;
double r1725696 = fabs(r1725695);
double r1725697 = r1725694 - r1725696;
double r1725698 = r1725693 - r1725697;
double r1725699 = exp(r1725698);
double r1725700 = r1725689 * r1725699;
return r1725700;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r1725701 = exp(1.0);
double r1725702 = m;
double r1725703 = n;
double r1725704 = r1725702 - r1725703;
double r1725705 = fabs(r1725704);
double r1725706 = r1725702 + r1725703;
double r1725707 = 2.0;
double r1725708 = r1725706 / r1725707;
double r1725709 = M;
double r1725710 = r1725708 - r1725709;
double r1725711 = l;
double r1725712 = fma(r1725710, r1725710, r1725711);
double r1725713 = r1725705 - r1725712;
double r1725714 = pow(r1725701, r1725713);
return r1725714;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Initial program 15.3
Simplified15.2
Taylor expanded around 0 1.5
rmApplied *-un-lft-identity1.5
Applied exp-prod1.5
Simplified1.5
Final simplification1.5
herbie shell --seed 2019128 +o rules:numerics
(FPCore (K m n M l)
:name "Maksimov and Kolovsky, Equation (32)"
(* (cos (- (/ (* K (+ m n)) 2) M)) (exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))))