\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)}\left(\sqrt[3]{e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}} \cdot \sqrt[3]{\left(\sqrt[3]{e^{\left|m - n\right| - \left({\left(\frac{m + n}{2} - M\right)}^{2} + \ell\right)}} \cdot \sqrt[3]{e^{\left|m - n\right| - \left({\left(\frac{m + n}{2} - M\right)}^{2} + \ell\right)}}\right) \cdot \sqrt[3]{e^{\left|m - n\right| - \left({\left(\frac{m + n}{2} - M\right)}^{2} + \ell\right)}}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{e^{\left|m - n\right| - \left({\left(\frac{m + n}{2} - M\right)}^{2} + \ell\right)}} \cdot \sqrt[3]{e^{\left|m - n\right| - \left({\left(\frac{m + n}{2} - M\right)}^{2} + \ell\right)}}} \cdot \sqrt[3]{\sqrt[3]{e^{\left|m - n\right| - \left({\left(\frac{m + n}{2} - M\right)}^{2} + \ell\right)}}}\right)double f(double K, double m, double n, double M, double l) {
double r71612 = K;
double r71613 = m;
double r71614 = n;
double r71615 = r71613 + r71614;
double r71616 = r71612 * r71615;
double r71617 = 2.0;
double r71618 = r71616 / r71617;
double r71619 = M;
double r71620 = r71618 - r71619;
double r71621 = cos(r71620);
double r71622 = r71615 / r71617;
double r71623 = r71622 - r71619;
double r71624 = pow(r71623, r71617);
double r71625 = -r71624;
double r71626 = l;
double r71627 = r71613 - r71614;
double r71628 = fabs(r71627);
double r71629 = r71626 - r71628;
double r71630 = r71625 - r71629;
double r71631 = exp(r71630);
double r71632 = r71621 * r71631;
return r71632;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r71633 = m;
double r71634 = n;
double r71635 = r71633 + r71634;
double r71636 = 2.0;
double r71637 = r71635 / r71636;
double r71638 = M;
double r71639 = r71637 - r71638;
double r71640 = pow(r71639, r71636);
double r71641 = -r71640;
double r71642 = l;
double r71643 = r71633 - r71634;
double r71644 = fabs(r71643);
double r71645 = r71642 - r71644;
double r71646 = r71641 - r71645;
double r71647 = exp(r71646);
double r71648 = cbrt(r71647);
double r71649 = r71640 + r71642;
double r71650 = r71644 - r71649;
double r71651 = exp(r71650);
double r71652 = cbrt(r71651);
double r71653 = r71652 * r71652;
double r71654 = r71653 * r71652;
double r71655 = cbrt(r71654);
double r71656 = r71648 * r71655;
double r71657 = cbrt(r71653);
double r71658 = cbrt(r71652);
double r71659 = r71657 * r71658;
double r71660 = r71656 * r71659;
return r71660;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Results
Initial program 14.7
Taylor expanded around 0 1.2
rmApplied add-cube-cbrt1.2
rmApplied add-cube-cbrt1.2
Applied cbrt-prod1.2
Simplified1.2
Simplified1.2
rmApplied add-cube-cbrt1.2
Simplified1.2
Simplified1.2
Final simplification1.2
herbie shell --seed 2019195
(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)))))))