w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left(\sqrt[3]{\frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\ell}} \cdot \sqrt[3]{\frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\ell}}\right) \cdot \sqrt[3]{\frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\ell}}\right)}double f(double w0, double M, double D, double h, double l, double d) {
double r120674 = w0;
double r120675 = 1.0;
double r120676 = M;
double r120677 = D;
double r120678 = r120676 * r120677;
double r120679 = 2.0;
double r120680 = d;
double r120681 = r120679 * r120680;
double r120682 = r120678 / r120681;
double r120683 = pow(r120682, r120679);
double r120684 = h;
double r120685 = l;
double r120686 = r120684 / r120685;
double r120687 = r120683 * r120686;
double r120688 = r120675 - r120687;
double r120689 = sqrt(r120688);
double r120690 = r120674 * r120689;
return r120690;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r120691 = w0;
double r120692 = 1.0;
double r120693 = M;
double r120694 = D;
double r120695 = r120693 * r120694;
double r120696 = 2.0;
double r120697 = d;
double r120698 = r120696 * r120697;
double r120699 = r120695 / r120698;
double r120700 = 2.0;
double r120701 = r120696 / r120700;
double r120702 = pow(r120699, r120701);
double r120703 = h;
double r120704 = r120702 * r120703;
double r120705 = l;
double r120706 = r120704 / r120705;
double r120707 = cbrt(r120706);
double r120708 = r120707 * r120707;
double r120709 = r120708 * r120707;
double r120710 = r120702 * r120709;
double r120711 = r120692 - r120710;
double r120712 = sqrt(r120711);
double r120713 = r120691 * r120712;
return r120713;
}



Bits error versus w0



Bits error versus M



Bits error versus D



Bits error versus h



Bits error versus l



Bits error versus d
Results
Initial program 13.7
rmApplied associate-*r/10.5
rmApplied sqr-pow10.5
Applied associate-*l*8.9
rmApplied *-un-lft-identity8.9
Applied times-frac8.1
Simplified8.1
rmApplied add-cube-cbrt8.1
Final simplification8.1
herbie shell --seed 2019195
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1.0 (* (pow (/ (* M D) (* 2.0 d)) 2.0) (/ h l))))))