c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\left(\left|\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}}}\right| \cdot c0\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}}double f(double c0, double A, double V, double l) {
double r216346 = c0;
double r216347 = A;
double r216348 = V;
double r216349 = l;
double r216350 = r216348 * r216349;
double r216351 = r216347 / r216350;
double r216352 = sqrt(r216351);
double r216353 = r216346 * r216352;
return r216353;
}
double f(double c0, double A, double V, double l) {
double r216354 = A;
double r216355 = cbrt(r216354);
double r216356 = V;
double r216357 = cbrt(r216356);
double r216358 = r216355 / r216357;
double r216359 = l;
double r216360 = cbrt(r216359);
double r216361 = cbrt(r216360);
double r216362 = r216361 * r216361;
double r216363 = r216362 * r216361;
double r216364 = r216358 / r216363;
double r216365 = fabs(r216364);
double r216366 = c0;
double r216367 = r216365 * r216366;
double r216368 = r216358 / r216360;
double r216369 = sqrt(r216368);
double r216370 = r216367 * r216369;
return r216370;
}



Bits error versus c0



Bits error versus A



Bits error versus V



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