c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -2.193059146023880502697436443480710721354 \cdot 10^{-203}:\\
\;\;\;\;\left(c0 \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\right) \cdot \sqrt{\sqrt{A \cdot \frac{1}{V \cdot \ell}}}\\
\mathbf{elif}\;V \cdot \ell \le -0.0:\\
\;\;\;\;c0 \cdot \left(\sqrt{\frac{1}{V}} \cdot \sqrt{\frac{A}{\ell}}\right)\\
\mathbf{elif}\;V \cdot \ell \le 5.374992541585612810021994873950276178792 \cdot 10^{257}:\\
\;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \sqrt{\frac{\sqrt{A}}{V} \cdot \frac{\sqrt{A}}{\ell}}\\
\end{array}double f(double c0, double A, double V, double l) {
double r114269 = c0;
double r114270 = A;
double r114271 = V;
double r114272 = l;
double r114273 = r114271 * r114272;
double r114274 = r114270 / r114273;
double r114275 = sqrt(r114274);
double r114276 = r114269 * r114275;
return r114276;
}
double f(double c0, double A, double V, double l) {
double r114277 = V;
double r114278 = l;
double r114279 = r114277 * r114278;
double r114280 = -2.1930591460238805e-203;
bool r114281 = r114279 <= r114280;
double r114282 = c0;
double r114283 = A;
double r114284 = r114283 / r114279;
double r114285 = sqrt(r114284);
double r114286 = sqrt(r114285);
double r114287 = r114282 * r114286;
double r114288 = 1.0;
double r114289 = r114288 / r114279;
double r114290 = r114283 * r114289;
double r114291 = sqrt(r114290);
double r114292 = sqrt(r114291);
double r114293 = r114287 * r114292;
double r114294 = -0.0;
bool r114295 = r114279 <= r114294;
double r114296 = r114288 / r114277;
double r114297 = sqrt(r114296);
double r114298 = r114283 / r114278;
double r114299 = sqrt(r114298);
double r114300 = r114297 * r114299;
double r114301 = r114282 * r114300;
double r114302 = 5.374992541585613e+257;
bool r114303 = r114279 <= r114302;
double r114304 = sqrt(r114283);
double r114305 = sqrt(r114279);
double r114306 = r114304 / r114305;
double r114307 = r114282 * r114306;
double r114308 = r114304 / r114277;
double r114309 = r114304 / r114278;
double r114310 = r114308 * r114309;
double r114311 = sqrt(r114310);
double r114312 = r114282 * r114311;
double r114313 = r114303 ? r114307 : r114312;
double r114314 = r114295 ? r114301 : r114313;
double r114315 = r114281 ? r114293 : r114314;
return r114315;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -2.1930591460238805e-203Initial program 14.3
rmApplied add-sqr-sqrt14.3
Applied sqrt-prod14.5
Applied associate-*r*14.5
rmApplied div-inv14.4
if -2.1930591460238805e-203 < (* V l) < -0.0Initial program 40.5
rmApplied *-un-lft-identity40.5
Applied times-frac27.4
Applied sqrt-prod40.3
if -0.0 < (* V l) < 5.374992541585613e+257Initial program 15.9
rmApplied sqrt-div6.9
if 5.374992541585613e+257 < (* V l) Initial program 34.8
rmApplied add-sqr-sqrt34.8
Applied times-frac21.9
Final simplification13.6
herbie shell --seed 2019212 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))