w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \frac{\left(\sqrt[3]{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}} \cdot \sqrt[3]{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}}\right) \cdot \left(\sqrt[3]{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}} \cdot h\right)}{\sqrt[3]{\ell}}}double f(double w0, double M, double D, double h, double l, double d) {
double r277663 = w0;
double r277664 = 1.0;
double r277665 = M;
double r277666 = D;
double r277667 = r277665 * r277666;
double r277668 = 2.0;
double r277669 = d;
double r277670 = r277668 * r277669;
double r277671 = r277667 / r277670;
double r277672 = pow(r277671, r277668);
double r277673 = h;
double r277674 = l;
double r277675 = r277673 / r277674;
double r277676 = r277672 * r277675;
double r277677 = r277664 - r277676;
double r277678 = sqrt(r277677);
double r277679 = r277663 * r277678;
return r277679;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r277680 = w0;
double r277681 = 1.0;
double r277682 = M;
double r277683 = D;
double r277684 = r277682 * r277683;
double r277685 = 2.0;
double r277686 = d;
double r277687 = r277685 * r277686;
double r277688 = r277684 / r277687;
double r277689 = 2.0;
double r277690 = r277685 / r277689;
double r277691 = pow(r277688, r277690);
double r277692 = l;
double r277693 = cbrt(r277692);
double r277694 = r277693 * r277693;
double r277695 = r277691 / r277694;
double r277696 = cbrt(r277691);
double r277697 = r277696 * r277696;
double r277698 = h;
double r277699 = r277696 * r277698;
double r277700 = r277697 * r277699;
double r277701 = r277700 / r277693;
double r277702 = r277695 * r277701;
double r277703 = r277681 - r277702;
double r277704 = sqrt(r277703);
double r277705 = r277680 * r277704;
return r277705;
}



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 14.1
rmApplied associate-*r/11.0
rmApplied sqr-pow11.0
Applied associate-*l*9.5
rmApplied add-cube-cbrt9.5
Applied times-frac8.6
rmApplied add-cube-cbrt8.6
Applied associate-*l*8.6
Final simplification8.6
herbie shell --seed 2020100
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
:precision binary64
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))