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)} \cdot \left(\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\sqrt[3]{h} \cdot \sqrt[3]{h}\right)\right) \cdot \sqrt[3]{h}\right)}{\ell}}double f(double w0, double M, double D, double h, double l, double d) {
double r163624 = w0;
double r163625 = 1.0;
double r163626 = M;
double r163627 = D;
double r163628 = r163626 * r163627;
double r163629 = 2.0;
double r163630 = d;
double r163631 = r163629 * r163630;
double r163632 = r163628 / r163631;
double r163633 = pow(r163632, r163629);
double r163634 = h;
double r163635 = l;
double r163636 = r163634 / r163635;
double r163637 = r163633 * r163636;
double r163638 = r163625 - r163637;
double r163639 = sqrt(r163638);
double r163640 = r163624 * r163639;
return r163640;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r163641 = w0;
double r163642 = 1.0;
double r163643 = M;
double r163644 = D;
double r163645 = r163643 * r163644;
double r163646 = 2.0;
double r163647 = d;
double r163648 = r163646 * r163647;
double r163649 = r163645 / r163648;
double r163650 = 2.0;
double r163651 = r163646 / r163650;
double r163652 = pow(r163649, r163651);
double r163653 = h;
double r163654 = cbrt(r163653);
double r163655 = r163654 * r163654;
double r163656 = r163652 * r163655;
double r163657 = r163656 * r163654;
double r163658 = r163652 * r163657;
double r163659 = l;
double r163660 = r163658 / r163659;
double r163661 = r163642 - r163660;
double r163662 = sqrt(r163661);
double r163663 = r163641 * r163662;
return r163663;
}



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.5
rmApplied associate-*r/11.0
rmApplied sqr-pow11.0
Applied associate-*l*9.6
rmApplied add-cube-cbrt9.6
Applied associate-*r*9.6
Final simplification9.6
herbie shell --seed 2020060 +o rules:numerics
(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))))))