c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\left(\left|\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{\ell}}}{\sqrt[3]{V}}\right| \cdot c0\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{\ell}}}{\sqrt[3]{V}}}double f(double c0, double A, double V, double l) {
double r220999 = c0;
double r221000 = A;
double r221001 = V;
double r221002 = l;
double r221003 = r221001 * r221002;
double r221004 = r221000 / r221003;
double r221005 = sqrt(r221004);
double r221006 = r220999 * r221005;
return r221006;
}
double f(double c0, double A, double V, double l) {
double r221007 = A;
double r221008 = cbrt(r221007);
double r221009 = l;
double r221010 = cbrt(r221009);
double r221011 = r221008 / r221010;
double r221012 = V;
double r221013 = cbrt(r221012);
double r221014 = r221011 / r221013;
double r221015 = fabs(r221014);
double r221016 = c0;
double r221017 = r221015 * r221016;
double r221018 = sqrt(r221014);
double r221019 = r221017 * r221018;
return r221019;
}



Bits error versus c0



Bits error versus A



Bits error versus V



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