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)}}{\sqrt[3]{\ell}} \cdot \left(\left(\frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}}{\sqrt[3]{\ell}} \cdot \frac{\sqrt[3]{h} \cdot \sqrt[3]{h}}{\sqrt[3]{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}}\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\sqrt[3]{\ell}}}\right)}double f(double w0, double M, double D, double h, double l, double d) {
double r276197 = w0;
double r276198 = 1.0;
double r276199 = M;
double r276200 = D;
double r276201 = r276199 * r276200;
double r276202 = 2.0;
double r276203 = d;
double r276204 = r276202 * r276203;
double r276205 = r276201 / r276204;
double r276206 = pow(r276205, r276202);
double r276207 = h;
double r276208 = l;
double r276209 = r276207 / r276208;
double r276210 = r276206 * r276209;
double r276211 = r276198 - r276210;
double r276212 = sqrt(r276211);
double r276213 = r276197 * r276212;
return r276213;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r276214 = w0;
double r276215 = 1.0;
double r276216 = M;
double r276217 = D;
double r276218 = r276216 * r276217;
double r276219 = 2.0;
double r276220 = d;
double r276221 = r276219 * r276220;
double r276222 = r276218 / r276221;
double r276223 = 2.0;
double r276224 = r276219 / r276223;
double r276225 = pow(r276222, r276224);
double r276226 = l;
double r276227 = cbrt(r276226);
double r276228 = r276225 / r276227;
double r276229 = h;
double r276230 = cbrt(r276229);
double r276231 = r276230 * r276230;
double r276232 = r276227 * r276227;
double r276233 = cbrt(r276232);
double r276234 = r276231 / r276233;
double r276235 = r276228 * r276234;
double r276236 = cbrt(r276227);
double r276237 = r276230 / r276236;
double r276238 = r276235 * r276237;
double r276239 = r276228 * r276238;
double r276240 = r276215 - r276239;
double r276241 = sqrt(r276240);
double r276242 = r276214 * r276241;
return r276242;
}



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 add-cube-cbrt14.2
Applied *-un-lft-identity14.2
Applied times-frac14.2
Applied associate-*r*11.6
Simplified11.6
rmApplied sqr-pow11.6
Applied times-frac10.7
Applied associate-*l*9.6
rmApplied add-cube-cbrt9.6
Applied cbrt-prod9.6
Applied add-cube-cbrt9.6
Applied times-frac9.6
Applied associate-*r*8.2
Final simplification8.2
herbie shell --seed 2020034 +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))))))