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 \left(\left({\left(\left(M \cdot D\right) \cdot \frac{1}{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 r233104 = w0;
double r233105 = 1.0;
double r233106 = M;
double r233107 = D;
double r233108 = r233106 * r233107;
double r233109 = 2.0;
double r233110 = d;
double r233111 = r233109 * r233110;
double r233112 = r233108 / r233111;
double r233113 = pow(r233112, r233109);
double r233114 = h;
double r233115 = l;
double r233116 = r233114 / r233115;
double r233117 = r233113 * r233116;
double r233118 = r233105 - r233117;
double r233119 = sqrt(r233118);
double r233120 = r233104 * r233119;
return r233120;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r233121 = w0;
double r233122 = 1.0;
double r233123 = 1.0;
double r233124 = 2.0;
double r233125 = d;
double r233126 = r233124 * r233125;
double r233127 = M;
double r233128 = D;
double r233129 = r233127 * r233128;
double r233130 = r233126 / r233129;
double r233131 = r233123 / r233130;
double r233132 = 2.0;
double r233133 = r233124 / r233132;
double r233134 = pow(r233131, r233133);
double r233135 = r233123 / r233126;
double r233136 = r233129 * r233135;
double r233137 = pow(r233136, r233133);
double r233138 = h;
double r233139 = r233137 * r233138;
double r233140 = l;
double r233141 = r233123 / r233140;
double r233142 = r233139 * r233141;
double r233143 = r233134 * r233142;
double r233144 = r233122 - r233143;
double r233145 = sqrt(r233144);
double r233146 = r233121 * r233145;
return r233146;
}



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.4
rmApplied sqr-pow14.4
Applied associate-*l*12.6
rmApplied div-inv12.6
Applied associate-*r*8.8
rmApplied clear-num8.8
rmApplied div-inv8.8
Final simplification8.8
herbie shell --seed 2019325 +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))))))