c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -4.924897512622825726955413996422424214023 \cdot 10^{-215}:\\
\;\;\;\;\sqrt{\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\frac{V \cdot \ell}{\sqrt[3]{A}}}}} \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\
\mathbf{elif}\;V \cdot \ell \le 0.0:\\
\;\;\;\;c0 \cdot \left(\sqrt{\frac{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right)\\
\mathbf{elif}\;V \cdot \ell \le 2.662328915164341898123574395745294048332 \cdot 10^{305}:\\
\;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{A}{\ell} \cdot \frac{1}{V}} \cdot c0\\
\end{array}double f(double c0, double A, double V, double l) {
double r5752406 = c0;
double r5752407 = A;
double r5752408 = V;
double r5752409 = l;
double r5752410 = r5752408 * r5752409;
double r5752411 = r5752407 / r5752410;
double r5752412 = sqrt(r5752411);
double r5752413 = r5752406 * r5752412;
return r5752413;
}
double f(double c0, double A, double V, double l) {
double r5752414 = V;
double r5752415 = l;
double r5752416 = r5752414 * r5752415;
double r5752417 = -4.924897512622826e-215;
bool r5752418 = r5752416 <= r5752417;
double r5752419 = A;
double r5752420 = cbrt(r5752419);
double r5752421 = r5752420 * r5752420;
double r5752422 = r5752416 / r5752420;
double r5752423 = r5752421 / r5752422;
double r5752424 = sqrt(r5752423);
double r5752425 = sqrt(r5752424);
double r5752426 = r5752419 / r5752416;
double r5752427 = sqrt(r5752426);
double r5752428 = sqrt(r5752427);
double r5752429 = c0;
double r5752430 = r5752428 * r5752429;
double r5752431 = r5752425 * r5752430;
double r5752432 = 0.0;
bool r5752433 = r5752416 <= r5752432;
double r5752434 = r5752419 / r5752415;
double r5752435 = sqrt(r5752434);
double r5752436 = 1.0;
double r5752437 = r5752436 / r5752414;
double r5752438 = sqrt(r5752437);
double r5752439 = r5752435 * r5752438;
double r5752440 = r5752429 * r5752439;
double r5752441 = 2.662328915164342e+305;
bool r5752442 = r5752416 <= r5752441;
double r5752443 = sqrt(r5752419);
double r5752444 = sqrt(r5752416);
double r5752445 = r5752443 / r5752444;
double r5752446 = r5752445 * r5752429;
double r5752447 = r5752434 * r5752437;
double r5752448 = sqrt(r5752447);
double r5752449 = r5752448 * r5752429;
double r5752450 = r5752442 ? r5752446 : r5752449;
double r5752451 = r5752433 ? r5752440 : r5752450;
double r5752452 = r5752418 ? r5752431 : r5752451;
return r5752452;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -4.924897512622826e-215Initial program 14.1
rmApplied add-sqr-sqrt14.1
Applied sqrt-prod14.3
Applied associate-*r*14.2
rmApplied add-cube-cbrt14.3
Applied associate-/l*14.3
if -4.924897512622826e-215 < (* V l) < 0.0Initial program 50.2
rmApplied *-un-lft-identity50.2
Applied times-frac33.6
Applied sqrt-prod37.8
if 0.0 < (* V l) < 2.662328915164342e+305Initial program 10.2
rmApplied sqrt-div0.8
if 2.662328915164342e+305 < (* V l) Initial program 40.9
rmApplied *-un-lft-identity40.9
Applied times-frac22.6
Final simplification12.5
herbie shell --seed 2019169
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))