c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -8.5572345250440904 \cdot 10^{-135}:\\
\;\;\;\;c0 \cdot \sqrt{A \cdot \frac{1}{V \cdot \ell}}\\
\mathbf{elif}\;V \cdot \ell \le 1.8153855847994239 \cdot 10^{-294} \lor \neg \left(V \cdot \ell \le 3.7077968492082611 \cdot 10^{274}\right):\\
\;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\
\end{array}double f(double c0, double A, double V, double l) {
double r157596 = c0;
double r157597 = A;
double r157598 = V;
double r157599 = l;
double r157600 = r157598 * r157599;
double r157601 = r157597 / r157600;
double r157602 = sqrt(r157601);
double r157603 = r157596 * r157602;
return r157603;
}
double f(double c0, double A, double V, double l) {
double r157604 = V;
double r157605 = l;
double r157606 = r157604 * r157605;
double r157607 = -8.55723452504409e-135;
bool r157608 = r157606 <= r157607;
double r157609 = c0;
double r157610 = A;
double r157611 = 1.0;
double r157612 = r157611 / r157606;
double r157613 = r157610 * r157612;
double r157614 = sqrt(r157613);
double r157615 = r157609 * r157614;
double r157616 = 1.815385584799424e-294;
bool r157617 = r157606 <= r157616;
double r157618 = 3.707796849208261e+274;
bool r157619 = r157606 <= r157618;
double r157620 = !r157619;
bool r157621 = r157617 || r157620;
double r157622 = r157610 / r157604;
double r157623 = r157622 / r157605;
double r157624 = sqrt(r157623);
double r157625 = r157609 * r157624;
double r157626 = sqrt(r157610);
double r157627 = sqrt(r157606);
double r157628 = r157626 / r157627;
double r157629 = r157609 * r157628;
double r157630 = r157621 ? r157625 : r157629;
double r157631 = r157608 ? r157615 : r157630;
return r157631;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -8.55723452504409e-135Initial program 14.3
rmApplied div-inv14.3
if -8.55723452504409e-135 < (* V l) < 1.815385584799424e-294 or 3.707796849208261e+274 < (* V l) Initial program 39.0
rmApplied associate-/r*26.1
if 1.815385584799424e-294 < (* V l) < 3.707796849208261e+274Initial program 9.4
rmApplied sqrt-div0.4
Final simplification12.5
herbie shell --seed 2019199 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))