c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\left(c0 \cdot \left|\frac{\frac{\sqrt[3]{\sqrt[3]{A} \cdot \sqrt[3]{A}} \cdot \sqrt[3]{\sqrt[3]{A}}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}\right|\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}}double f(double c0, double A, double V, double l) {
double r1875757 = c0;
double r1875758 = A;
double r1875759 = V;
double r1875760 = l;
double r1875761 = r1875759 * r1875760;
double r1875762 = r1875758 / r1875761;
double r1875763 = sqrt(r1875762);
double r1875764 = r1875757 * r1875763;
return r1875764;
}
double f(double c0, double A, double V, double l) {
double r1875765 = c0;
double r1875766 = A;
double r1875767 = cbrt(r1875766);
double r1875768 = r1875767 * r1875767;
double r1875769 = cbrt(r1875768);
double r1875770 = cbrt(r1875767);
double r1875771 = r1875769 * r1875770;
double r1875772 = V;
double r1875773 = cbrt(r1875772);
double r1875774 = r1875771 / r1875773;
double r1875775 = l;
double r1875776 = cbrt(r1875775);
double r1875777 = r1875774 / r1875776;
double r1875778 = fabs(r1875777);
double r1875779 = r1875765 * r1875778;
double r1875780 = r1875767 / r1875773;
double r1875781 = r1875780 / r1875776;
double r1875782 = sqrt(r1875781);
double r1875783 = r1875779 * r1875782;
return r1875783;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 18.5
rmApplied associate-/r*18.5
rmApplied add-cube-cbrt18.8
Applied add-cube-cbrt18.9
Applied add-cube-cbrt19.0
Applied times-frac19.0
Applied times-frac14.9
Applied sqrt-prod7.0
Applied associate-*r*7.0
Simplified1.1
rmApplied add-cube-cbrt1.2
Applied cbrt-prod1.3
Final simplification1.3
herbie shell --seed 2019152 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))