c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \le 4.2430377227665696 \cdot 10^{-289}:\\
\;\;\;\;\sqrt{\frac{A}{V \cdot \ell}} \cdot c0\\
\mathbf{else}:\\
\;\;\;\;\left(\left|\frac{\sqrt[3]{A}}{{V}^{\frac{1}{2}}}\right| \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\right) \cdot c0\\
\end{array}double f(double c0, double A, double V, double l) {
double r157153 = c0;
double r157154 = A;
double r157155 = V;
double r157156 = l;
double r157157 = r157155 * r157156;
double r157158 = r157154 / r157157;
double r157159 = sqrt(r157158);
double r157160 = r157153 * r157159;
return r157160;
}
double f(double c0, double A, double V, double l) {
double r157161 = V;
double r157162 = 4.24303772276657e-289;
bool r157163 = r157161 <= r157162;
double r157164 = A;
double r157165 = l;
double r157166 = r157161 * r157165;
double r157167 = r157164 / r157166;
double r157168 = sqrt(r157167);
double r157169 = c0;
double r157170 = r157168 * r157169;
double r157171 = cbrt(r157164);
double r157172 = 0.5;
double r157173 = pow(r157161, r157172);
double r157174 = r157171 / r157173;
double r157175 = fabs(r157174);
double r157176 = r157171 / r157165;
double r157177 = sqrt(r157176);
double r157178 = r157175 * r157177;
double r157179 = r157178 * r157169;
double r157180 = r157163 ? r157170 : r157179;
return r157180;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if V < 4.24303772276657e-289Initial program 19.1
rmApplied *-commutative19.1
if 4.24303772276657e-289 < V Initial program 18.5
rmApplied *-commutative18.5
rmApplied add-cube-cbrt18.8
Applied times-frac17.7
Applied sqrt-prod10.1
Simplified4.5
Final simplification11.9
herbie shell --seed 2020027 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))