c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -1.525116185303215368597471651084471020441 \cdot 10^{-53}:\\
\;\;\;\;\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 0.0:\\
\;\;\;\;c0 \cdot \sqrt{\frac{A}{V} \cdot \frac{1}{\ell}}\\
\mathbf{elif}\;V \cdot \ell \le 7.007658098774069688740450968037780966441 \cdot 10^{273}:\\
\;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \sqrt{\frac{A}{V} \cdot \frac{1}{\ell}}\\
\end{array}double f(double c0, double A, double V, double l) {
double r7285208 = c0;
double r7285209 = A;
double r7285210 = V;
double r7285211 = l;
double r7285212 = r7285210 * r7285211;
double r7285213 = r7285209 / r7285212;
double r7285214 = sqrt(r7285213);
double r7285215 = r7285208 * r7285214;
return r7285215;
}
double f(double c0, double A, double V, double l) {
double r7285216 = V;
double r7285217 = l;
double r7285218 = r7285216 * r7285217;
double r7285219 = -1.5251161853032154e-53;
bool r7285220 = r7285218 <= r7285219;
double r7285221 = A;
double r7285222 = r7285221 / r7285218;
double r7285223 = sqrt(r7285222);
double r7285224 = sqrt(r7285223);
double r7285225 = c0;
double r7285226 = r7285224 * r7285225;
double r7285227 = r7285224 * r7285226;
double r7285228 = 0.0;
bool r7285229 = r7285218 <= r7285228;
double r7285230 = r7285221 / r7285216;
double r7285231 = 1.0;
double r7285232 = r7285231 / r7285217;
double r7285233 = r7285230 * r7285232;
double r7285234 = sqrt(r7285233);
double r7285235 = r7285225 * r7285234;
double r7285236 = 7.00765809877407e+273;
bool r7285237 = r7285218 <= r7285236;
double r7285238 = sqrt(r7285221);
double r7285239 = sqrt(r7285218);
double r7285240 = r7285238 / r7285239;
double r7285241 = r7285240 * r7285225;
double r7285242 = r7285237 ? r7285241 : r7285235;
double r7285243 = r7285229 ? r7285235 : r7285242;
double r7285244 = r7285220 ? r7285227 : r7285243;
return r7285244;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -1.5251161853032154e-53Initial program 14.6
rmApplied add-sqr-sqrt14.6
Applied sqrt-prod14.8
Applied associate-*r*14.7
if -1.5251161853032154e-53 < (* V l) < 0.0 or 7.00765809877407e+273 < (* V l) Initial program 34.5
rmApplied add-cube-cbrt34.7
Applied times-frac23.7
rmApplied div-inv23.7
Applied associate-*r*24.3
Simplified24.0
if 0.0 < (* V l) < 7.00765809877407e+273Initial program 9.9
rmApplied sqrt-div0.7
Final simplification12.4
herbie shell --seed 2019192
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))