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]{\sqrt[3]{V} \cdot \sqrt[3]{V}} \cdot \sqrt[3]{\sqrt[3]{V}}}}{\sqrt[3]{\ell}}}double f(double c0, double A, double V, double l) {
double r183525 = c0;
double r183526 = A;
double r183527 = V;
double r183528 = l;
double r183529 = r183527 * r183528;
double r183530 = r183526 / r183529;
double r183531 = sqrt(r183530);
double r183532 = r183525 * r183531;
return r183532;
}
double f(double c0, double A, double V, double l) {
double r183533 = A;
double r183534 = cbrt(r183533);
double r183535 = V;
double r183536 = cbrt(r183535);
double r183537 = r183534 / r183536;
double r183538 = l;
double r183539 = cbrt(r183538);
double r183540 = r183537 / r183539;
double r183541 = fabs(r183540);
double r183542 = c0;
double r183543 = r183541 * r183542;
double r183544 = r183536 * r183536;
double r183545 = cbrt(r183544);
double r183546 = cbrt(r183536);
double r183547 = r183545 * r183546;
double r183548 = r183534 / r183547;
double r183549 = r183548 / r183539;
double r183550 = sqrt(r183549);
double r183551 = r183543 * r183550;
return r183551;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 19.0
rmApplied associate-/r*19.3
rmApplied add-cube-cbrt19.6
Applied add-cube-cbrt19.7
Applied add-cube-cbrt19.8
Applied times-frac19.8
Applied times-frac15.7
Applied sqrt-prod7.4
Applied associate-*r*7.3
Simplified1.2
rmApplied add-cube-cbrt1.2
Applied cbrt-prod1.2
Final simplification1.2
herbie shell --seed 2020083
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))