c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -1.4775390997686174 \cdot 10^{-280}:\\
\;\;\;\;\sqrt{\frac{\frac{1}{V \cdot \ell}}{\frac{1}{A}}} \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le 9.834825119197827 \cdot 10^{-310}:\\
\;\;\;\;\left(\left|\frac{\sqrt[3]{A}}{{V}^{\frac{1}{2}}}\right| \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\right) \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le 4.8079437486672853 \cdot 10^{275}:\\
\;\;\;\;\sqrt{\frac{1}{V \cdot \ell}} \cdot \left(\sqrt{A} \cdot c0\right)\\
\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 r164205 = c0;
double r164206 = A;
double r164207 = V;
double r164208 = l;
double r164209 = r164207 * r164208;
double r164210 = r164206 / r164209;
double r164211 = sqrt(r164210);
double r164212 = r164205 * r164211;
return r164212;
}
double f(double c0, double A, double V, double l) {
double r164213 = V;
double r164214 = l;
double r164215 = r164213 * r164214;
double r164216 = -1.4775390997686174e-280;
bool r164217 = r164215 <= r164216;
double r164218 = 1.0;
double r164219 = r164218 / r164215;
double r164220 = A;
double r164221 = r164218 / r164220;
double r164222 = r164219 / r164221;
double r164223 = sqrt(r164222);
double r164224 = c0;
double r164225 = r164223 * r164224;
double r164226 = 9.83482511919783e-310;
bool r164227 = r164215 <= r164226;
double r164228 = cbrt(r164220);
double r164229 = 0.5;
double r164230 = pow(r164213, r164229);
double r164231 = r164228 / r164230;
double r164232 = fabs(r164231);
double r164233 = r164228 / r164214;
double r164234 = sqrt(r164233);
double r164235 = r164232 * r164234;
double r164236 = r164235 * r164224;
double r164237 = 4.8079437486672853e+275;
bool r164238 = r164215 <= r164237;
double r164239 = sqrt(r164219);
double r164240 = sqrt(r164220);
double r164241 = r164240 * r164224;
double r164242 = r164239 * r164241;
double r164243 = r164238 ? r164242 : r164236;
double r164244 = r164227 ? r164236 : r164243;
double r164245 = r164217 ? r164225 : r164244;
return r164245;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -1.4775390997686174e-280Initial program 14.4
rmApplied *-commutative14.4
rmApplied clear-num14.7
rmApplied div-inv14.7
Applied associate-/r*14.4
if -1.4775390997686174e-280 < (* V l) < 9.83482511919783e-310 or 4.8079437486672853e+275 < (* V l) Initial program 49.5
rmApplied *-commutative49.5
rmApplied add-cube-cbrt49.5
Applied times-frac30.6
Applied sqrt-prod38.8
Simplified37.0
if 9.83482511919783e-310 < (* V l) < 4.8079437486672853e+275Initial program 9.2
rmApplied *-commutative9.2
rmApplied clear-num9.7
rmApplied div-inv9.7
Applied *-un-lft-identity9.7
Applied times-frac9.3
Applied sqrt-prod0.5
Applied associate-*l*2.9
Simplified2.9
Final simplification14.3
herbie shell --seed 2020081
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))