\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)\mathsf{fma}\left(\left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{h}}, \frac{-1}{2} \cdot \left(\left(\frac{1}{\ell} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot h\right)\right) \cdot \frac{M}{\frac{2}{\frac{D}{d}}}\right), \left(\sqrt{\frac{d}{\sqrt[3]{\ell}}} \cdot \sqrt{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}}\right) \cdot \left(\sqrt{\frac{1}{\sqrt[3]{h} \cdot \sqrt[3]{h}}} \cdot \sqrt{\frac{d}{\sqrt[3]{h}}}\right)\right)double f(double d, double h, double l, double M, double D) {
double r5210687 = d;
double r5210688 = h;
double r5210689 = r5210687 / r5210688;
double r5210690 = 1.0;
double r5210691 = 2.0;
double r5210692 = r5210690 / r5210691;
double r5210693 = pow(r5210689, r5210692);
double r5210694 = l;
double r5210695 = r5210687 / r5210694;
double r5210696 = pow(r5210695, r5210692);
double r5210697 = r5210693 * r5210696;
double r5210698 = M;
double r5210699 = D;
double r5210700 = r5210698 * r5210699;
double r5210701 = r5210691 * r5210687;
double r5210702 = r5210700 / r5210701;
double r5210703 = pow(r5210702, r5210691);
double r5210704 = r5210692 * r5210703;
double r5210705 = r5210688 / r5210694;
double r5210706 = r5210704 * r5210705;
double r5210707 = r5210690 - r5210706;
double r5210708 = r5210697 * r5210707;
return r5210708;
}
double f(double d, double h, double l, double M, double D) {
double r5210709 = d;
double r5210710 = cbrt(r5210709);
double r5210711 = l;
double r5210712 = cbrt(r5210711);
double r5210713 = r5210710 / r5210712;
double r5210714 = fabs(r5210713);
double r5210715 = sqrt(r5210713);
double r5210716 = r5210714 * r5210715;
double r5210717 = h;
double r5210718 = r5210709 / r5210717;
double r5210719 = sqrt(r5210718);
double r5210720 = r5210716 * r5210719;
double r5210721 = -0.5;
double r5210722 = 1.0;
double r5210723 = r5210722 / r5210711;
double r5210724 = M;
double r5210725 = 2.0;
double r5210726 = D;
double r5210727 = r5210726 / r5210709;
double r5210728 = r5210725 / r5210727;
double r5210729 = r5210724 / r5210728;
double r5210730 = r5210729 * r5210717;
double r5210731 = r5210723 * r5210730;
double r5210732 = r5210731 * r5210729;
double r5210733 = r5210721 * r5210732;
double r5210734 = r5210709 / r5210712;
double r5210735 = sqrt(r5210734);
double r5210736 = r5210712 * r5210712;
double r5210737 = r5210722 / r5210736;
double r5210738 = sqrt(r5210737);
double r5210739 = r5210735 * r5210738;
double r5210740 = cbrt(r5210717);
double r5210741 = r5210740 * r5210740;
double r5210742 = r5210722 / r5210741;
double r5210743 = sqrt(r5210742);
double r5210744 = r5210709 / r5210740;
double r5210745 = sqrt(r5210744);
double r5210746 = r5210743 * r5210745;
double r5210747 = r5210739 * r5210746;
double r5210748 = fma(r5210720, r5210733, r5210747);
return r5210748;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Initial program 25.3
Simplified24.5
rmApplied add-cube-cbrt24.7
Applied *-un-lft-identity24.7
Applied times-frac24.7
Applied sqrt-prod22.7
rmApplied add-cube-cbrt22.7
Applied add-cube-cbrt22.8
Applied times-frac22.8
Applied sqrt-prod21.0
Simplified21.0
rmApplied div-inv21.1
Applied associate-*r*17.9
rmApplied add-cube-cbrt18.0
Applied *-un-lft-identity18.0
Applied times-frac18.0
Applied sqrt-prod17.5
Final simplification17.5
herbie shell --seed 2019141 +o rules:numerics
(FPCore (d h l M D)
:name "Henrywood and Agarwal, Equation (12)"
(* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)))))