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 r111614 = c0;
double r111615 = A;
double r111616 = V;
double r111617 = l;
double r111618 = r111616 * r111617;
double r111619 = r111615 / r111618;
double r111620 = sqrt(r111619);
double r111621 = r111614 * r111620;
return r111621;
}
double f(double c0, double A, double V, double l) {
double r111622 = A;
double r111623 = cbrt(r111622);
double r111624 = V;
double r111625 = cbrt(r111624);
double r111626 = r111623 / r111625;
double r111627 = l;
double r111628 = cbrt(r111627);
double r111629 = r111626 / r111628;
double r111630 = fabs(r111629);
double r111631 = c0;
double r111632 = r111630 * r111631;
double r111633 = cbrt(r111628);
double r111634 = r111633 * r111633;
double r111635 = r111634 * r111633;
double r111636 = r111626 / r111635;
double r111637 = sqrt(r111636);
double r111638 = r111632 * r111637;
return r111638;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 19.2
rmApplied associate-/r*19.4
rmApplied add-cube-cbrt19.8
Applied add-cube-cbrt19.9
Applied add-cube-cbrt20.0
Applied times-frac20.0
Applied times-frac15.5
Applied sqrt-prod7.2
Applied associate-*r*7.2
Simplified1.1
rmApplied add-cube-cbrt1.3
Final simplification1.3
herbie shell --seed 2019304
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))