c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -6.472040851531678203958266160893295162867 \cdot 10^{-271}:\\
\;\;\;\;\left(c0 \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\right) \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\\
\mathbf{elif}\;V \cdot \ell \le 0.0:\\
\;\;\;\;\left(c0 \cdot \sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V}}\right) \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\\
\mathbf{elif}\;V \cdot \ell \le 2.700786048354441713096879449910575204342 \cdot 10^{293}:\\
\;\;\;\;c0 \cdot \left(\sqrt{A} \cdot \sqrt{\frac{1}{V \cdot \ell}}\right)\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \left(\sqrt{\frac{\sqrt{A}}{V}} \cdot \sqrt{\frac{\sqrt{A}}{\ell}}\right)\\
\end{array}double f(double c0, double A, double V, double l) {
double r103473 = c0;
double r103474 = A;
double r103475 = V;
double r103476 = l;
double r103477 = r103475 * r103476;
double r103478 = r103474 / r103477;
double r103479 = sqrt(r103478);
double r103480 = r103473 * r103479;
return r103480;
}
double f(double c0, double A, double V, double l) {
double r103481 = V;
double r103482 = l;
double r103483 = r103481 * r103482;
double r103484 = -6.472040851531678e-271;
bool r103485 = r103483 <= r103484;
double r103486 = c0;
double r103487 = A;
double r103488 = r103487 / r103483;
double r103489 = sqrt(r103488);
double r103490 = sqrt(r103489);
double r103491 = r103486 * r103490;
double r103492 = r103491 * r103490;
double r103493 = 0.0;
bool r103494 = r103483 <= r103493;
double r103495 = cbrt(r103487);
double r103496 = r103495 * r103495;
double r103497 = r103496 / r103481;
double r103498 = sqrt(r103497);
double r103499 = r103486 * r103498;
double r103500 = r103495 / r103482;
double r103501 = sqrt(r103500);
double r103502 = r103499 * r103501;
double r103503 = 2.7007860483544417e+293;
bool r103504 = r103483 <= r103503;
double r103505 = sqrt(r103487);
double r103506 = 1.0;
double r103507 = r103506 / r103483;
double r103508 = sqrt(r103507);
double r103509 = r103505 * r103508;
double r103510 = r103486 * r103509;
double r103511 = r103505 / r103481;
double r103512 = sqrt(r103511);
double r103513 = r103505 / r103482;
double r103514 = sqrt(r103513);
double r103515 = r103512 * r103514;
double r103516 = r103486 * r103515;
double r103517 = r103504 ? r103510 : r103516;
double r103518 = r103494 ? r103502 : r103517;
double r103519 = r103485 ? r103492 : r103518;
return r103519;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -6.472040851531678e-271Initial program 13.9
rmApplied add-sqr-sqrt13.9
Applied sqrt-prod14.1
Applied associate-*r*14.1
if -6.472040851531678e-271 < (* V l) < 0.0Initial program 53.8
rmApplied add-cube-cbrt53.9
Applied times-frac34.1
Applied sqrt-prod38.4
Applied associate-*r*38.5
if 0.0 < (* V l) < 2.7007860483544417e+293Initial program 16.2
rmApplied div-inv16.5
Applied sqrt-prod7.3
if 2.7007860483544417e+293 < (* V l) Initial program 37.6
rmApplied add-sqr-sqrt37.6
Applied times-frac22.8
Applied sqrt-prod33.0
Final simplification13.0
herbie shell --seed 2019305 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))