c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\left(\left|\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}\right| \cdot c0\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 r122713 = c0;
double r122714 = A;
double r122715 = V;
double r122716 = l;
double r122717 = r122715 * r122716;
double r122718 = r122714 / r122717;
double r122719 = sqrt(r122718);
double r122720 = r122713 * r122719;
return r122720;
}
double f(double c0, double A, double V, double l) {
double r122721 = A;
double r122722 = cbrt(r122721);
double r122723 = V;
double r122724 = cbrt(r122723);
double r122725 = r122722 / r122724;
double r122726 = l;
double r122727 = cbrt(r122726);
double r122728 = r122725 / r122727;
double r122729 = fabs(r122728);
double r122730 = c0;
double r122731 = r122729 * r122730;
double r122732 = cbrt(r122722);
double r122733 = r122732 * r122732;
double r122734 = r122733 * r122732;
double r122735 = r122734 / r122724;
double r122736 = r122735 / r122727;
double r122737 = sqrt(r122736);
double r122738 = r122731 * r122737;
return r122738;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 19.4
rmApplied associate-/r*19.4
rmApplied add-cube-cbrt19.7
Applied add-cube-cbrt19.8
Applied add-cube-cbrt19.9
Applied times-frac19.9
Applied times-frac15.7
Applied sqrt-prod6.8
Applied associate-*r*6.8
Simplified1.1
rmApplied add-cube-cbrt1.3
Final simplification1.3
herbie shell --seed 2019326 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))