w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - {\left(\frac{1}{\frac{2 \cdot d}{M \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 r211848 = w0;
double r211849 = 1.0;
double r211850 = M;
double r211851 = D;
double r211852 = r211850 * r211851;
double r211853 = 2.0;
double r211854 = d;
double r211855 = r211853 * r211854;
double r211856 = r211852 / r211855;
double r211857 = pow(r211856, r211853);
double r211858 = h;
double r211859 = l;
double r211860 = r211858 / r211859;
double r211861 = r211857 * r211860;
double r211862 = r211849 - r211861;
double r211863 = sqrt(r211862);
double r211864 = r211848 * r211863;
return r211864;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r211865 = w0;
double r211866 = 1.0;
double r211867 = 1.0;
double r211868 = 2.0;
double r211869 = d;
double r211870 = r211868 * r211869;
double r211871 = M;
double r211872 = D;
double r211873 = r211871 * r211872;
double r211874 = r211870 / r211873;
double r211875 = r211867 / r211874;
double r211876 = 2.0;
double r211877 = r211868 / r211876;
double r211878 = pow(r211875, r211877);
double r211879 = r211873 / r211870;
double r211880 = pow(r211879, r211877);
double r211881 = h;
double r211882 = r211880 * r211881;
double r211883 = l;
double r211884 = r211882 / r211883;
double r211885 = r211878 * r211884;
double r211886 = r211866 - r211885;
double r211887 = sqrt(r211886);
double r211888 = r211865 * r211887;
return r211888;
}



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.0
rmApplied associate-*r/10.7
rmApplied sqr-pow10.7
Applied associate-*l*9.2
rmApplied *-un-lft-identity9.2
Applied times-frac8.7
Simplified8.7
rmApplied clear-num8.7
Final simplification8.7
herbie shell --seed 2019346 +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))))))