\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^{\mathsf{fma}\left(-\sqrt[3]{{\left(\frac{m + n}{2} - M\right)}^{2}} \cdot \sqrt[3]{{\left(\frac{m + n}{2} - M\right)}^{2}}, \sqrt[3]{{\left(\frac{m + n}{2} - M\right)}^{2}}, -\left(\ell - \left|m - n\right|\right)\right)}double f(double K, double m, double n, double M, double l) {
double r170298 = K;
double r170299 = m;
double r170300 = n;
double r170301 = r170299 + r170300;
double r170302 = r170298 * r170301;
double r170303 = 2.0;
double r170304 = r170302 / r170303;
double r170305 = M;
double r170306 = r170304 - r170305;
double r170307 = cos(r170306);
double r170308 = r170301 / r170303;
double r170309 = r170308 - r170305;
double r170310 = pow(r170309, r170303);
double r170311 = -r170310;
double r170312 = l;
double r170313 = r170299 - r170300;
double r170314 = fabs(r170313);
double r170315 = r170312 - r170314;
double r170316 = r170311 - r170315;
double r170317 = exp(r170316);
double r170318 = r170307 * r170317;
return r170318;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r170319 = m;
double r170320 = n;
double r170321 = r170319 + r170320;
double r170322 = 2.0;
double r170323 = r170321 / r170322;
double r170324 = M;
double r170325 = r170323 - r170324;
double r170326 = pow(r170325, r170322);
double r170327 = cbrt(r170326);
double r170328 = r170327 * r170327;
double r170329 = -r170328;
double r170330 = l;
double r170331 = r170319 - r170320;
double r170332 = fabs(r170331);
double r170333 = r170330 - r170332;
double r170334 = -r170333;
double r170335 = fma(r170329, r170327, r170334);
double r170336 = exp(r170335);
return r170336;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Initial program 15.2
Taylor expanded around 0 1.2
rmApplied add-cube-cbrt1.2
Applied distribute-lft-neg-in1.2
Applied fma-neg1.2
Final simplification1.2
herbie shell --seed 2019346 +o rules:numerics
(FPCore (K m n M l)
:name "Maksimov and Kolovsky, Equation (32)"
:precision binary64
(* (cos (- (/ (* K (+ m n)) 2) M)) (exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))))