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)}}{\ell} \cdot \left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right)}double f(double w0, double M, double D, double h, double l, double d) {
double r134361 = w0;
double r134362 = 1.0;
double r134363 = M;
double r134364 = D;
double r134365 = r134363 * r134364;
double r134366 = 2.0;
double r134367 = d;
double r134368 = r134366 * r134367;
double r134369 = r134365 / r134368;
double r134370 = pow(r134369, r134366);
double r134371 = h;
double r134372 = l;
double r134373 = r134371 / r134372;
double r134374 = r134370 * r134373;
double r134375 = r134362 - r134374;
double r134376 = sqrt(r134375);
double r134377 = r134361 * r134376;
return r134377;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r134378 = w0;
double r134379 = 1.0;
double r134380 = M;
double r134381 = D;
double r134382 = r134380 * r134381;
double r134383 = 2.0;
double r134384 = d;
double r134385 = r134383 * r134384;
double r134386 = r134382 / r134385;
double r134387 = 2.0;
double r134388 = r134383 / r134387;
double r134389 = pow(r134386, r134388);
double r134390 = l;
double r134391 = r134389 / r134390;
double r134392 = h;
double r134393 = r134389 * r134392;
double r134394 = r134391 * r134393;
double r134395 = r134379 - r134394;
double r134396 = sqrt(r134395);
double r134397 = r134378 * r134396;
return r134397;
}



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.3
rmApplied associate-*r/11.0
rmApplied associate-/l*13.8
rmApplied div-inv13.8
Applied sqr-pow13.8
Applied times-frac9.0
Simplified9.0
Final simplification9.0
herbie shell --seed 2019199 +o rules:numerics
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1.0 (* (pow (/ (* M D) (* 2.0 d)) 2.0) (/ h l))))))