c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\left(c0 \cdot \left|\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{\ell}}}{\sqrt[3]{V}}\right|\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{\sqrt[3]{V}} \cdot \sqrt[3]{\sqrt[3]{V} \cdot \sqrt[3]{V}}}}{\sqrt[3]{\ell}}}double f(double c0, double A, double V, double l) {
double r3176664 = c0;
double r3176665 = A;
double r3176666 = V;
double r3176667 = l;
double r3176668 = r3176666 * r3176667;
double r3176669 = r3176665 / r3176668;
double r3176670 = sqrt(r3176669);
double r3176671 = r3176664 * r3176670;
return r3176671;
}
double f(double c0, double A, double V, double l) {
double r3176672 = c0;
double r3176673 = A;
double r3176674 = cbrt(r3176673);
double r3176675 = l;
double r3176676 = cbrt(r3176675);
double r3176677 = r3176674 / r3176676;
double r3176678 = V;
double r3176679 = cbrt(r3176678);
double r3176680 = r3176677 / r3176679;
double r3176681 = fabs(r3176680);
double r3176682 = r3176672 * r3176681;
double r3176683 = cbrt(r3176679);
double r3176684 = r3176679 * r3176679;
double r3176685 = cbrt(r3176684);
double r3176686 = r3176683 * r3176685;
double r3176687 = r3176674 / r3176686;
double r3176688 = r3176687 / r3176676;
double r3176689 = sqrt(r3176688);
double r3176690 = r3176682 * r3176689;
return r3176690;
}



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.2
rmApplied add-cube-cbrt19.5
Applied add-cube-cbrt19.6
Applied add-cube-cbrt19.7
Applied times-frac19.7
Applied times-frac15.5
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 2019149 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))