w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\left(\frac{\left(\sqrt[3]{\frac{M}{d} \cdot D} \cdot \sqrt[3]{\frac{M}{d} \cdot D}\right) \cdot \sqrt[3]{\frac{M}{d} \cdot D}}{2} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \frac{\frac{M}{d} \cdot D}{2}\right)\right)}double f(double w0, double M, double D, double h, double l, double d) {
double r3800301 = w0;
double r3800302 = 1.0;
double r3800303 = M;
double r3800304 = D;
double r3800305 = r3800303 * r3800304;
double r3800306 = 2.0;
double r3800307 = d;
double r3800308 = r3800306 * r3800307;
double r3800309 = r3800305 / r3800308;
double r3800310 = pow(r3800309, r3800306);
double r3800311 = h;
double r3800312 = l;
double r3800313 = r3800311 / r3800312;
double r3800314 = r3800310 * r3800313;
double r3800315 = r3800302 - r3800314;
double r3800316 = sqrt(r3800315);
double r3800317 = r3800301 * r3800316;
return r3800317;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r3800318 = w0;
double r3800319 = 1.0;
double r3800320 = h;
double r3800321 = cbrt(r3800320);
double r3800322 = l;
double r3800323 = cbrt(r3800322);
double r3800324 = r3800321 / r3800323;
double r3800325 = M;
double r3800326 = d;
double r3800327 = r3800325 / r3800326;
double r3800328 = D;
double r3800329 = r3800327 * r3800328;
double r3800330 = cbrt(r3800329);
double r3800331 = r3800330 * r3800330;
double r3800332 = r3800331 * r3800330;
double r3800333 = 2.0;
double r3800334 = r3800332 / r3800333;
double r3800335 = r3800334 * r3800324;
double r3800336 = r3800329 / r3800333;
double r3800337 = r3800324 * r3800336;
double r3800338 = r3800335 * r3800337;
double r3800339 = r3800324 * r3800338;
double r3800340 = r3800319 - r3800339;
double r3800341 = sqrt(r3800340);
double r3800342 = r3800318 * r3800341;
return r3800342;
}



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.5
Simplified13.5
rmApplied add-cube-cbrt13.5
Applied add-cube-cbrt13.5
Applied times-frac13.5
Applied associate-*r*10.5
Simplified7.9
rmApplied add-cube-cbrt7.9
Final simplification7.9
herbie shell --seed 2019135 +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))))))