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 r141138 = c0;
double r141139 = A;
double r141140 = V;
double r141141 = l;
double r141142 = r141140 * r141141;
double r141143 = r141139 / r141142;
double r141144 = sqrt(r141143);
double r141145 = r141138 * r141144;
return r141145;
}
double f(double c0, double A, double V, double l) {
double r141146 = V;
double r141147 = l;
double r141148 = r141146 * r141147;
double r141149 = -2.622012509219902e-97;
bool r141150 = r141148 <= r141149;
double r141151 = A;
double r141152 = r141151 / r141148;
double r141153 = sqrt(r141152);
double r141154 = sqrt(r141153);
double r141155 = c0;
double r141156 = r141154 * r141155;
double r141157 = r141154 * r141156;
double r141158 = 3.8043054729776e-322;
bool r141159 = r141148 <= r141158;
double r141160 = r141151 / r141146;
double r141161 = r141160 / r141147;
double r141162 = sqrt(r141161);
double r141163 = r141155 * r141162;
double r141164 = 1.936874731962272e+296;
bool r141165 = r141148 <= r141164;
double r141166 = sqrt(r141151);
double r141167 = sqrt(r141148);
double r141168 = r141166 / r141167;
double r141169 = r141168 * r141155;
double r141170 = 1.0;
double r141171 = r141170 / r141146;
double r141172 = r141151 / r141147;
double r141173 = r141171 * r141172;
double r141174 = sqrt(r141173);
double r141175 = r141174 * r141155;
double r141176 = r141165 ? r141169 : r141175;
double r141177 = r141159 ? r141163 : r141176;
double r141178 = r141150 ? r141157 : r141177;
return r141178;
}



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
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))