w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\begin{array}{l}
\mathbf{if}\;{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \le 3.714656130753052848700417977007998008265 \cdot 10^{271}:\\
\;\;\;\;w0 \cdot \sqrt{1 - \left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot h\right) \cdot \frac{1}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{1} \cdot w0\\
\end{array}double f(double w0, double M, double D, double h, double l, double d) {
double r255102 = w0;
double r255103 = 1.0;
double r255104 = M;
double r255105 = D;
double r255106 = r255104 * r255105;
double r255107 = 2.0;
double r255108 = d;
double r255109 = r255107 * r255108;
double r255110 = r255106 / r255109;
double r255111 = pow(r255110, r255107);
double r255112 = h;
double r255113 = l;
double r255114 = r255112 / r255113;
double r255115 = r255111 * r255114;
double r255116 = r255103 - r255115;
double r255117 = sqrt(r255116);
double r255118 = r255102 * r255117;
return r255118;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r255119 = M;
double r255120 = D;
double r255121 = r255119 * r255120;
double r255122 = 2.0;
double r255123 = d;
double r255124 = r255122 * r255123;
double r255125 = r255121 / r255124;
double r255126 = pow(r255125, r255122);
double r255127 = 3.714656130753053e+271;
bool r255128 = r255126 <= r255127;
double r255129 = w0;
double r255130 = 1.0;
double r255131 = h;
double r255132 = r255126 * r255131;
double r255133 = 1.0;
double r255134 = l;
double r255135 = r255133 / r255134;
double r255136 = r255132 * r255135;
double r255137 = r255130 - r255136;
double r255138 = sqrt(r255137);
double r255139 = r255129 * r255138;
double r255140 = sqrt(r255130);
double r255141 = r255140 * r255129;
double r255142 = r255128 ? r255139 : r255141;
return r255142;
}



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
if (pow (/ (* M D) (* 2.0 d)) 2.0) < 3.714656130753053e+271Initial program 6.7
rmApplied div-inv6.7
Applied associate-*r*2.6
if 3.714656130753053e+271 < (pow (/ (* M D) (* 2.0 d)) 2.0) Initial program 59.9
Taylor expanded around 0 52.4
Final simplification9.5
herbie shell --seed 2019352
(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))))))