c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -1.7835769814869 \cdot 10^{-321}:\\
\;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le 0.0:\\
\;\;\;\;\left(\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V}} \cdot c0\right) \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\\
\mathbf{elif}\;V \cdot \ell \le 1.680002958039891 \cdot 10^{-303}:\\
\;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le 2.983558035064543 \cdot 10^{+285}:\\
\;\;\;\;\frac{c0 \cdot \sqrt{A}}{\sqrt{V \cdot \ell}}\\
\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 r3818170 = c0;
double r3818171 = A;
double r3818172 = V;
double r3818173 = l;
double r3818174 = r3818172 * r3818173;
double r3818175 = r3818171 / r3818174;
double r3818176 = sqrt(r3818175);
double r3818177 = r3818170 * r3818176;
return r3818177;
}
double f(double c0, double A, double V, double l) {
double r3818178 = V;
double r3818179 = l;
double r3818180 = r3818178 * r3818179;
double r3818181 = -1.7835769814869e-321;
bool r3818182 = r3818180 <= r3818181;
double r3818183 = A;
double r3818184 = r3818183 / r3818178;
double r3818185 = r3818184 / r3818179;
double r3818186 = sqrt(r3818185);
double r3818187 = c0;
double r3818188 = r3818186 * r3818187;
double r3818189 = 0.0;
bool r3818190 = r3818180 <= r3818189;
double r3818191 = cbrt(r3818183);
double r3818192 = r3818191 * r3818191;
double r3818193 = r3818192 / r3818178;
double r3818194 = sqrt(r3818193);
double r3818195 = r3818194 * r3818187;
double r3818196 = r3818191 / r3818179;
double r3818197 = sqrt(r3818196);
double r3818198 = r3818195 * r3818197;
double r3818199 = 1.680002958039891e-303;
bool r3818200 = r3818180 <= r3818199;
double r3818201 = 2.983558035064543e+285;
bool r3818202 = r3818180 <= r3818201;
double r3818203 = sqrt(r3818183);
double r3818204 = r3818187 * r3818203;
double r3818205 = sqrt(r3818180);
double r3818206 = r3818204 / r3818205;
double r3818207 = 1.0;
double r3818208 = r3818207 / r3818178;
double r3818209 = r3818183 / r3818179;
double r3818210 = r3818208 * r3818209;
double r3818211 = sqrt(r3818210);
double r3818212 = r3818211 * r3818187;
double r3818213 = r3818202 ? r3818206 : r3818212;
double r3818214 = r3818200 ? r3818188 : r3818213;
double r3818215 = r3818190 ? r3818198 : r3818214;
double r3818216 = r3818182 ? r3818188 : r3818215;
return r3818216;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -1.7835769814869e-321 or 0.0 < (* V l) < 1.680002958039891e-303Initial program 16.2
rmApplied associate-/r*18.4
if -1.7835769814869e-321 < (* V l) < 0.0Initial program 61.0
rmApplied add-cube-cbrt61.0
Applied times-frac35.0
Applied sqrt-prod36.5
Applied associate-*r*36.5
if 1.680002958039891e-303 < (* V l) < 2.983558035064543e+285Initial program 9.8
rmApplied sqrt-div0.4
Applied associate-*r/2.8
if 2.983558035064543e+285 < (* V l) Initial program 37.1
rmApplied *-un-lft-identity37.1
Applied times-frac20.8
Final simplification14.2
herbie shell --seed 2019153
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))