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(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\sqrt[3]{\ell}}}double f(double w0, double M, double D, double h, double l, double d) {
double r159096 = w0;
double r159097 = 1.0;
double r159098 = M;
double r159099 = D;
double r159100 = r159098 * r159099;
double r159101 = 2.0;
double r159102 = d;
double r159103 = r159101 * r159102;
double r159104 = r159100 / r159103;
double r159105 = pow(r159104, r159101);
double r159106 = h;
double r159107 = l;
double r159108 = r159106 / r159107;
double r159109 = r159105 * r159108;
double r159110 = r159097 - r159109;
double r159111 = sqrt(r159110);
double r159112 = r159096 * r159111;
return r159112;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r159113 = w0;
double r159114 = 1.0;
double r159115 = M;
double r159116 = D;
double r159117 = r159115 * r159116;
double r159118 = 2.0;
double r159119 = d;
double r159120 = r159118 * r159119;
double r159121 = r159117 / r159120;
double r159122 = 2.0;
double r159123 = r159118 / r159122;
double r159124 = pow(r159121, r159123);
double r159125 = l;
double r159126 = cbrt(r159125);
double r159127 = r159126 * r159126;
double r159128 = r159124 / r159127;
double r159129 = h;
double r159130 = r159124 * r159129;
double r159131 = r159130 / r159126;
double r159132 = r159128 * r159131;
double r159133 = r159114 - r159132;
double r159134 = sqrt(r159133);
double r159135 = r159113 * r159134;
return r159135;
}



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/10.9
rmApplied sqr-pow10.9
Applied associate-*l*9.3
rmApplied add-cube-cbrt9.4
Applied times-frac8.4
Final simplification8.4
herbie shell --seed 2019303 +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))))))