c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -1.14673 \cdot 10^{-320}:\\
\;\;\;\;c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\\
\mathbf{elif}\;V \cdot \ell \le 6.8146969 \cdot 10^{-319}:\\
\;\;\;\;c0 \cdot \left(\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V}} \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\right)\\
\mathbf{elif}\;V \cdot \ell \le 4.41241756282401563 \cdot 10^{295}:\\
\;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \left(\sqrt{\frac{1}{V}} \cdot \sqrt{\frac{A}{\ell}}\right)\\
\end{array}double f(double c0, double A, double V, double l) {
double r159124 = c0;
double r159125 = A;
double r159126 = V;
double r159127 = l;
double r159128 = r159126 * r159127;
double r159129 = r159125 / r159128;
double r159130 = sqrt(r159129);
double r159131 = r159124 * r159130;
return r159131;
}
double f(double c0, double A, double V, double l) {
double r159132 = V;
double r159133 = l;
double r159134 = r159132 * r159133;
double r159135 = -1.1467263639975e-320;
bool r159136 = r159134 <= r159135;
double r159137 = c0;
double r159138 = A;
double r159139 = r159138 / r159134;
double r159140 = sqrt(r159139);
double r159141 = r159137 * r159140;
double r159142 = 6.8146968596529e-319;
bool r159143 = r159134 <= r159142;
double r159144 = cbrt(r159138);
double r159145 = r159144 * r159144;
double r159146 = r159145 / r159132;
double r159147 = sqrt(r159146);
double r159148 = r159144 / r159133;
double r159149 = sqrt(r159148);
double r159150 = r159147 * r159149;
double r159151 = r159137 * r159150;
double r159152 = 4.412417562824016e+295;
bool r159153 = r159134 <= r159152;
double r159154 = sqrt(r159138);
double r159155 = sqrt(r159134);
double r159156 = r159154 / r159155;
double r159157 = r159137 * r159156;
double r159158 = 1.0;
double r159159 = r159158 / r159132;
double r159160 = sqrt(r159159);
double r159161 = r159138 / r159133;
double r159162 = sqrt(r159161);
double r159163 = r159160 * r159162;
double r159164 = r159137 * r159163;
double r159165 = r159153 ? r159157 : r159164;
double r159166 = r159143 ? r159151 : r159165;
double r159167 = r159136 ? r159141 : r159166;
return r159167;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -1.1467263639975e-320Initial program 14.6
if -1.1467263639975e-320 < (* V l) < 6.8146968596529e-319Initial program 63.5
rmApplied add-cube-cbrt63.5
Applied times-frac39.4
Applied sqrt-prod39.5
if 6.8146968596529e-319 < (* V l) < 4.412417562824016e+295Initial program 10.7
rmApplied sqrt-div0.5
if 4.412417562824016e+295 < (* V l) Initial program 39.8
rmApplied *-un-lft-identity39.8
Applied times-frac23.8
Applied sqrt-prod35.1
Final simplification13.0
herbie shell --seed 2020059
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))