c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \leq 5.565384703489568 \cdot 10^{+142}:\\
\;\;\;\;c0 \cdot \left(\left|\frac{\sqrt[3]{A}}{\sqrt[3]{V}}\right| \cdot \sqrt{\frac{\sqrt[3]{A}}{\sqrt[3]{V} \cdot \ell}}\right)\\
\mathbf{elif}\;V \leq 8.068698780946028 \cdot 10^{+215}:\\
\;\;\;\;\left(c0 \cdot \sqrt{\frac{{\left(\sqrt[3]{A}\right)}^{2}}{V}}\right) \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\left(c0 \cdot \left|\frac{\sqrt[3]{A}}{\sqrt[3]{V}}\right|\right) \cdot \sqrt{\frac{\sqrt[3]{A}}{\frac{\sqrt[3]{V}}{\frac{1}{\ell}}}}\\
\end{array}(FPCore (c0 A V l) :precision binary64 (* c0 (sqrt (/ A (* V l)))))
(FPCore (c0 A V l)
:precision binary64
(if (<= V 5.565384703489568e+142)
(* c0 (* (fabs (/ (cbrt A) (cbrt V))) (sqrt (/ (cbrt A) (* (cbrt V) l)))))
(if (<= V 8.068698780946028e+215)
(* (* c0 (sqrt (/ (pow (cbrt A) 2.0) V))) (sqrt (/ (cbrt A) l)))
(*
(* c0 (fabs (/ (cbrt A) (cbrt V))))
(sqrt (/ (cbrt A) (/ (cbrt V) (/ 1.0 l))))))))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 tmp;
if ((V <= 5.565384703489568e+142)) {
tmp = ((double) (c0 * ((double) (((double) fabs((((double) cbrt(A)) / ((double) cbrt(V))))) * ((double) sqrt((((double) cbrt(A)) / ((double) (((double) cbrt(V)) * l)))))))));
} else {
double tmp_1;
if ((V <= 8.068698780946028e+215)) {
tmp_1 = ((double) (((double) (c0 * ((double) sqrt((((double) pow(((double) cbrt(A)), 2.0)) / V))))) * ((double) sqrt((((double) cbrt(A)) / l)))));
} else {
tmp_1 = ((double) (((double) (c0 * ((double) fabs((((double) cbrt(A)) / ((double) cbrt(V))))))) * ((double) sqrt((((double) cbrt(A)) / (((double) cbrt(V)) / (1.0 / l)))))));
}
tmp = tmp_1;
}
return tmp;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if V < 5.56538470348956816e142Initial program 19.1
rmApplied add-cube-cbrt_binary6419.4
Applied associate-/l*_binary6419.4
Simplified17.8
rmApplied div-inv_binary6417.8
Applied add-cube-cbrt_binary6417.9
Applied times-frac_binary6417.3
Applied times-frac_binary6416.3
Applied sqrt-prod_binary647.6
Simplified5.9
Simplified5.9
if 5.56538470348956816e142 < V < 8.0686987809460277e215Initial program 20.5
rmApplied add-cube-cbrt_binary6420.8
Applied associate-/l*_binary6420.8
Simplified19.5
rmApplied associate-/r/_binary6419.0
Applied times-frac_binary6419.6
Applied sqrt-prod_binary649.0
Applied associate-*r*_binary6410.7
Simplified10.7
if 8.0686987809460277e215 < V Initial program 22.8
rmApplied add-cube-cbrt_binary6423.0
Applied associate-/l*_binary6423.0
Simplified22.7
rmApplied div-inv_binary6422.7
Applied add-cube-cbrt_binary6422.8
Applied times-frac_binary6421.1
Applied times-frac_binary6419.0
Applied sqrt-prod_binary6411.8
Applied associate-*r*_binary6412.8
Simplified8.7
Final simplification6.4
herbie shell --seed 2020210
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))