c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{\sqrt[3]{\ell}} \cdot \left(\sqrt[3]{\sqrt[3]{\ell}} \cdot \sqrt[3]{\sqrt[3]{\ell}}\right)}}{\sqrt[3]{V}}} \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 r3568281 = c0;
double r3568282 = A;
double r3568283 = V;
double r3568284 = l;
double r3568285 = r3568283 * r3568284;
double r3568286 = r3568282 / r3568285;
double r3568287 = sqrt(r3568286);
double r3568288 = r3568281 * r3568287;
return r3568288;
}
double f(double c0, double A, double V, double l) {
double r3568289 = A;
double r3568290 = cbrt(r3568289);
double r3568291 = l;
double r3568292 = cbrt(r3568291);
double r3568293 = cbrt(r3568292);
double r3568294 = r3568293 * r3568293;
double r3568295 = r3568293 * r3568294;
double r3568296 = r3568290 / r3568295;
double r3568297 = V;
double r3568298 = cbrt(r3568297);
double r3568299 = r3568296 / r3568298;
double r3568300 = sqrt(r3568299);
double r3568301 = c0;
double r3568302 = r3568292 * r3568298;
double r3568303 = r3568290 / r3568302;
double r3568304 = fabs(r3568303);
double r3568305 = r3568301 * r3568304;
double r3568306 = r3568300 * r3568305;
return r3568306;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 18.3
rmApplied add-cube-cbrt18.6
Applied times-frac17.5
rmApplied associate-*l/18.9
Simplified18.5
rmApplied add-cube-cbrt18.9
Applied add-cube-cbrt19.0
Applied add-cube-cbrt19.1
Applied times-frac19.1
Applied times-frac14.9
Applied sqrt-prod6.9
Applied associate-*r*6.9
Simplified1.1
rmApplied add-cube-cbrt1.3
Final simplification1.3
herbie shell --seed 2019158 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))