w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\sqrt{1 - \left(\frac{\frac{D \cdot M}{2 \cdot d} \cdot \left(\sqrt[3]{h} \cdot \sqrt[3]{h}\right)}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \frac{D \cdot M}{2 \cdot d}\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0double f(double w0, double M, double D, double h, double l, double d) {
double r2791380 = w0;
double r2791381 = 1.0;
double r2791382 = M;
double r2791383 = D;
double r2791384 = r2791382 * r2791383;
double r2791385 = 2.0;
double r2791386 = d;
double r2791387 = r2791385 * r2791386;
double r2791388 = r2791384 / r2791387;
double r2791389 = pow(r2791388, r2791385);
double r2791390 = h;
double r2791391 = l;
double r2791392 = r2791390 / r2791391;
double r2791393 = r2791389 * r2791392;
double r2791394 = r2791381 - r2791393;
double r2791395 = sqrt(r2791394);
double r2791396 = r2791380 * r2791395;
return r2791396;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r2791397 = 1.0;
double r2791398 = D;
double r2791399 = M;
double r2791400 = r2791398 * r2791399;
double r2791401 = 2.0;
double r2791402 = d;
double r2791403 = r2791401 * r2791402;
double r2791404 = r2791400 / r2791403;
double r2791405 = h;
double r2791406 = cbrt(r2791405);
double r2791407 = r2791406 * r2791406;
double r2791408 = r2791404 * r2791407;
double r2791409 = l;
double r2791410 = cbrt(r2791409);
double r2791411 = r2791410 * r2791410;
double r2791412 = r2791408 / r2791411;
double r2791413 = r2791412 * r2791404;
double r2791414 = r2791406 / r2791410;
double r2791415 = r2791413 * r2791414;
double r2791416 = r2791397 - r2791415;
double r2791417 = sqrt(r2791416);
double r2791418 = w0;
double r2791419 = r2791417 * r2791418;
return r2791419;
}



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.4
Simplified13.4
rmApplied add-cube-cbrt13.5
Applied add-cube-cbrt13.5
Applied times-frac13.5
Applied associate-*r*10.5
Simplified8.9
rmApplied frac-times8.9
Applied associate-*r/8.0
Final simplification8.0
herbie shell --seed 2019128 +o rules:numerics
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))