w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\ell}}double f(double w0, double M, double D, double h, double l, double d) {
double r156205 = w0;
double r156206 = 1.0;
double r156207 = M;
double r156208 = D;
double r156209 = r156207 * r156208;
double r156210 = 2.0;
double r156211 = d;
double r156212 = r156210 * r156211;
double r156213 = r156209 / r156212;
double r156214 = pow(r156213, r156210);
double r156215 = h;
double r156216 = l;
double r156217 = r156215 / r156216;
double r156218 = r156214 * r156217;
double r156219 = r156206 - r156218;
double r156220 = sqrt(r156219);
double r156221 = r156205 * r156220;
return r156221;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r156222 = w0;
double r156223 = 1.0;
double r156224 = M;
double r156225 = D;
double r156226 = r156224 * r156225;
double r156227 = 2.0;
double r156228 = d;
double r156229 = r156227 * r156228;
double r156230 = r156226 / r156229;
double r156231 = 2.0;
double r156232 = r156227 / r156231;
double r156233 = pow(r156230, r156232);
double r156234 = h;
double r156235 = r156233 * r156234;
double r156236 = l;
double r156237 = r156235 / r156236;
double r156238 = r156233 * r156237;
double r156239 = r156223 - r156238;
double r156240 = sqrt(r156239);
double r156241 = r156222 * r156240;
return r156241;
}



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.1
rmApplied associate-*r/10.9
rmApplied sqr-pow10.9
Applied associate-*l*9.5
rmApplied *-un-lft-identity9.5
Applied times-frac8.9
Simplified8.9
Final simplification8.9
herbie shell --seed 2020045
(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))))))