c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -2.6220125092199022 \cdot 10^{-97}:\\
\;\;\;\;\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\
\mathbf{elif}\;V \cdot \ell \le 3.80431 \cdot 10^{-322}:\\
\;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\
\mathbf{elif}\;V \cdot \ell \le 1.93687473196227216 \cdot 10^{296}:\\
\;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{1}{V} \cdot \frac{A}{\ell}} \cdot c0\\
\end{array}double f(double c0, double A, double V, double l) {
double r175959 = c0;
double r175960 = A;
double r175961 = V;
double r175962 = l;
double r175963 = r175961 * r175962;
double r175964 = r175960 / r175963;
double r175965 = sqrt(r175964);
double r175966 = r175959 * r175965;
return r175966;
}
double f(double c0, double A, double V, double l) {
double r175967 = V;
double r175968 = l;
double r175969 = r175967 * r175968;
double r175970 = -2.622012509219902e-97;
bool r175971 = r175969 <= r175970;
double r175972 = A;
double r175973 = r175972 / r175969;
double r175974 = sqrt(r175973);
double r175975 = sqrt(r175974);
double r175976 = c0;
double r175977 = r175975 * r175976;
double r175978 = r175975 * r175977;
double r175979 = 3.8043054729776e-322;
bool r175980 = r175969 <= r175979;
double r175981 = r175972 / r175967;
double r175982 = r175981 / r175968;
double r175983 = sqrt(r175982);
double r175984 = r175976 * r175983;
double r175985 = 1.936874731962272e+296;
bool r175986 = r175969 <= r175985;
double r175987 = sqrt(r175972);
double r175988 = sqrt(r175969);
double r175989 = r175987 / r175988;
double r175990 = r175989 * r175976;
double r175991 = 1.0;
double r175992 = r175991 / r175967;
double r175993 = r175972 / r175968;
double r175994 = r175992 * r175993;
double r175995 = sqrt(r175994);
double r175996 = r175995 * r175976;
double r175997 = r175986 ? r175990 : r175996;
double r175998 = r175980 ? r175984 : r175997;
double r175999 = r175971 ? r175978 : r175998;
return r175999;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -2.622012509219902e-97Initial program 13.7
rmApplied *-commutative13.7
rmApplied add-sqr-sqrt13.7
Applied sqrt-prod13.9
Applied associate-*l*13.9
if -2.622012509219902e-97 < (* V l) < 3.8043054729776e-322Initial program 35.7
rmApplied associate-/r*26.4
if 3.8043054729776e-322 < (* V l) < 1.936874731962272e+296Initial program 10.7
rmApplied *-commutative10.7
rmApplied sqrt-div0.7
if 1.936874731962272e+296 < (* V l) Initial program 39.7
rmApplied *-commutative39.7
rmApplied *-un-lft-identity39.7
Applied times-frac23.5
Final simplification12.1
herbie shell --seed 2020057 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))