c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -4.924897512622825726955413996422424214023 \cdot 10^{-215}:\\
\;\;\;\;\sqrt{\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\frac{V \cdot \ell}{\sqrt[3]{A}}}}} \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\
\mathbf{elif}\;V \cdot \ell \le 0.0:\\
\;\;\;\;c0 \cdot \left(\sqrt{\frac{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right)\\
\mathbf{elif}\;V \cdot \ell \le 2.662328915164341898123574395745294048332 \cdot 10^{305}:\\
\;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{A}{\ell} \cdot \frac{1}{V}} \cdot c0\\
\end{array}double f(double c0, double A, double V, double l) {
double r4360062 = c0;
double r4360063 = A;
double r4360064 = V;
double r4360065 = l;
double r4360066 = r4360064 * r4360065;
double r4360067 = r4360063 / r4360066;
double r4360068 = sqrt(r4360067);
double r4360069 = r4360062 * r4360068;
return r4360069;
}
double f(double c0, double A, double V, double l) {
double r4360070 = V;
double r4360071 = l;
double r4360072 = r4360070 * r4360071;
double r4360073 = -4.924897512622826e-215;
bool r4360074 = r4360072 <= r4360073;
double r4360075 = A;
double r4360076 = cbrt(r4360075);
double r4360077 = r4360076 * r4360076;
double r4360078 = r4360072 / r4360076;
double r4360079 = r4360077 / r4360078;
double r4360080 = sqrt(r4360079);
double r4360081 = sqrt(r4360080);
double r4360082 = r4360075 / r4360072;
double r4360083 = sqrt(r4360082);
double r4360084 = sqrt(r4360083);
double r4360085 = c0;
double r4360086 = r4360084 * r4360085;
double r4360087 = r4360081 * r4360086;
double r4360088 = 0.0;
bool r4360089 = r4360072 <= r4360088;
double r4360090 = r4360075 / r4360071;
double r4360091 = sqrt(r4360090);
double r4360092 = 1.0;
double r4360093 = r4360092 / r4360070;
double r4360094 = sqrt(r4360093);
double r4360095 = r4360091 * r4360094;
double r4360096 = r4360085 * r4360095;
double r4360097 = 2.662328915164342e+305;
bool r4360098 = r4360072 <= r4360097;
double r4360099 = sqrt(r4360075);
double r4360100 = sqrt(r4360072);
double r4360101 = r4360099 / r4360100;
double r4360102 = r4360101 * r4360085;
double r4360103 = r4360090 * r4360093;
double r4360104 = sqrt(r4360103);
double r4360105 = r4360104 * r4360085;
double r4360106 = r4360098 ? r4360102 : r4360105;
double r4360107 = r4360089 ? r4360096 : r4360106;
double r4360108 = r4360074 ? r4360087 : r4360107;
return r4360108;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -4.924897512622826e-215Initial program 14.1
rmApplied add-sqr-sqrt14.1
Applied sqrt-prod14.3
Applied associate-*r*14.2
rmApplied add-cube-cbrt14.3
Applied associate-/l*14.3
if -4.924897512622826e-215 < (* V l) < 0.0Initial program 50.2
rmApplied *-un-lft-identity50.2
Applied times-frac33.6
Applied sqrt-prod37.8
if 0.0 < (* V l) < 2.662328915164342e+305Initial program 10.2
rmApplied sqrt-div0.8
if 2.662328915164342e+305 < (* V l) Initial program 40.9
rmApplied *-un-lft-identity40.9
Applied times-frac22.6
Final simplification12.5
herbie shell --seed 2019169 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))