\left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{h}{\ell}\right)\left(\left({\left(\frac{\sqrt[3]{d} \cdot \sqrt[3]{d}}{\sqrt[3]{h} \cdot \sqrt[3]{h}}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{\sqrt[3]{d}}{\sqrt[3]{h}}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left({\left(\sqrt[3]{d} \cdot \sqrt[3]{d}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{\sqrt[3]{d}}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right)\right) \cdot \left(1 - \frac{\left(\frac{1}{2} \cdot {\left(\frac{M}{\frac{2 \cdot d}{D}}\right)}^{2}\right) \cdot h}{\ell}\right)double f(double d, double h, double l, double M, double D) {
double r282577 = d;
double r282578 = h;
double r282579 = r282577 / r282578;
double r282580 = 1.0;
double r282581 = 2.0;
double r282582 = r282580 / r282581;
double r282583 = pow(r282579, r282582);
double r282584 = l;
double r282585 = r282577 / r282584;
double r282586 = pow(r282585, r282582);
double r282587 = r282583 * r282586;
double r282588 = M;
double r282589 = D;
double r282590 = r282588 * r282589;
double r282591 = r282581 * r282577;
double r282592 = r282590 / r282591;
double r282593 = pow(r282592, r282581);
double r282594 = r282582 * r282593;
double r282595 = r282578 / r282584;
double r282596 = r282594 * r282595;
double r282597 = r282580 - r282596;
double r282598 = r282587 * r282597;
return r282598;
}
double f(double d, double h, double l, double M, double D) {
double r282599 = d;
double r282600 = cbrt(r282599);
double r282601 = r282600 * r282600;
double r282602 = h;
double r282603 = cbrt(r282602);
double r282604 = r282603 * r282603;
double r282605 = r282601 / r282604;
double r282606 = 1.0;
double r282607 = 2.0;
double r282608 = r282606 / r282607;
double r282609 = pow(r282605, r282608);
double r282610 = r282600 / r282603;
double r282611 = pow(r282610, r282608);
double r282612 = r282609 * r282611;
double r282613 = pow(r282601, r282608);
double r282614 = l;
double r282615 = r282600 / r282614;
double r282616 = pow(r282615, r282608);
double r282617 = r282613 * r282616;
double r282618 = r282612 * r282617;
double r282619 = M;
double r282620 = r282607 * r282599;
double r282621 = D;
double r282622 = r282620 / r282621;
double r282623 = r282619 / r282622;
double r282624 = pow(r282623, r282607);
double r282625 = r282608 * r282624;
double r282626 = r282625 * r282602;
double r282627 = r282626 / r282614;
double r282628 = r282606 - r282627;
double r282629 = r282618 * r282628;
return r282629;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 26.7
rmApplied add-cube-cbrt27.0
Applied add-cube-cbrt27.1
Applied times-frac27.1
Applied unpow-prod-down21.8
rmApplied associate-*r/20.4
rmApplied *-un-lft-identity20.4
Applied add-cube-cbrt20.6
Applied times-frac20.6
Applied unpow-prod-down16.1
Simplified16.1
rmApplied associate-/l*16.4
Final simplification16.4
herbie shell --seed 2019235 +o rules:numerics
(FPCore (d h l M D)
:name "Henrywood and Agarwal, Equation (12)"
:precision binary64
(* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)))))