c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -7.60320495836003008 \cdot 10^{-291}:\\
\;\;\;\;\left(c0 \cdot \sqrt{\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\frac{V \cdot \ell}{\sqrt[3]{A}}}}}\right) \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\\
\mathbf{elif}\;V \cdot \ell \le 2.47033 \cdot 10^{-323}:\\
\;\;\;\;\left(c0 \cdot \sqrt{\frac{1}{V}}\right) \cdot \sqrt{\frac{A}{\ell}}\\
\mathbf{elif}\;V \cdot \ell \le 4.25252124024244761 \cdot 10^{295}:\\
\;\;\;\;\frac{c0 \cdot \sqrt{A}}{\sqrt{V \cdot \ell}}\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \sqrt{\frac{1}{V} \cdot \frac{A}{\ell}}\\
\end{array}double f(double c0, double A, double V, double l) {
double r150606 = c0;
double r150607 = A;
double r150608 = V;
double r150609 = l;
double r150610 = r150608 * r150609;
double r150611 = r150607 / r150610;
double r150612 = sqrt(r150611);
double r150613 = r150606 * r150612;
return r150613;
}
double f(double c0, double A, double V, double l) {
double r150614 = V;
double r150615 = l;
double r150616 = r150614 * r150615;
double r150617 = -7.60320495836003e-291;
bool r150618 = r150616 <= r150617;
double r150619 = c0;
double r150620 = A;
double r150621 = cbrt(r150620);
double r150622 = r150621 * r150621;
double r150623 = r150616 / r150621;
double r150624 = r150622 / r150623;
double r150625 = sqrt(r150624);
double r150626 = sqrt(r150625);
double r150627 = r150619 * r150626;
double r150628 = r150620 / r150616;
double r150629 = sqrt(r150628);
double r150630 = sqrt(r150629);
double r150631 = r150627 * r150630;
double r150632 = 2.4703282292062e-323;
bool r150633 = r150616 <= r150632;
double r150634 = 1.0;
double r150635 = r150634 / r150614;
double r150636 = sqrt(r150635);
double r150637 = r150619 * r150636;
double r150638 = r150620 / r150615;
double r150639 = sqrt(r150638);
double r150640 = r150637 * r150639;
double r150641 = 4.252521240242448e+295;
bool r150642 = r150616 <= r150641;
double r150643 = sqrt(r150620);
double r150644 = r150619 * r150643;
double r150645 = sqrt(r150616);
double r150646 = r150644 / r150645;
double r150647 = r150635 * r150638;
double r150648 = sqrt(r150647);
double r150649 = r150619 * r150648;
double r150650 = r150642 ? r150646 : r150649;
double r150651 = r150633 ? r150640 : r150650;
double r150652 = r150618 ? r150631 : r150651;
return r150652;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -7.60320495836003e-291Initial program 14.2
rmApplied add-sqr-sqrt14.2
Applied sqrt-prod14.4
Applied associate-*r*14.4
rmApplied add-cube-cbrt14.4
Applied associate-/l*14.4
if -7.60320495836003e-291 < (* V l) < 2.4703282292062e-323Initial program 59.6
rmApplied *-un-lft-identity59.6
Applied times-frac36.0
Applied sqrt-prod39.5
Applied associate-*r*39.7
if 2.4703282292062e-323 < (* V l) < 4.252521240242448e+295Initial program 10.3
rmApplied sqrt-div0.6
Applied associate-*r/3.1
if 4.252521240242448e+295 < (* V l) Initial program 41.5
rmApplied *-un-lft-identity41.5
Applied times-frac25.2
Final simplification13.1
herbie shell --seed 2020100
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))