c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell = -\infty:\\
\;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le -3.040558777379324109381380700041437977209 \cdot 10^{-218}:\\
\;\;\;\;\sqrt{\frac{1}{V \cdot \ell} \cdot A} \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le 7.375757807070217284048742538091816401626 \cdot 10^{-319}:\\
\;\;\;\;\left(\sqrt{\frac{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right) \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le 2.336051817442314793904355180504260870482 \cdot 10^{285}:\\
\;\;\;\;\frac{c0 \cdot \sqrt{A}}{\sqrt{V \cdot \ell}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\
\end{array}double f(double c0, double A, double V, double l) {
double r6091990 = c0;
double r6091991 = A;
double r6091992 = V;
double r6091993 = l;
double r6091994 = r6091992 * r6091993;
double r6091995 = r6091991 / r6091994;
double r6091996 = sqrt(r6091995);
double r6091997 = r6091990 * r6091996;
return r6091997;
}
double f(double c0, double A, double V, double l) {
double r6091998 = V;
double r6091999 = l;
double r6092000 = r6091998 * r6091999;
double r6092001 = -inf.0;
bool r6092002 = r6092000 <= r6092001;
double r6092003 = A;
double r6092004 = r6092003 / r6091998;
double r6092005 = r6092004 / r6091999;
double r6092006 = sqrt(r6092005);
double r6092007 = c0;
double r6092008 = r6092006 * r6092007;
double r6092009 = -3.040558777379324e-218;
bool r6092010 = r6092000 <= r6092009;
double r6092011 = 1.0;
double r6092012 = r6092011 / r6092000;
double r6092013 = r6092012 * r6092003;
double r6092014 = sqrt(r6092013);
double r6092015 = r6092014 * r6092007;
double r6092016 = 7.3757578070702e-319;
bool r6092017 = r6092000 <= r6092016;
double r6092018 = r6092003 / r6091999;
double r6092019 = sqrt(r6092018);
double r6092020 = r6092011 / r6091998;
double r6092021 = sqrt(r6092020);
double r6092022 = r6092019 * r6092021;
double r6092023 = r6092022 * r6092007;
double r6092024 = 2.3360518174423148e+285;
bool r6092025 = r6092000 <= r6092024;
double r6092026 = sqrt(r6092003);
double r6092027 = r6092007 * r6092026;
double r6092028 = sqrt(r6092000);
double r6092029 = r6092027 / r6092028;
double r6092030 = r6092025 ? r6092029 : r6092008;
double r6092031 = r6092017 ? r6092023 : r6092030;
double r6092032 = r6092010 ? r6092015 : r6092031;
double r6092033 = r6092002 ? r6092008 : r6092032;
return r6092033;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -inf.0 or 2.3360518174423148e+285 < (* V l) Initial program 40.2
rmApplied associate-/r*22.5
if -inf.0 < (* V l) < -3.040558777379324e-218Initial program 8.7
rmApplied div-inv8.7
if -3.040558777379324e-218 < (* V l) < 7.3757578070702e-319Initial program 50.4
rmApplied *-un-lft-identity50.4
Applied times-frac31.9
Applied sqrt-prod39.3
if 7.3757578070702e-319 < (* V l) < 2.3360518174423148e+285Initial program 9.9
rmApplied sqrt-div0.5
Applied associate-*r/3.0
Final simplification12.3
herbie shell --seed 2019171 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))