w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\sqrt[3]{h} \cdot \sqrt[3]{h}\right)\right) \cdot \sqrt[3]{h}\right)}{\ell}}double f(double w0, double M, double D, double h, double l, double d) {
double r192300 = w0;
double r192301 = 1.0;
double r192302 = M;
double r192303 = D;
double r192304 = r192302 * r192303;
double r192305 = 2.0;
double r192306 = d;
double r192307 = r192305 * r192306;
double r192308 = r192304 / r192307;
double r192309 = pow(r192308, r192305);
double r192310 = h;
double r192311 = l;
double r192312 = r192310 / r192311;
double r192313 = r192309 * r192312;
double r192314 = r192301 - r192313;
double r192315 = sqrt(r192314);
double r192316 = r192300 * r192315;
return r192316;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r192317 = w0;
double r192318 = 1.0;
double r192319 = M;
double r192320 = D;
double r192321 = r192319 * r192320;
double r192322 = 2.0;
double r192323 = d;
double r192324 = r192322 * r192323;
double r192325 = r192321 / r192324;
double r192326 = 2.0;
double r192327 = r192322 / r192326;
double r192328 = pow(r192325, r192327);
double r192329 = h;
double r192330 = cbrt(r192329);
double r192331 = r192330 * r192330;
double r192332 = r192328 * r192331;
double r192333 = r192332 * r192330;
double r192334 = r192328 * r192333;
double r192335 = l;
double r192336 = r192334 / r192335;
double r192337 = r192318 - r192336;
double r192338 = sqrt(r192337);
double r192339 = r192317 * r192338;
return r192339;
}



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 14.5
rmApplied associate-*r/11.0
rmApplied sqr-pow11.0
Applied associate-*l*9.6
rmApplied add-cube-cbrt9.6
Applied associate-*r*9.6
Final simplification9.6
herbie shell --seed 2020060 +o rules:numerics
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
:precision binary64
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))