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 r140409 = c0;
double r140410 = A;
double r140411 = V;
double r140412 = l;
double r140413 = r140411 * r140412;
double r140414 = r140410 / r140413;
double r140415 = sqrt(r140414);
double r140416 = r140409 * r140415;
return r140416;
}
double f(double c0, double A, double V, double l) {
double r140417 = A;
double r140418 = cbrt(r140417);
double r140419 = V;
double r140420 = cbrt(r140419);
double r140421 = r140418 / r140420;
double r140422 = l;
double r140423 = cbrt(r140422);
double r140424 = r140421 / r140423;
double r140425 = fabs(r140424);
double r140426 = c0;
double r140427 = r140425 * r140426;
double r140428 = cbrt(r140423);
double r140429 = r140428 * r140428;
double r140430 = r140429 * r140428;
double r140431 = r140421 / r140430;
double r140432 = sqrt(r140431);
double r140433 = r140427 * r140432;
return r140433;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 19.2
rmApplied associate-/r*18.9
rmApplied add-cube-cbrt19.2
Applied add-cube-cbrt19.4
Applied add-cube-cbrt19.4
Applied times-frac19.4
Applied times-frac15.1
Applied sqrt-prod6.8
Applied associate-*r*6.8
Simplified1.2
rmApplied add-cube-cbrt1.3
Final simplification1.3
herbie shell --seed 2020036
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))