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{1}{V} \cdot \frac{A}{\ell}} \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le 2.983558035064543 \cdot 10^{+285}:\\
\;\;\;\;\frac{\sqrt{A} \cdot c0}{\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 r1704547 = c0;
double r1704548 = A;
double r1704549 = V;
double r1704550 = l;
double r1704551 = r1704549 * r1704550;
double r1704552 = r1704548 / r1704551;
double r1704553 = sqrt(r1704552);
double r1704554 = r1704547 * r1704553;
return r1704554;
}
double f(double c0, double A, double V, double l) {
double r1704555 = V;
double r1704556 = l;
double r1704557 = r1704555 * r1704556;
double r1704558 = -1.7835769814869e-321;
bool r1704559 = r1704557 <= r1704558;
double r1704560 = A;
double r1704561 = r1704560 / r1704555;
double r1704562 = r1704561 / r1704556;
double r1704563 = sqrt(r1704562);
double r1704564 = c0;
double r1704565 = r1704563 * r1704564;
double r1704566 = 0.0;
bool r1704567 = r1704557 <= r1704566;
double r1704568 = cbrt(r1704560);
double r1704569 = r1704568 * r1704568;
double r1704570 = r1704569 / r1704555;
double r1704571 = sqrt(r1704570);
double r1704572 = r1704571 * r1704564;
double r1704573 = r1704568 / r1704556;
double r1704574 = sqrt(r1704573);
double r1704575 = r1704572 * r1704574;
double r1704576 = 1.680002958039891e-303;
bool r1704577 = r1704557 <= r1704576;
double r1704578 = 1.0;
double r1704579 = r1704578 / r1704555;
double r1704580 = r1704560 / r1704556;
double r1704581 = r1704579 * r1704580;
double r1704582 = sqrt(r1704581);
double r1704583 = r1704582 * r1704564;
double r1704584 = 2.983558035064543e+285;
bool r1704585 = r1704557 <= r1704584;
double r1704586 = sqrt(r1704560);
double r1704587 = r1704586 * r1704564;
double r1704588 = sqrt(r1704557);
double r1704589 = r1704587 / r1704588;
double r1704590 = r1704585 ? r1704589 : r1704583;
double r1704591 = r1704577 ? r1704583 : r1704590;
double r1704592 = r1704567 ? r1704575 : r1704591;
double r1704593 = r1704559 ? r1704565 : r1704592;
return r1704593;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -1.7835769814869e-321Initial program 15.9
rmApplied associate-/r*18.2
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 0.0 < (* V l) < 1.680002958039891e-303 or 2.983558035064543e+285 < (* V l) Initial program 36.8
rmApplied *-un-lft-identity36.8
Applied times-frac21.2
if 1.680002958039891e-303 < (* V l) < 2.983558035064543e+285Initial program 9.8
rmApplied sqrt-div0.4
Applied associate-*r/2.8
Final simplification14.2
herbie shell --seed 2019153
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))