c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell = -\infty:\\
\;\;\;\;c0 \cdot \sqrt{\frac{A}{\ell} \cdot \frac{1}{V}}\\
\mathbf{elif}\;V \cdot \ell \le -2.501882912097141003560534876558580681891 \cdot 10^{-258}:\\
\;\;\;\;\sqrt{\frac{A}{V \cdot \ell}} \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le -0.0:\\
\;\;\;\;\frac{\sqrt{\frac{A}{V}}}{\sqrt{\ell}} \cdot c0\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\
\end{array}double f(double c0, double A, double V, double l) {
double r5826435 = c0;
double r5826436 = A;
double r5826437 = V;
double r5826438 = l;
double r5826439 = r5826437 * r5826438;
double r5826440 = r5826436 / r5826439;
double r5826441 = sqrt(r5826440);
double r5826442 = r5826435 * r5826441;
return r5826442;
}
double f(double c0, double A, double V, double l) {
double r5826443 = V;
double r5826444 = l;
double r5826445 = r5826443 * r5826444;
double r5826446 = -inf.0;
bool r5826447 = r5826445 <= r5826446;
double r5826448 = c0;
double r5826449 = A;
double r5826450 = r5826449 / r5826444;
double r5826451 = 1.0;
double r5826452 = r5826451 / r5826443;
double r5826453 = r5826450 * r5826452;
double r5826454 = sqrt(r5826453);
double r5826455 = r5826448 * r5826454;
double r5826456 = -2.501882912097141e-258;
bool r5826457 = r5826445 <= r5826456;
double r5826458 = r5826449 / r5826445;
double r5826459 = sqrt(r5826458);
double r5826460 = r5826459 * r5826448;
double r5826461 = -0.0;
bool r5826462 = r5826445 <= r5826461;
double r5826463 = r5826449 / r5826443;
double r5826464 = sqrt(r5826463);
double r5826465 = sqrt(r5826444);
double r5826466 = r5826464 / r5826465;
double r5826467 = r5826466 * r5826448;
double r5826468 = sqrt(r5826449);
double r5826469 = sqrt(r5826445);
double r5826470 = r5826468 / r5826469;
double r5826471 = r5826470 * r5826448;
double r5826472 = r5826462 ? r5826467 : r5826471;
double r5826473 = r5826457 ? r5826460 : r5826472;
double r5826474 = r5826447 ? r5826455 : r5826473;
return r5826474;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -inf.0Initial program 40.2
rmApplied *-un-lft-identity40.2
Applied times-frac23.2
if -inf.0 < (* V l) < -2.501882912097141e-258Initial program 9.2
if -2.501882912097141e-258 < (* V l) < -0.0Initial program 55.9
rmApplied *-un-lft-identity55.9
Applied times-frac35.9
rmApplied associate-*r/35.9
Applied sqrt-div40.0
Simplified40.0
if -0.0 < (* V l) Initial program 15.1
rmApplied sqrt-div7.2
Final simplification12.6
herbie shell --seed 2019172
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))