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 r7329581 = c0;
double r7329582 = A;
double r7329583 = V;
double r7329584 = l;
double r7329585 = r7329583 * r7329584;
double r7329586 = r7329582 / r7329585;
double r7329587 = sqrt(r7329586);
double r7329588 = r7329581 * r7329587;
return r7329588;
}
double f(double c0, double A, double V, double l) {
double r7329589 = V;
double r7329590 = l;
double r7329591 = r7329589 * r7329590;
double r7329592 = -inf.0;
bool r7329593 = r7329591 <= r7329592;
double r7329594 = A;
double r7329595 = r7329594 / r7329589;
double r7329596 = r7329595 / r7329590;
double r7329597 = sqrt(r7329596);
double r7329598 = c0;
double r7329599 = r7329597 * r7329598;
double r7329600 = -3.040558777379324e-218;
bool r7329601 = r7329591 <= r7329600;
double r7329602 = 1.0;
double r7329603 = r7329602 / r7329591;
double r7329604 = r7329603 * r7329594;
double r7329605 = sqrt(r7329604);
double r7329606 = r7329605 * r7329598;
double r7329607 = 7.3757578070702e-319;
bool r7329608 = r7329591 <= r7329607;
double r7329609 = r7329594 / r7329590;
double r7329610 = sqrt(r7329609);
double r7329611 = r7329602 / r7329589;
double r7329612 = sqrt(r7329611);
double r7329613 = r7329610 * r7329612;
double r7329614 = r7329613 * r7329598;
double r7329615 = 2.3360518174423148e+285;
bool r7329616 = r7329591 <= r7329615;
double r7329617 = sqrt(r7329594);
double r7329618 = r7329598 * r7329617;
double r7329619 = sqrt(r7329591);
double r7329620 = r7329618 / r7329619;
double r7329621 = r7329616 ? r7329620 : r7329599;
double r7329622 = r7329608 ? r7329614 : r7329621;
double r7329623 = r7329601 ? r7329606 : r7329622;
double r7329624 = r7329593 ? r7329599 : r7329623;
return r7329624;
}



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
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))