c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}c0 \cdot \left(\left|\frac{\sqrt[3]{A}}{\sqrt[3]{V}}\right| \cdot \left(\sqrt{\frac{\frac{1}{\sqrt[3]{\sqrt[3]{V} \cdot \sqrt[3]{V}}}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{\sqrt[3]{V}}}}{\sqrt[3]{\ell}}}\right)\right)double f(double c0, double A, double V, double l) {
double r289947 = c0;
double r289948 = A;
double r289949 = V;
double r289950 = l;
double r289951 = r289949 * r289950;
double r289952 = r289948 / r289951;
double r289953 = sqrt(r289952);
double r289954 = r289947 * r289953;
return r289954;
}
double f(double c0, double A, double V, double l) {
double r289955 = c0;
double r289956 = A;
double r289957 = cbrt(r289956);
double r289958 = V;
double r289959 = cbrt(r289958);
double r289960 = r289957 / r289959;
double r289961 = fabs(r289960);
double r289962 = 1.0;
double r289963 = r289959 * r289959;
double r289964 = cbrt(r289963);
double r289965 = r289962 / r289964;
double r289966 = l;
double r289967 = cbrt(r289966);
double r289968 = r289967 * r289967;
double r289969 = r289965 / r289968;
double r289970 = sqrt(r289969);
double r289971 = cbrt(r289959);
double r289972 = r289957 / r289971;
double r289973 = r289972 / r289967;
double r289974 = sqrt(r289973);
double r289975 = r289970 * r289974;
double r289976 = r289961 * r289975;
double r289977 = r289955 * r289976;
return r289977;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 19.0
rmApplied associate-/r*18.6
rmApplied *-un-lft-identity18.6
Applied add-cube-cbrt18.9
Applied add-cube-cbrt19.0
Applied times-frac19.0
Applied times-frac14.8
Applied sqrt-prod6.2
Simplified4.4
rmApplied add-cube-cbrt4.5
Applied add-cube-cbrt4.5
Applied cbrt-prod4.6
Applied *-un-lft-identity4.6
Applied cbrt-prod4.6
Applied times-frac4.6
Applied times-frac4.6
Applied sqrt-prod2.1
Simplified2.1
Final simplification2.1
herbie shell --seed 2020047 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))