\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(\sqrt[3]{\sqrt[3]{{\left(\frac{m + n}{2} - M\right)}^{2}} \cdot \sqrt[3]{{\left(\frac{m + n}{2} - M\right)}^{2}}} \cdot \sqrt[3]{\sqrt[3]{{\left(\frac{m + n}{2} - M\right)}^{2}} \cdot \sqrt[3]{{\left(\frac{m + n}{2} - M\right)}^{2}}}\right) \cdot \sqrt[3]{\sqrt[3]{{\left(\frac{m + n}{2} - M\right)}^{2}} \cdot \sqrt[3]{{\left(\frac{m + n}{2} - M\right)}^{2}}}\right) \cdot \left(\sqrt[3]{{\left(\sqrt[3]{\frac{m + n}{2} - M} \cdot \sqrt[3]{\frac{m + n}{2} - M}\right)}^{2}} \cdot \sqrt[3]{{\left(\sqrt[3]{\frac{m + n}{2} - M}\right)}^{2}}\right)\right) - \left(\ell - \left|m - n\right|\right)}double f(double K, double m, double n, double M, double l) {
double r119623 = K;
double r119624 = m;
double r119625 = n;
double r119626 = r119624 + r119625;
double r119627 = r119623 * r119626;
double r119628 = 2.0;
double r119629 = r119627 / r119628;
double r119630 = M;
double r119631 = r119629 - r119630;
double r119632 = cos(r119631);
double r119633 = r119626 / r119628;
double r119634 = r119633 - r119630;
double r119635 = pow(r119634, r119628);
double r119636 = -r119635;
double r119637 = l;
double r119638 = r119624 - r119625;
double r119639 = fabs(r119638);
double r119640 = r119637 - r119639;
double r119641 = r119636 - r119640;
double r119642 = exp(r119641);
double r119643 = r119632 * r119642;
return r119643;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r119644 = m;
double r119645 = n;
double r119646 = r119644 + r119645;
double r119647 = 2.0;
double r119648 = r119646 / r119647;
double r119649 = M;
double r119650 = r119648 - r119649;
double r119651 = pow(r119650, r119647);
double r119652 = cbrt(r119651);
double r119653 = r119652 * r119652;
double r119654 = cbrt(r119653);
double r119655 = r119654 * r119654;
double r119656 = r119655 * r119654;
double r119657 = cbrt(r119650);
double r119658 = r119657 * r119657;
double r119659 = pow(r119658, r119647);
double r119660 = cbrt(r119659);
double r119661 = pow(r119657, r119647);
double r119662 = cbrt(r119661);
double r119663 = r119660 * r119662;
double r119664 = r119656 * r119663;
double r119665 = -r119664;
double r119666 = l;
double r119667 = r119644 - r119645;
double r119668 = fabs(r119667);
double r119669 = r119666 - r119668;
double r119670 = r119665 - r119669;
double r119671 = exp(r119670);
return r119671;
}



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.2
rmApplied add-cube-cbrt1.2
rmApplied add-cube-cbrt1.2
rmApplied add-cube-cbrt1.2
Applied unpow-prod-down1.2
Applied cbrt-prod1.2
Final simplification1.2
herbie shell --seed 2020001
(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)))))))