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({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right) \cdot \frac{1}{\ell}\right)}double f(double w0, double M, double D, double h, double l, double d) {
double r212985 = w0;
double r212986 = 1.0;
double r212987 = M;
double r212988 = D;
double r212989 = r212987 * r212988;
double r212990 = 2.0;
double r212991 = d;
double r212992 = r212990 * r212991;
double r212993 = r212989 / r212992;
double r212994 = pow(r212993, r212990);
double r212995 = h;
double r212996 = l;
double r212997 = r212995 / r212996;
double r212998 = r212994 * r212997;
double r212999 = r212986 - r212998;
double r213000 = sqrt(r212999);
double r213001 = r212985 * r213000;
return r213001;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r213002 = w0;
double r213003 = 1.0;
double r213004 = M;
double r213005 = D;
double r213006 = r213004 * r213005;
double r213007 = 2.0;
double r213008 = d;
double r213009 = r213007 * r213008;
double r213010 = r213006 / r213009;
double r213011 = 2.0;
double r213012 = r213007 / r213011;
double r213013 = pow(r213010, r213012);
double r213014 = h;
double r213015 = r213013 * r213014;
double r213016 = 1.0;
double r213017 = l;
double r213018 = r213016 / r213017;
double r213019 = r213015 * r213018;
double r213020 = r213013 * r213019;
double r213021 = r213003 - r213020;
double r213022 = sqrt(r213021);
double r213023 = r213002 * r213022;
return r213023;
}



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.9
rmApplied sqr-pow13.9
Applied associate-*l*12.7
rmApplied div-inv12.7
Applied associate-*r*8.7
Final simplification8.7
herbie shell --seed 2019354
(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))))))