\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(\sqrt{\frac{d}{\sqrt[3]{\ell}}} \cdot \sqrt{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}}\right) \cdot \left(\sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{h}}} \cdot \left|\frac{\sqrt[3]{d}}{\sqrt[3]{h}}\right|\right), \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{h \cdot \frac{M}{\frac{2}{\frac{D}{d}}}}{\ell}\right) \cdot \frac{-1}{2}, \sqrt{\frac{d}{h}} \cdot \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right)\right)double f(double d, double h, double l, double M, double D) {
double r5275691 = d;
double r5275692 = h;
double r5275693 = r5275691 / r5275692;
double r5275694 = 1.0;
double r5275695 = 2.0;
double r5275696 = r5275694 / r5275695;
double r5275697 = pow(r5275693, r5275696);
double r5275698 = l;
double r5275699 = r5275691 / r5275698;
double r5275700 = pow(r5275699, r5275696);
double r5275701 = r5275697 * r5275700;
double r5275702 = M;
double r5275703 = D;
double r5275704 = r5275702 * r5275703;
double r5275705 = r5275695 * r5275691;
double r5275706 = r5275704 / r5275705;
double r5275707 = pow(r5275706, r5275695);
double r5275708 = r5275696 * r5275707;
double r5275709 = r5275692 / r5275698;
double r5275710 = r5275708 * r5275709;
double r5275711 = r5275694 - r5275710;
double r5275712 = r5275701 * r5275711;
return r5275712;
}
double f(double d, double h, double l, double M, double D) {
double r5275713 = d;
double r5275714 = l;
double r5275715 = cbrt(r5275714);
double r5275716 = r5275713 / r5275715;
double r5275717 = sqrt(r5275716);
double r5275718 = 1.0;
double r5275719 = r5275715 * r5275715;
double r5275720 = r5275718 / r5275719;
double r5275721 = sqrt(r5275720);
double r5275722 = r5275717 * r5275721;
double r5275723 = cbrt(r5275713);
double r5275724 = h;
double r5275725 = cbrt(r5275724);
double r5275726 = r5275723 / r5275725;
double r5275727 = sqrt(r5275726);
double r5275728 = fabs(r5275726);
double r5275729 = r5275727 * r5275728;
double r5275730 = r5275722 * r5275729;
double r5275731 = M;
double r5275732 = 2.0;
double r5275733 = D;
double r5275734 = r5275733 / r5275713;
double r5275735 = r5275732 / r5275734;
double r5275736 = r5275731 / r5275735;
double r5275737 = r5275724 * r5275736;
double r5275738 = r5275737 / r5275714;
double r5275739 = r5275736 * r5275738;
double r5275740 = -0.5;
double r5275741 = r5275739 * r5275740;
double r5275742 = r5275713 / r5275724;
double r5275743 = sqrt(r5275742);
double r5275744 = r5275723 / r5275715;
double r5275745 = fabs(r5275744);
double r5275746 = sqrt(r5275744);
double r5275747 = r5275745 * r5275746;
double r5275748 = r5275743 * r5275747;
double r5275749 = fma(r5275730, r5275741, r5275748);
return r5275749;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Initial program 25.6
Simplified24.6
rmApplied add-cube-cbrt24.8
Applied add-cube-cbrt24.9
Applied times-frac24.9
Applied sqrt-prod22.8
Simplified22.6
rmApplied associate-*r/21.1
rmApplied add-cube-cbrt21.1
Applied *-un-lft-identity21.1
Applied times-frac21.1
Applied sqrt-prod17.7
rmApplied add-cube-cbrt17.8
Applied add-cube-cbrt17.8
Applied times-frac17.8
Applied sqrt-prod17.1
Simplified17.1
Final simplification17.1
herbie shell --seed 2019139 +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)))))