c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -1.0028777413688825 \cdot 10^{-276}:\\
\;\;\;\;\sqrt{\sqrt[3]{A} \cdot \sqrt[3]{\frac{1}{V \cdot \ell}}} \cdot \left(\frac{\left|\sqrt[3]{A}\right|}{\sqrt{\sqrt[3]{V \cdot \ell} \cdot \sqrt[3]{V \cdot \ell}}} \cdot c0\right)\\
\mathbf{elif}\;V \cdot \ell \le 4.077916039006289 \cdot 10^{-304}:\\
\;\;\;\;c0 \cdot \sqrt{\frac{A}{\ell} \cdot \frac{1}{V}}\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\
\end{array}double f(double c0, double A, double V, double l) {
double r3736452 = c0;
double r3736453 = A;
double r3736454 = V;
double r3736455 = l;
double r3736456 = r3736454 * r3736455;
double r3736457 = r3736453 / r3736456;
double r3736458 = sqrt(r3736457);
double r3736459 = r3736452 * r3736458;
return r3736459;
}
double f(double c0, double A, double V, double l) {
double r3736460 = V;
double r3736461 = l;
double r3736462 = r3736460 * r3736461;
double r3736463 = -1.0028777413688825e-276;
bool r3736464 = r3736462 <= r3736463;
double r3736465 = A;
double r3736466 = cbrt(r3736465);
double r3736467 = 1.0;
double r3736468 = r3736467 / r3736462;
double r3736469 = cbrt(r3736468);
double r3736470 = r3736466 * r3736469;
double r3736471 = sqrt(r3736470);
double r3736472 = fabs(r3736466);
double r3736473 = cbrt(r3736462);
double r3736474 = r3736473 * r3736473;
double r3736475 = sqrt(r3736474);
double r3736476 = r3736472 / r3736475;
double r3736477 = c0;
double r3736478 = r3736476 * r3736477;
double r3736479 = r3736471 * r3736478;
double r3736480 = 4.077916039006289e-304;
bool r3736481 = r3736462 <= r3736480;
double r3736482 = r3736465 / r3736461;
double r3736483 = r3736467 / r3736460;
double r3736484 = r3736482 * r3736483;
double r3736485 = sqrt(r3736484);
double r3736486 = r3736477 * r3736485;
double r3736487 = sqrt(r3736465);
double r3736488 = sqrt(r3736462);
double r3736489 = r3736487 / r3736488;
double r3736490 = r3736477 * r3736489;
double r3736491 = r3736481 ? r3736486 : r3736490;
double r3736492 = r3736464 ? r3736479 : r3736491;
return r3736492;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -1.0028777413688825e-276Initial program 14.5
rmApplied add-cube-cbrt14.9
Applied sqrt-prod14.9
Applied associate-*r*14.9
rmApplied cbrt-div14.9
Applied cbrt-div14.9
Applied frac-times14.9
Applied sqrt-div14.9
Simplified14.9
rmApplied div-inv14.9
Applied cbrt-prod7.4
if -1.0028777413688825e-276 < (* V l) < 4.077916039006289e-304Initial program 53.8
rmApplied *-un-lft-identity53.8
Applied times-frac32.4
if 4.077916039006289e-304 < (* V l) Initial program 14.8
rmApplied sqrt-div6.7
Final simplification9.7
herbie shell --seed 2019151 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))