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 \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\ell}}double f(double w0, double M, double D, double h, double l, double d) {
double r113993 = w0;
double r113994 = 1.0;
double r113995 = M;
double r113996 = D;
double r113997 = r113995 * r113996;
double r113998 = 2.0;
double r113999 = d;
double r114000 = r113998 * r113999;
double r114001 = r113997 / r114000;
double r114002 = pow(r114001, r113998);
double r114003 = h;
double r114004 = l;
double r114005 = r114003 / r114004;
double r114006 = r114002 * r114005;
double r114007 = r113994 - r114006;
double r114008 = sqrt(r114007);
double r114009 = r113993 * r114008;
return r114009;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r114010 = w0;
double r114011 = 1.0;
double r114012 = M;
double r114013 = D;
double r114014 = r114012 * r114013;
double r114015 = 2.0;
double r114016 = d;
double r114017 = r114015 * r114016;
double r114018 = r114014 / r114017;
double r114019 = 2.0;
double r114020 = r114015 / r114019;
double r114021 = pow(r114018, r114020);
double r114022 = h;
double r114023 = r114021 * r114022;
double r114024 = l;
double r114025 = r114023 / r114024;
double r114026 = r114021 * r114025;
double r114027 = r114011 - r114026;
double r114028 = sqrt(r114027);
double r114029 = r114010 * r114028;
return r114029;
}



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.5
rmApplied *-un-lft-identity9.5
Applied times-frac8.9
Simplified8.9
Final simplification8.9
herbie shell --seed 2020045
(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))))))