c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\left(\left|\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}}\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 r155510 = c0;
double r155511 = A;
double r155512 = V;
double r155513 = l;
double r155514 = r155512 * r155513;
double r155515 = r155511 / r155514;
double r155516 = sqrt(r155515);
double r155517 = r155510 * r155516;
return r155517;
}
double f(double c0, double A, double V, double l) {
double r155518 = A;
double r155519 = cbrt(r155518);
double r155520 = V;
double r155521 = cbrt(r155520);
double r155522 = cbrt(r155521);
double r155523 = r155522 * r155522;
double r155524 = r155523 * r155522;
double r155525 = r155519 / r155524;
double r155526 = l;
double r155527 = cbrt(r155526);
double r155528 = r155525 / r155527;
double r155529 = fabs(r155528);
double r155530 = c0;
double r155531 = r155529 * r155530;
double r155532 = r155519 / r155521;
double r155533 = r155532 / r155527;
double r155534 = sqrt(r155533);
double r155535 = r155531 * r155534;
return r155535;
}



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.6
rmApplied add-cube-cbrt19.0
Applied add-cube-cbrt19.1
Applied add-cube-cbrt19.2
Applied times-frac19.2
Applied times-frac15.1
Applied sqrt-prod7.1
Applied associate-*r*7.1
Simplified1.1
rmApplied add-cube-cbrt1.5
Final simplification1.5
herbie shell --seed 2020045 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))