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{\sqrt[3]{A}}{\sqrt[3]{\sqrt[3]{V} \cdot \sqrt[3]{V}} \cdot \sqrt[3]{\sqrt[3]{V}}}}{\sqrt[3]{\ell}}}double f(double c0, double A, double V, double l) {
double r146722 = c0;
double r146723 = A;
double r146724 = V;
double r146725 = l;
double r146726 = r146724 * r146725;
double r146727 = r146723 / r146726;
double r146728 = sqrt(r146727);
double r146729 = r146722 * r146728;
return r146729;
}
double f(double c0, double A, double V, double l) {
double r146730 = A;
double r146731 = cbrt(r146730);
double r146732 = V;
double r146733 = cbrt(r146732);
double r146734 = r146731 / r146733;
double r146735 = l;
double r146736 = cbrt(r146735);
double r146737 = r146734 / r146736;
double r146738 = fabs(r146737);
double r146739 = c0;
double r146740 = r146738 * r146739;
double r146741 = r146733 * r146733;
double r146742 = cbrt(r146741);
double r146743 = cbrt(r146733);
double r146744 = r146742 * r146743;
double r146745 = r146731 / r146744;
double r146746 = r146745 / r146736;
double r146747 = sqrt(r146746);
double r146748 = r146740 * r146747;
return r146748;
}



Bits error versus c0



Bits error versus A



Bits error versus V



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