\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(\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}\right)}^{\left(\frac{1}{2}\right)} \cdot \left({\left(\frac{\sqrt[3]{d} \cdot \sqrt[3]{d}}{1}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right)}^{\left(\frac{1}{2}\right)}\right)\right)\right) \cdot \left(1 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h\right) \cdot \frac{1}{\ell}\right)double f(double d, double h, double l, double M, double D) {
double r158803 = d;
double r158804 = h;
double r158805 = r158803 / r158804;
double r158806 = 1.0;
double r158807 = 2.0;
double r158808 = r158806 / r158807;
double r158809 = pow(r158805, r158808);
double r158810 = l;
double r158811 = r158803 / r158810;
double r158812 = pow(r158811, r158808);
double r158813 = r158809 * r158812;
double r158814 = M;
double r158815 = D;
double r158816 = r158814 * r158815;
double r158817 = r158807 * r158803;
double r158818 = r158816 / r158817;
double r158819 = pow(r158818, r158807);
double r158820 = r158808 * r158819;
double r158821 = r158804 / r158810;
double r158822 = r158820 * r158821;
double r158823 = r158806 - r158822;
double r158824 = r158813 * r158823;
return r158824;
}
double f(double d, double h, double l, double M, double D) {
double r158825 = d;
double r158826 = cbrt(r158825);
double r158827 = r158826 * r158826;
double r158828 = h;
double r158829 = cbrt(r158828);
double r158830 = r158829 * r158829;
double r158831 = r158827 / r158830;
double r158832 = 1.0;
double r158833 = 2.0;
double r158834 = r158832 / r158833;
double r158835 = pow(r158831, r158834);
double r158836 = r158826 / r158829;
double r158837 = pow(r158836, r158834);
double r158838 = r158835 * r158837;
double r158839 = 1.0;
double r158840 = l;
double r158841 = cbrt(r158840);
double r158842 = r158841 * r158841;
double r158843 = r158839 / r158842;
double r158844 = pow(r158843, r158834);
double r158845 = r158827 / r158839;
double r158846 = pow(r158845, r158834);
double r158847 = r158826 / r158841;
double r158848 = pow(r158847, r158834);
double r158849 = r158846 * r158848;
double r158850 = r158844 * r158849;
double r158851 = r158838 * r158850;
double r158852 = M;
double r158853 = D;
double r158854 = r158852 * r158853;
double r158855 = r158833 * r158825;
double r158856 = r158854 / r158855;
double r158857 = pow(r158856, r158833);
double r158858 = r158834 * r158857;
double r158859 = r158858 * r158828;
double r158860 = r158839 / r158840;
double r158861 = r158859 * r158860;
double r158862 = r158832 - r158861;
double r158863 = r158851 * r158862;
return r158863;
}



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-cbrt26.9
Applied add-cube-cbrt27.0
Applied times-frac27.0
Applied unpow-prod-down21.5
rmApplied add-cube-cbrt21.6
Applied *-un-lft-identity21.6
Applied times-frac21.6
Applied unpow-prod-down17.9
rmApplied div-inv17.9
Applied associate-*r*15.5
rmApplied *-un-lft-identity15.5
Applied add-cube-cbrt15.7
Applied times-frac15.7
Applied unpow-prod-down14.7
Final simplification14.7
herbie shell --seed 2019291
(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)))))