c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\left(\left|\frac{\frac{\sqrt[3]{\sqrt[3]{A}} \cdot \left(\sqrt[3]{\sqrt[3]{A}} \cdot \sqrt[3]{\sqrt[3]{A}}\right)}{\sqrt[3]{\ell}}}{\sqrt[3]{V}}\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 r128990 = c0;
double r128991 = A;
double r128992 = V;
double r128993 = l;
double r128994 = r128992 * r128993;
double r128995 = r128991 / r128994;
double r128996 = sqrt(r128995);
double r128997 = r128990 * r128996;
return r128997;
}
double f(double c0, double A, double V, double l) {
double r128998 = A;
double r128999 = cbrt(r128998);
double r129000 = cbrt(r128999);
double r129001 = r129000 * r129000;
double r129002 = r129000 * r129001;
double r129003 = l;
double r129004 = cbrt(r129003);
double r129005 = r129002 / r129004;
double r129006 = V;
double r129007 = cbrt(r129006);
double r129008 = r129005 / r129007;
double r129009 = fabs(r129008);
double r129010 = c0;
double r129011 = r129009 * r129010;
double r129012 = r128999 / r129007;
double r129013 = r129012 / r129004;
double r129014 = sqrt(r129013);
double r129015 = r129011 * r129014;
return r129015;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 20.1
rmApplied associate-/r*19.6
rmApplied add-cube-cbrt20.0
Applied add-cube-cbrt20.1
Applied add-cube-cbrt20.2
Applied times-frac20.2
Applied times-frac16.1
Applied sqrt-prod7.5
Applied associate-*r*7.5
Simplified1.1
rmApplied add-cube-cbrt1.5
Final simplification1.5
herbie shell --seed 2019194 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))