c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;\frac{A}{V \cdot \ell} \le 0.0:\\
\;\;\;\;c0 \cdot \sqrt{\frac{1}{V} \cdot \frac{A}{\ell}}\\
\mathbf{elif}\;\frac{A}{V \cdot \ell} \le 2.062910653890350890533460477730983915134 \cdot 10^{297}:\\
\;\;\;\;\left(c0 \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\right) \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\\
\mathbf{else}:\\
\;\;\;\;\left(c0 \cdot \sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V}}\right) \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\\
\end{array}double f(double c0, double A, double V, double l) {
double r154719 = c0;
double r154720 = A;
double r154721 = V;
double r154722 = l;
double r154723 = r154721 * r154722;
double r154724 = r154720 / r154723;
double r154725 = sqrt(r154724);
double r154726 = r154719 * r154725;
return r154726;
}
double f(double c0, double A, double V, double l) {
double r154727 = A;
double r154728 = V;
double r154729 = l;
double r154730 = r154728 * r154729;
double r154731 = r154727 / r154730;
double r154732 = 0.0;
bool r154733 = r154731 <= r154732;
double r154734 = c0;
double r154735 = 1.0;
double r154736 = r154735 / r154728;
double r154737 = r154727 / r154729;
double r154738 = r154736 * r154737;
double r154739 = sqrt(r154738);
double r154740 = r154734 * r154739;
double r154741 = 2.062910653890351e+297;
bool r154742 = r154731 <= r154741;
double r154743 = sqrt(r154731);
double r154744 = sqrt(r154743);
double r154745 = r154734 * r154744;
double r154746 = r154745 * r154744;
double r154747 = cbrt(r154727);
double r154748 = r154747 * r154747;
double r154749 = r154748 / r154728;
double r154750 = sqrt(r154749);
double r154751 = r154734 * r154750;
double r154752 = r154747 / r154729;
double r154753 = sqrt(r154752);
double r154754 = r154751 * r154753;
double r154755 = r154742 ? r154746 : r154754;
double r154756 = r154733 ? r154740 : r154755;
return r154756;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (/ A (* V l)) < 0.0Initial program 40.7
rmApplied *-un-lft-identity40.7
Applied times-frac29.0
if 0.0 < (/ A (* V l)) < 2.062910653890351e+297Initial program 0.7
rmApplied add-sqr-sqrt0.7
Applied sqrt-prod1.0
Applied associate-*r*1.0
if 2.062910653890351e+297 < (/ A (* V l)) Initial program 61.5
rmApplied add-cube-cbrt61.5
Applied times-frac49.2
Applied sqrt-prod43.7
Applied associate-*r*43.8
Final simplification14.1
herbie shell --seed 2019356
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))