c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\left(\left|\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}\right| \cdot c0\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}}(FPCore (c0 A V l) :precision binary64 (* c0 (sqrt (/ A (* V l)))))
(FPCore (c0 A V l) :precision binary64 (* (* (fabs (/ (/ (cbrt A) (cbrt V)) (cbrt l))) c0) (sqrt (/ (/ (cbrt A) (cbrt V)) (cbrt l)))))
double code(double c0, double A, double V, double l) {
return c0 * sqrt(A / (V * l));
}
double code(double c0, double A, double V, double l) {
return (fabs((cbrt(A) / cbrt(V)) / cbrt(l)) * c0) * sqrt((cbrt(A) / cbrt(V)) / cbrt(l));
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 19.5
rmApplied associate-/r*_binary6419.2
rmApplied add-cube-cbrt_binary6419.6
Applied add-cube-cbrt_binary6419.7
Applied add-cube-cbrt_binary6419.8
Applied times-frac_binary6419.8
Applied times-frac_binary6415.7
Applied sqrt-prod_binary647.1
Applied associate-*r*_binary647.1
Simplified1.2
Final simplification1.2
herbie shell --seed 2020220
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))