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{\left(\sqrt[3]{\sqrt[3]{A}} \cdot \sqrt[3]{\sqrt[3]{A}}\right) \cdot \sqrt[3]{\sqrt[3]{A}}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}}double f(double c0, double A, double V, double l) {
double r152450 = c0;
double r152451 = A;
double r152452 = V;
double r152453 = l;
double r152454 = r152452 * r152453;
double r152455 = r152451 / r152454;
double r152456 = sqrt(r152455);
double r152457 = r152450 * r152456;
return r152457;
}
double f(double c0, double A, double V, double l) {
double r152458 = A;
double r152459 = cbrt(r152458);
double r152460 = V;
double r152461 = cbrt(r152460);
double r152462 = r152459 / r152461;
double r152463 = l;
double r152464 = cbrt(r152463);
double r152465 = r152462 / r152464;
double r152466 = fabs(r152465);
double r152467 = c0;
double r152468 = r152466 * r152467;
double r152469 = cbrt(r152459);
double r152470 = r152469 * r152469;
double r152471 = r152470 * r152469;
double r152472 = r152471 / r152461;
double r152473 = r152472 / r152464;
double r152474 = sqrt(r152473);
double r152475 = r152468 * r152474;
return r152475;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 19.4
rmApplied associate-/r*19.4
rmApplied add-cube-cbrt19.7
Applied add-cube-cbrt19.8
Applied add-cube-cbrt19.9
Applied times-frac19.9
Applied times-frac15.7
Applied sqrt-prod6.8
Applied associate-*r*6.8
Simplified1.1
rmApplied add-cube-cbrt1.3
Final simplification1.3
herbie shell --seed 2019326 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))