c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\left(c0 \cdot \left|\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}\right|\right) \cdot \sqrt{\frac{\frac{\left(\sqrt[3]{\sqrt[3]{A}} \cdot \sqrt[3]{\sqrt[3]{A}}\right) \cdot \sqrt[3]{\sqrt[3]{A}}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}}double f(double c0, double A, double V, double l) {
double r5969959 = c0;
double r5969960 = A;
double r5969961 = V;
double r5969962 = l;
double r5969963 = r5969961 * r5969962;
double r5969964 = r5969960 / r5969963;
double r5969965 = sqrt(r5969964);
double r5969966 = r5969959 * r5969965;
return r5969966;
}
double f(double c0, double A, double V, double l) {
double r5969967 = c0;
double r5969968 = A;
double r5969969 = cbrt(r5969968);
double r5969970 = V;
double r5969971 = cbrt(r5969970);
double r5969972 = r5969969 / r5969971;
double r5969973 = l;
double r5969974 = cbrt(r5969973);
double r5969975 = r5969972 / r5969974;
double r5969976 = fabs(r5969975);
double r5969977 = r5969967 * r5969976;
double r5969978 = cbrt(r5969969);
double r5969979 = r5969978 * r5969978;
double r5969980 = r5969979 * r5969978;
double r5969981 = r5969980 / r5969971;
double r5969982 = r5969981 / r5969974;
double r5969983 = sqrt(r5969982);
double r5969984 = r5969977 * r5969983;
return r5969984;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 19.2
rmApplied associate-/r*19.0
rmApplied add-cube-cbrt19.3
Applied add-cube-cbrt19.4
Applied add-cube-cbrt19.5
Applied times-frac19.5
Applied times-frac15.5
Applied sqrt-prod7.3
Applied associate-*r*7.3
Simplified1.1
rmApplied add-cube-cbrt1.2
Final simplification1.2
herbie shell --seed 2019174 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))