c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -1.7835769814869 \cdot 10^{-321}:\\
\;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le 0.0:\\
\;\;\;\;\left(\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V}} \cdot c0\right) \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\\
\mathbf{elif}\;V \cdot \ell \le 1.680002958039891 \cdot 10^{-303}:\\
\;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le 2.983558035064543 \cdot 10^{+285}:\\
\;\;\;\;\frac{c0 \cdot \sqrt{A}}{\sqrt{V \cdot \ell}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{1}{V} \cdot \frac{A}{\ell}} \cdot c0\\
\end{array}double f(double c0, double A, double V, double l) {
double r1727001 = c0;
double r1727002 = A;
double r1727003 = V;
double r1727004 = l;
double r1727005 = r1727003 * r1727004;
double r1727006 = r1727002 / r1727005;
double r1727007 = sqrt(r1727006);
double r1727008 = r1727001 * r1727007;
return r1727008;
}
double f(double c0, double A, double V, double l) {
double r1727009 = V;
double r1727010 = l;
double r1727011 = r1727009 * r1727010;
double r1727012 = -1.7835769814869e-321;
bool r1727013 = r1727011 <= r1727012;
double r1727014 = A;
double r1727015 = r1727014 / r1727009;
double r1727016 = r1727015 / r1727010;
double r1727017 = sqrt(r1727016);
double r1727018 = c0;
double r1727019 = r1727017 * r1727018;
double r1727020 = 0.0;
bool r1727021 = r1727011 <= r1727020;
double r1727022 = cbrt(r1727014);
double r1727023 = r1727022 * r1727022;
double r1727024 = r1727023 / r1727009;
double r1727025 = sqrt(r1727024);
double r1727026 = r1727025 * r1727018;
double r1727027 = r1727022 / r1727010;
double r1727028 = sqrt(r1727027);
double r1727029 = r1727026 * r1727028;
double r1727030 = 1.680002958039891e-303;
bool r1727031 = r1727011 <= r1727030;
double r1727032 = 2.983558035064543e+285;
bool r1727033 = r1727011 <= r1727032;
double r1727034 = sqrt(r1727014);
double r1727035 = r1727018 * r1727034;
double r1727036 = sqrt(r1727011);
double r1727037 = r1727035 / r1727036;
double r1727038 = 1.0;
double r1727039 = r1727038 / r1727009;
double r1727040 = r1727014 / r1727010;
double r1727041 = r1727039 * r1727040;
double r1727042 = sqrt(r1727041);
double r1727043 = r1727042 * r1727018;
double r1727044 = r1727033 ? r1727037 : r1727043;
double r1727045 = r1727031 ? r1727019 : r1727044;
double r1727046 = r1727021 ? r1727029 : r1727045;
double r1727047 = r1727013 ? r1727019 : r1727046;
return r1727047;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -1.7835769814869e-321 or 0.0 < (* V l) < 1.680002958039891e-303Initial program 16.2
rmApplied associate-/r*18.4
if -1.7835769814869e-321 < (* V l) < 0.0Initial program 61.0
rmApplied add-cube-cbrt61.0
Applied times-frac35.0
Applied sqrt-prod36.5
Applied associate-*r*36.5
if 1.680002958039891e-303 < (* V l) < 2.983558035064543e+285Initial program 9.8
rmApplied sqrt-div0.4
Applied associate-*r/2.8
if 2.983558035064543e+285 < (* V l) Initial program 37.1
rmApplied *-un-lft-identity37.1
Applied times-frac20.8
Final simplification14.2
herbie shell --seed 2019153 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))