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]{\sqrt[3]{V} \cdot \sqrt[3]{V}}}}{\sqrt[3]{\ell}}}double f(double c0, double A, double V, double l) {
double r16445964 = c0;
double r16445965 = A;
double r16445966 = V;
double r16445967 = l;
double r16445968 = r16445966 * r16445967;
double r16445969 = r16445965 / r16445968;
double r16445970 = sqrt(r16445969);
double r16445971 = r16445964 * r16445970;
return r16445971;
}
double f(double c0, double A, double V, double l) {
double r16445972 = A;
double r16445973 = cbrt(r16445972);
double r16445974 = V;
double r16445975 = cbrt(r16445974);
double r16445976 = r16445973 / r16445975;
double r16445977 = l;
double r16445978 = cbrt(r16445977);
double r16445979 = r16445976 / r16445978;
double r16445980 = fabs(r16445979);
double r16445981 = c0;
double r16445982 = r16445980 * r16445981;
double r16445983 = cbrt(r16445975);
double r16445984 = r16445975 * r16445975;
double r16445985 = cbrt(r16445984);
double r16445986 = r16445983 * r16445985;
double r16445987 = r16445973 / r16445986;
double r16445988 = r16445987 / r16445978;
double r16445989 = sqrt(r16445988);
double r16445990 = r16445982 * r16445989;
return r16445990;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
Initial program 19.3
rmApplied associate-/r*19.5
rmApplied add-cube-cbrt19.8
Applied add-cube-cbrt20.0
Applied add-cube-cbrt20.0
Applied times-frac20.0
Applied times-frac15.8
Applied sqrt-prod7.6
Simplified2.3
rmApplied associate-*r*1.2
rmApplied add-cube-cbrt1.2
Applied cbrt-prod1.2
Final simplification1.2
herbie shell --seed 2019107 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))