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{\left(\sqrt[3]{\sqrt[3]{A}} \cdot \sqrt[3]{\sqrt[3]{A}}\right) \cdot \sqrt[3]{\sqrt[3]{A}}}{\sqrt[3]{\ell}}}{\sqrt[3]{V}}}double f(double c0, double A, double V, double l) {
double r127568 = c0;
double r127569 = A;
double r127570 = V;
double r127571 = l;
double r127572 = r127570 * r127571;
double r127573 = r127569 / r127572;
double r127574 = sqrt(r127573);
double r127575 = r127568 * r127574;
return r127575;
}
double f(double c0, double A, double V, double l) {
double r127576 = A;
double r127577 = cbrt(r127576);
double r127578 = l;
double r127579 = cbrt(r127578);
double r127580 = r127577 / r127579;
double r127581 = V;
double r127582 = cbrt(r127581);
double r127583 = r127580 / r127582;
double r127584 = fabs(r127583);
double r127585 = c0;
double r127586 = r127584 * r127585;
double r127587 = cbrt(r127577);
double r127588 = r127587 * r127587;
double r127589 = r127588 * r127587;
double r127590 = r127589 / r127579;
double r127591 = r127590 / r127582;
double r127592 = sqrt(r127591);
double r127593 = r127586 * r127592;
return r127593;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 19.4
rmApplied add-cube-cbrt19.7
Applied times-frac18.3
rmApplied associate-*l/19.5
Simplified19.2
rmApplied add-cube-cbrt19.5
Applied add-cube-cbrt19.6
Applied add-cube-cbrt19.7
Applied times-frac19.7
Applied times-frac15.6
Applied sqrt-prod7.1
Applied associate-*r*7.1
Simplified1.2
rmApplied add-cube-cbrt1.3
Final simplification1.3
herbie shell --seed 2019325
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))