c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\left(c0 \cdot \left|\frac{\sqrt[3]{A}}{\sqrt[3]{\ell} \cdot \sqrt[3]{V}}\right|\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{\ell}}}{\sqrt[3]{\sqrt[3]{V}} \cdot \sqrt[3]{\sqrt[3]{V} \cdot \sqrt[3]{V}}}}double f(double c0, double A, double V, double l) {
double r2896883 = c0;
double r2896884 = A;
double r2896885 = V;
double r2896886 = l;
double r2896887 = r2896885 * r2896886;
double r2896888 = r2896884 / r2896887;
double r2896889 = sqrt(r2896888);
double r2896890 = r2896883 * r2896889;
return r2896890;
}
double f(double c0, double A, double V, double l) {
double r2896891 = c0;
double r2896892 = A;
double r2896893 = cbrt(r2896892);
double r2896894 = l;
double r2896895 = cbrt(r2896894);
double r2896896 = V;
double r2896897 = cbrt(r2896896);
double r2896898 = r2896895 * r2896897;
double r2896899 = r2896893 / r2896898;
double r2896900 = fabs(r2896899);
double r2896901 = r2896891 * r2896900;
double r2896902 = r2896893 / r2896895;
double r2896903 = cbrt(r2896897);
double r2896904 = r2896897 * r2896897;
double r2896905 = cbrt(r2896904);
double r2896906 = r2896903 * r2896905;
double r2896907 = r2896902 / r2896906;
double r2896908 = sqrt(r2896907);
double r2896909 = r2896901 * r2896908;
return r2896909;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 18.3
rmApplied add-cube-cbrt18.6
Applied times-frac18.0
rmApplied associate-*l/19.0
Simplified18.6
rmApplied add-cube-cbrt19.0
Applied add-cube-cbrt19.1
Applied add-cube-cbrt19.2
Applied times-frac19.2
Applied times-frac15.0
Applied sqrt-prod7.1
Applied associate-*r*7.1
Simplified1.1
rmApplied add-cube-cbrt1.2
Applied cbrt-prod1.2
Final simplification1.2
herbie shell --seed 2019141 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))