w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\begin{array}{l}
\mathbf{if}\;1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell} \le 1.03569031681836787 \cdot 10^{292}:\\
\;\;\;\;w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{h}{\ell}\right)}\\
\mathbf{else}:\\
\;\;\;\;w0 \cdot \sqrt{1 - \frac{{\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{M}{2} \cdot \frac{D}{d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right)}{\ell}}\\
\end{array}double f(double w0, double M, double D, double h, double l, double d) {
double r228614 = w0;
double r228615 = 1.0;
double r228616 = M;
double r228617 = D;
double r228618 = r228616 * r228617;
double r228619 = 2.0;
double r228620 = d;
double r228621 = r228619 * r228620;
double r228622 = r228618 / r228621;
double r228623 = pow(r228622, r228619);
double r228624 = h;
double r228625 = l;
double r228626 = r228624 / r228625;
double r228627 = r228623 * r228626;
double r228628 = r228615 - r228627;
double r228629 = sqrt(r228628);
double r228630 = r228614 * r228629;
return r228630;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r228631 = 1.0;
double r228632 = M;
double r228633 = D;
double r228634 = r228632 * r228633;
double r228635 = 2.0;
double r228636 = d;
double r228637 = r228635 * r228636;
double r228638 = r228634 / r228637;
double r228639 = pow(r228638, r228635);
double r228640 = h;
double r228641 = l;
double r228642 = r228640 / r228641;
double r228643 = r228639 * r228642;
double r228644 = r228631 - r228643;
double r228645 = 1.0356903168183679e+292;
bool r228646 = r228644 <= r228645;
double r228647 = w0;
double r228648 = 2.0;
double r228649 = r228635 / r228648;
double r228650 = pow(r228638, r228649);
double r228651 = r228650 * r228642;
double r228652 = r228650 * r228651;
double r228653 = r228631 - r228652;
double r228654 = sqrt(r228653);
double r228655 = r228647 * r228654;
double r228656 = r228632 / r228635;
double r228657 = r228633 / r228636;
double r228658 = r228656 * r228657;
double r228659 = pow(r228658, r228649);
double r228660 = r228659 * r228640;
double r228661 = r228659 * r228660;
double r228662 = r228661 / r228641;
double r228663 = r228631 - r228662;
double r228664 = sqrt(r228663);
double r228665 = r228647 * r228664;
double r228666 = r228646 ? r228655 : r228665;
return r228666;
}



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 (- 1.0 (* (pow (/ (* M D) (* 2.0 d)) 2.0) (/ h l))) < 1.0356903168183679e+292Initial program 0.2
rmApplied sqr-pow0.2
Applied associate-*l*0.2
if 1.0356903168183679e+292 < (- 1.0 (* (pow (/ (* M D) (* 2.0 d)) 2.0) (/ h l))) Initial program 63.4
rmApplied associate-*r/45.7
rmApplied times-frac44.1
rmApplied sqr-pow44.1
Applied associate-*l*37.2
Final simplification8.4
herbie shell --seed 2020083
(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))))))