c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{\sqrt[3]{V}} \cdot \left(\sqrt[3]{\sqrt[3]{V}} \cdot \sqrt[3]{\sqrt[3]{V}}\right)}}{\sqrt[3]{\ell}}} \cdot \left(c0 \cdot \left|\frac{\sqrt[3]{A}}{\sqrt[3]{\ell} \cdot \sqrt[3]{V}}\right|\right)double f(double c0, double A, double V, double l) {
double r46440092 = c0;
double r46440093 = A;
double r46440094 = V;
double r46440095 = l;
double r46440096 = r46440094 * r46440095;
double r46440097 = r46440093 / r46440096;
double r46440098 = sqrt(r46440097);
double r46440099 = r46440092 * r46440098;
return r46440099;
}
double f(double c0, double A, double V, double l) {
double r46440100 = A;
double r46440101 = cbrt(r46440100);
double r46440102 = V;
double r46440103 = cbrt(r46440102);
double r46440104 = cbrt(r46440103);
double r46440105 = r46440104 * r46440104;
double r46440106 = r46440104 * r46440105;
double r46440107 = r46440101 / r46440106;
double r46440108 = l;
double r46440109 = cbrt(r46440108);
double r46440110 = r46440107 / r46440109;
double r46440111 = sqrt(r46440110);
double r46440112 = c0;
double r46440113 = r46440109 * r46440103;
double r46440114 = r46440101 / r46440113;
double r46440115 = fabs(r46440114);
double r46440116 = r46440112 * r46440115;
double r46440117 = r46440111 * r46440116;
return r46440117;
}



Bits error versus c0



Bits error versus A



Bits error versus V



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