w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\sqrt{1 - \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\left(\left(\frac{D \cdot M}{2 \cdot d} \cdot \sqrt[3]{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}\right) \cdot \left(\sqrt[3]{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot \sqrt[3]{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}\right)\right) \cdot \left(\frac{D \cdot M}{2 \cdot d} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right)} \cdot w0double f(double w0, double M, double D, double h, double l, double d) {
double r3403174 = w0;
double r3403175 = 1.0;
double r3403176 = M;
double r3403177 = D;
double r3403178 = r3403176 * r3403177;
double r3403179 = 2.0;
double r3403180 = d;
double r3403181 = r3403179 * r3403180;
double r3403182 = r3403178 / r3403181;
double r3403183 = pow(r3403182, r3403179);
double r3403184 = h;
double r3403185 = l;
double r3403186 = r3403184 / r3403185;
double r3403187 = r3403183 * r3403186;
double r3403188 = r3403175 - r3403187;
double r3403189 = sqrt(r3403188);
double r3403190 = r3403174 * r3403189;
return r3403190;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r3403191 = 1.0;
double r3403192 = h;
double r3403193 = cbrt(r3403192);
double r3403194 = l;
double r3403195 = cbrt(r3403194);
double r3403196 = r3403193 / r3403195;
double r3403197 = D;
double r3403198 = M;
double r3403199 = r3403197 * r3403198;
double r3403200 = 2.0;
double r3403201 = d;
double r3403202 = r3403200 * r3403201;
double r3403203 = r3403199 / r3403202;
double r3403204 = cbrt(r3403196);
double r3403205 = r3403203 * r3403204;
double r3403206 = r3403204 * r3403204;
double r3403207 = r3403205 * r3403206;
double r3403208 = r3403203 * r3403196;
double r3403209 = r3403207 * r3403208;
double r3403210 = r3403196 * r3403209;
double r3403211 = r3403191 - r3403210;
double r3403212 = sqrt(r3403211);
double r3403213 = w0;
double r3403214 = r3403212 * r3403213;
return r3403214;
}



Bits error versus w0



Bits error versus M



Bits error versus D



Bits error versus h



Bits error versus l



Bits error versus d
Results
Initial program 13.0
Simplified13.0
rmApplied add-cube-cbrt13.0
Applied add-cube-cbrt13.1
Applied times-frac13.1
Applied associate-*r*10.1
Simplified7.5
rmApplied add-cube-cbrt7.5
Applied associate-*l*7.5
Final simplification7.5
herbie shell --seed 2019152 +o rules:numerics
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))