c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\left(\left|\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{\ell}}}{\sqrt[3]{V}}\right| \cdot c0\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{\ell}}}{\sqrt[3]{\sqrt[3]{V}} \cdot \left(\sqrt[3]{\sqrt[3]{V}} \cdot \sqrt[3]{\sqrt[3]{V}}\right)}}(FPCore (c0 A V l) :precision binary64 (* c0 (sqrt (/ A (* V l)))))
(FPCore (c0 A V l)
:precision binary64
(*
(* (fabs (/ (/ (cbrt A) (cbrt l)) (cbrt V))) c0)
(sqrt
(/
(/ (cbrt A) (cbrt l))
(* (cbrt (cbrt V)) (* (cbrt (cbrt V)) (cbrt (cbrt V))))))))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) {
return ((double) (((double) (((double) fabs(((((double) cbrt(A)) / ((double) cbrt(l))) / ((double) cbrt(V))))) * c0)) * ((double) sqrt(((((double) cbrt(A)) / ((double) cbrt(l))) / ((double) (((double) cbrt(((double) cbrt(V)))) * ((double) (((double) cbrt(((double) cbrt(V)))) * ((double) cbrt(((double) cbrt(V)))))))))))));
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 19.3
rmApplied *-un-lft-identity_binary6419.3
Applied times-frac_binary6419.4
rmApplied associate-*l/_binary6419.4
Simplified19.4
rmApplied add-cube-cbrt_binary6419.7
Applied add-cube-cbrt_binary6419.9
Applied add-cube-cbrt_binary6419.9
Applied times-frac_binary6419.9
Applied times-frac_binary6415.6
Applied sqrt-prod_binary647.1
Applied associate-*r*_binary647.1
Simplified1.1
rmApplied add-cube-cbrt_binary641.3
Final simplification1.3
herbie shell --seed 2020204
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))