c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \leq -9.205062646240711 \cdot 10^{+207}:\\
\;\;\;\;c0 \cdot \left(\sqrt{{\left(\sqrt[3]{V}\right)}^{-2}} \cdot \sqrt{\frac{\frac{A}{\sqrt[3]{V}}}{\ell}}\right)\\
\mathbf{elif}\;V \cdot \ell \leq -2.4518779607270934 \cdot 10^{-154}:\\
\;\;\;\;\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \left(c0 \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\right)\\
\mathbf{elif}\;V \cdot \ell \leq 0:\\
\;\;\;\;c0 \cdot \left(\sqrt{{\left(\sqrt[3]{V}\right)}^{-2}} \cdot \sqrt{\frac{\frac{A}{\sqrt[3]{V}}}{\ell}}\right)\\
\mathbf{elif}\;V \cdot \ell \leq 2.0228309645897553 \cdot 10^{+287}:\\
\;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \frac{\sqrt{{\left(\sqrt[3]{V}\right)}^{-2} \cdot A}}{\sqrt{\ell \cdot \sqrt[3]{V}}}\\
\end{array}double code(double c0, double A, double V, double l) {
return ((double) (c0 * ((double) sqrt((A / ((double) (V * l)))))));
}
double code(double c0, double A, double V, double l) {
double VAR;
if ((((double) (V * l)) <= -9.205062646240711e+207)) {
VAR = ((double) (c0 * ((double) (((double) sqrt(((double) pow(((double) cbrt(V)), -2.0)))) * ((double) sqrt(((A / ((double) cbrt(V))) / l)))))));
} else {
double VAR_1;
if ((((double) (V * l)) <= -2.4518779607270934e-154)) {
VAR_1 = ((double) (((double) sqrt(((double) sqrt((A / ((double) (V * l))))))) * ((double) (c0 * ((double) sqrt(((double) sqrt((A / ((double) (V * l)))))))))));
} else {
double VAR_2;
if ((((double) (V * l)) <= 0.0)) {
VAR_2 = ((double) (c0 * ((double) (((double) sqrt(((double) pow(((double) cbrt(V)), -2.0)))) * ((double) sqrt(((A / ((double) cbrt(V))) / l)))))));
} else {
double VAR_3;
if ((((double) (V * l)) <= 2.0228309645897553e+287)) {
VAR_3 = ((double) (c0 * (((double) sqrt(A)) / ((double) sqrt(((double) (V * l)))))));
} else {
VAR_3 = ((double) (c0 * (((double) sqrt(((double) (((double) pow(((double) cbrt(V)), -2.0)) * A)))) / ((double) sqrt(((double) (l * ((double) cbrt(V)))))))));
}
VAR_2 = VAR_3;
}
VAR_1 = VAR_2;
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -9.2050626462407107e207 or -2.4518779607270934e-154 < (* V l) < 0.0Initial program 37.5
rmApplied *-un-lft-identity37.5
Applied times-frac26.7
rmApplied add-cube-cbrt26.9
Applied add-sqr-sqrt26.9
Applied times-frac26.9
Applied associate-*l*26.9
Simplified28.8
rmApplied sqrt-prod21.1
Simplified21.0
Simplified21.0
rmApplied associate-/r*16.6
if -9.2050626462407107e207 < (* V l) < -2.4518779607270934e-154Initial program 5.7
rmApplied add-sqr-sqrt5.7
Applied sqrt-prod6.0
Applied associate-*r*6.0
Simplified6.0
if 0.0 < (* V l) < 2.02283096458975526e287Initial program 10.3
rmApplied sqrt-div0.7
if 2.02283096458975526e287 < (* V l) Initial program 40.1
rmApplied *-un-lft-identity40.1
Applied times-frac23.9
rmApplied add-cube-cbrt24.0
Applied add-sqr-sqrt24.0
Applied times-frac24.0
Applied associate-*l*24.0
Simplified27.1
rmApplied associate-*r/27.1
Applied sqrt-div16.3
Simplified16.3
Simplified16.3
Final simplification7.8
herbie shell --seed 2020196
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))