w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \frac{\frac{h}{\frac{\frac{d}{\frac{M \cdot D}{2}}}{\frac{1}{\ell}}}}{d \cdot \frac{1}{\frac{M \cdot D}{2}}}}double f(double w0, double M, double D, double h, double l, double d) {
double r7159162 = w0;
double r7159163 = 1.0;
double r7159164 = M;
double r7159165 = D;
double r7159166 = r7159164 * r7159165;
double r7159167 = 2.0;
double r7159168 = d;
double r7159169 = r7159167 * r7159168;
double r7159170 = r7159166 / r7159169;
double r7159171 = pow(r7159170, r7159167);
double r7159172 = h;
double r7159173 = l;
double r7159174 = r7159172 / r7159173;
double r7159175 = r7159171 * r7159174;
double r7159176 = r7159163 - r7159175;
double r7159177 = sqrt(r7159176);
double r7159178 = r7159162 * r7159177;
return r7159178;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r7159179 = w0;
double r7159180 = 1.0;
double r7159181 = h;
double r7159182 = d;
double r7159183 = M;
double r7159184 = D;
double r7159185 = r7159183 * r7159184;
double r7159186 = 2.0;
double r7159187 = r7159185 / r7159186;
double r7159188 = r7159182 / r7159187;
double r7159189 = l;
double r7159190 = r7159180 / r7159189;
double r7159191 = r7159188 / r7159190;
double r7159192 = r7159181 / r7159191;
double r7159193 = r7159180 / r7159187;
double r7159194 = r7159182 * r7159193;
double r7159195 = r7159192 / r7159194;
double r7159196 = r7159180 - r7159195;
double r7159197 = sqrt(r7159196);
double r7159198 = r7159179 * r7159197;
return r7159198;
}



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.3
Simplified11.8
rmApplied div-inv11.8
Applied associate-/l*8.0
rmApplied div-inv8.0
Final simplification8.0
herbie shell --seed 2019162
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))