\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(\frac{n + m}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)\right)}double f(double K, double m, double n, double M, double l) {
double r115153 = K;
double r115154 = m;
double r115155 = n;
double r115156 = r115154 + r115155;
double r115157 = r115153 * r115156;
double r115158 = 2.0;
double r115159 = r115157 / r115158;
double r115160 = M;
double r115161 = r115159 - r115160;
double r115162 = cos(r115161);
double r115163 = r115156 / r115158;
double r115164 = r115163 - r115160;
double r115165 = pow(r115164, r115158);
double r115166 = -r115165;
double r115167 = l;
double r115168 = r115154 - r115155;
double r115169 = fabs(r115168);
double r115170 = r115167 - r115169;
double r115171 = r115166 - r115170;
double r115172 = exp(r115171);
double r115173 = r115162 * r115172;
return r115173;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r115174 = exp(1.0);
double r115175 = n;
double r115176 = m;
double r115177 = r115175 + r115176;
double r115178 = 2.0;
double r115179 = r115177 / r115178;
double r115180 = M;
double r115181 = r115179 - r115180;
double r115182 = pow(r115181, r115178);
double r115183 = -r115182;
double r115184 = l;
double r115185 = r115176 - r115175;
double r115186 = fabs(r115185);
double r115187 = r115184 - r115186;
double r115188 = r115183 - r115187;
double r115189 = pow(r115174, r115188);
return r115189;
}



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
Taylor expanded around 0 1.4
rmApplied *-un-lft-identity1.4
Applied exp-prod1.4
Simplified1.4
Final simplification1.4
herbie shell --seed 2019174
(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)))))))