\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 r122071 = K;
double r122072 = m;
double r122073 = n;
double r122074 = r122072 + r122073;
double r122075 = r122071 * r122074;
double r122076 = 2.0;
double r122077 = r122075 / r122076;
double r122078 = M;
double r122079 = r122077 - r122078;
double r122080 = cos(r122079);
double r122081 = r122074 / r122076;
double r122082 = r122081 - r122078;
double r122083 = pow(r122082, r122076);
double r122084 = -r122083;
double r122085 = l;
double r122086 = r122072 - r122073;
double r122087 = fabs(r122086);
double r122088 = r122085 - r122087;
double r122089 = r122084 - r122088;
double r122090 = exp(r122089);
double r122091 = r122080 * r122090;
return r122091;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r122092 = m;
double r122093 = n;
double r122094 = r122092 + r122093;
double r122095 = 2.0;
double r122096 = r122094 / r122095;
double r122097 = M;
double r122098 = r122096 - r122097;
double r122099 = pow(r122098, r122095);
double r122100 = cbrt(r122099);
double r122101 = r122100 * r122100;
double r122102 = cbrt(r122101);
double r122103 = r122102 * r122102;
double r122104 = r122103 * r122102;
double r122105 = cbrt(r122098);
double r122106 = r122105 * r122105;
double r122107 = pow(r122106, r122095);
double r122108 = cbrt(r122107);
double r122109 = pow(r122105, r122095);
double r122110 = cbrt(r122109);
double r122111 = r122108 * r122110;
double r122112 = r122104 * r122111;
double r122113 = -r122112;
double r122114 = l;
double r122115 = r122092 - r122093;
double r122116 = fabs(r122115);
double r122117 = r122114 - r122116;
double r122118 = r122113 - r122117;
double r122119 = exp(r122118);
return r122119;
}



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)))))))