c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\left(\left|\frac{\sqrt[3]{A}}{\sqrt[3]{V} \cdot \sqrt[3]{\ell}}\right| \cdot c0\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{\ell}}}{\sqrt[3]{\sqrt[3]{V}} \cdot \sqrt[3]{\sqrt[3]{V} \cdot \sqrt[3]{V}}}}double f(double c0, double A, double V, double l) {
double r3425508 = c0;
double r3425509 = A;
double r3425510 = V;
double r3425511 = l;
double r3425512 = r3425510 * r3425511;
double r3425513 = r3425509 / r3425512;
double r3425514 = sqrt(r3425513);
double r3425515 = r3425508 * r3425514;
return r3425515;
}
double f(double c0, double A, double V, double l) {
double r3425516 = A;
double r3425517 = cbrt(r3425516);
double r3425518 = V;
double r3425519 = cbrt(r3425518);
double r3425520 = l;
double r3425521 = cbrt(r3425520);
double r3425522 = r3425519 * r3425521;
double r3425523 = r3425517 / r3425522;
double r3425524 = fabs(r3425523);
double r3425525 = c0;
double r3425526 = r3425524 * r3425525;
double r3425527 = r3425517 / r3425521;
double r3425528 = cbrt(r3425519);
double r3425529 = r3425519 * r3425519;
double r3425530 = cbrt(r3425529);
double r3425531 = r3425528 * r3425530;
double r3425532 = r3425527 / r3425531;
double r3425533 = sqrt(r3425532);
double r3425534 = r3425526 * r3425533;
return r3425534;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 18.3
rmApplied add-cube-cbrt18.6
Applied times-frac18.0
rmApplied associate-*l/19.0
Simplified18.6
rmApplied add-cube-cbrt19.0
Applied add-cube-cbrt19.1
Applied add-cube-cbrt19.2
Applied times-frac19.2
Applied times-frac15.0
Applied sqrt-prod7.1
Applied associate-*r*7.1
Simplified1.1
rmApplied add-cube-cbrt1.2
Applied cbrt-prod1.2
Final simplification1.2
herbie shell --seed 2019141
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))