c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \le -1.6960457929493363 \cdot 10^{-304}:\\
\;\;\;\;\left(c0 \cdot \frac{\left|\sqrt[3]{A}\right|}{\sqrt{V \cdot \frac{\ell}{\sqrt[3]{\sqrt[3]{A}}}}}\right) \cdot \sqrt{\sqrt[3]{\sqrt[3]{A}} \cdot \sqrt[3]{\sqrt[3]{A}}}\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \frac{\left|\sqrt[3]{A}\right|}{\sqrt{V} \cdot \sqrt{\frac{\ell}{\sqrt[3]{A}}}}\\
\end{array}double code(double c0, double A, double V, double l) {
return ((double) (c0 * ((double) sqrt(((double) (A / ((double) (V * l))))))));
}
double code(double c0, double A, double V, double l) {
double VAR;
if ((V <= -1.6960457929493363e-304)) {
VAR = ((double) (((double) (c0 * ((double) (((double) fabs(((double) cbrt(A)))) / ((double) sqrt(((double) (V * ((double) (l / ((double) cbrt(((double) cbrt(A)))))))))))))) * ((double) sqrt(((double) (((double) cbrt(((double) cbrt(A)))) * ((double) cbrt(((double) cbrt(A))))))))));
} else {
VAR = ((double) (c0 * ((double) (((double) fabs(((double) cbrt(A)))) / ((double) (((double) sqrt(V)) * ((double) sqrt(((double) (l / ((double) cbrt(A))))))))))));
}
return VAR;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if V < -1.6960457929493363e-304Initial program 18.4
rmApplied add-cube-cbrt18.8
Applied associate-/l*18.8
Simplified17.6
rmApplied sqrt-div12.7
Simplified12.7
rmApplied add-cube-cbrt12.9
Applied add-cube-cbrt13.0
Applied times-frac13.0
Applied associate-*r*11.4
Simplified11.4
rmApplied associate-*r/11.4
Applied associate-*r/11.5
Applied frac-times12.7
Applied sqrt-div11.4
Applied associate-/r/11.4
Applied associate-*r*11.6
Simplified12.0
if -1.6960457929493363e-304 < V Initial program 19.6
rmApplied add-cube-cbrt19.9
Applied associate-/l*19.9
Simplified18.6
rmApplied sqrt-div13.7
Simplified13.7
rmApplied sqrt-prod5.5
Final simplification8.7
herbie shell --seed 2020179
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))