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]{V}}}{\left(\sqrt[3]{\sqrt[3]{\ell}} \cdot \sqrt[3]{\sqrt[3]{\ell}}\right) \cdot \sqrt[3]{\sqrt[3]{\ell}}}}double f(double c0, double A, double V, double l) {
double r139737 = c0;
double r139738 = A;
double r139739 = V;
double r139740 = l;
double r139741 = r139739 * r139740;
double r139742 = r139738 / r139741;
double r139743 = sqrt(r139742);
double r139744 = r139737 * r139743;
return r139744;
}
double f(double c0, double A, double V, double l) {
double r139745 = A;
double r139746 = cbrt(r139745);
double r139747 = V;
double r139748 = cbrt(r139747);
double r139749 = r139746 / r139748;
double r139750 = l;
double r139751 = cbrt(r139750);
double r139752 = r139749 / r139751;
double r139753 = fabs(r139752);
double r139754 = c0;
double r139755 = r139753 * r139754;
double r139756 = cbrt(r139751);
double r139757 = r139756 * r139756;
double r139758 = r139757 * r139756;
double r139759 = r139749 / r139758;
double r139760 = sqrt(r139759);
double r139761 = r139755 * r139760;
return r139761;
}



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.4
rmApplied add-cube-cbrt19.8
Applied add-cube-cbrt19.9
Applied add-cube-cbrt20.0
Applied times-frac20.0
Applied times-frac15.5
Applied sqrt-prod7.2
Applied associate-*r*7.2
Simplified1.1
rmApplied add-cube-cbrt1.3
Final simplification1.3
herbie shell --seed 2019304 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))