w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \left({\left(\frac{D}{d} \cdot \frac{M}{2}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\left(\sqrt[3]{\frac{D}{d} \cdot \frac{M}{2}} \cdot \sqrt[3]{\frac{D}{d} \cdot \frac{M}{2}}\right) \cdot \sqrt[3]{\frac{D}{d} \cdot \frac{M}{2}}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right)\right) \cdot \frac{1}{\ell}}double f(double w0, double M, double D, double h, double l, double d) {
double r6106184 = w0;
double r6106185 = 1.0;
double r6106186 = M;
double r6106187 = D;
double r6106188 = r6106186 * r6106187;
double r6106189 = 2.0;
double r6106190 = d;
double r6106191 = r6106189 * r6106190;
double r6106192 = r6106188 / r6106191;
double r6106193 = pow(r6106192, r6106189);
double r6106194 = h;
double r6106195 = l;
double r6106196 = r6106194 / r6106195;
double r6106197 = r6106193 * r6106196;
double r6106198 = r6106185 - r6106197;
double r6106199 = sqrt(r6106198);
double r6106200 = r6106184 * r6106199;
return r6106200;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r6106201 = w0;
double r6106202 = 1.0;
double r6106203 = D;
double r6106204 = d;
double r6106205 = r6106203 / r6106204;
double r6106206 = M;
double r6106207 = 2.0;
double r6106208 = r6106206 / r6106207;
double r6106209 = r6106205 * r6106208;
double r6106210 = 2.0;
double r6106211 = r6106207 / r6106210;
double r6106212 = pow(r6106209, r6106211);
double r6106213 = cbrt(r6106209);
double r6106214 = r6106213 * r6106213;
double r6106215 = r6106214 * r6106213;
double r6106216 = pow(r6106215, r6106211);
double r6106217 = h;
double r6106218 = r6106216 * r6106217;
double r6106219 = r6106212 * r6106218;
double r6106220 = 1.0;
double r6106221 = l;
double r6106222 = r6106220 / r6106221;
double r6106223 = r6106219 * r6106222;
double r6106224 = r6106202 - r6106223;
double r6106225 = sqrt(r6106224);
double r6106226 = r6106201 * r6106225;
return r6106226;
}



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.2
rmApplied div-inv14.2
Applied associate-*r*10.5
rmApplied times-frac10.5
rmApplied sqr-pow10.5
Applied associate-*l*8.9
rmApplied add-cube-cbrt9.0
Final simplification9.0
herbie shell --seed 2019170 +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))))))