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}}{\left(\sqrt[3]{\sqrt[3]{V}} \cdot \sqrt[3]{\sqrt[3]{V}}\right) \cdot \sqrt[3]{\sqrt[3]{V}}}}{\sqrt[3]{\ell}}}double f(double c0, double A, double V, double l) {
double r254355 = c0;
double r254356 = A;
double r254357 = V;
double r254358 = l;
double r254359 = r254357 * r254358;
double r254360 = r254356 / r254359;
double r254361 = sqrt(r254360);
double r254362 = r254355 * r254361;
return r254362;
}
double f(double c0, double A, double V, double l) {
double r254363 = A;
double r254364 = cbrt(r254363);
double r254365 = V;
double r254366 = cbrt(r254365);
double r254367 = r254364 / r254366;
double r254368 = l;
double r254369 = cbrt(r254368);
double r254370 = r254367 / r254369;
double r254371 = fabs(r254370);
double r254372 = c0;
double r254373 = r254371 * r254372;
double r254374 = cbrt(r254366);
double r254375 = r254374 * r254374;
double r254376 = r254375 * r254374;
double r254377 = r254364 / r254376;
double r254378 = r254377 / r254369;
double r254379 = sqrt(r254378);
double r254380 = r254373 * r254379;
return r254380;
}



Bits error versus c0



Bits error versus A



Bits error versus V



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