\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(\frac{1}{\sqrt[3]{h} \cdot \sqrt[3]{h}}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\sqrt[3]{h}}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(\left({\left(\frac{\sqrt[3]{d} \cdot \sqrt[3]{d}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{\sqrt[3]{h} \cdot \sqrt[3]{h}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right)double f(double d, double h, double l, double M, double D) {
double r219958 = d;
double r219959 = h;
double r219960 = r219958 / r219959;
double r219961 = 1.0;
double r219962 = 2.0;
double r219963 = r219961 / r219962;
double r219964 = pow(r219960, r219963);
double r219965 = l;
double r219966 = r219958 / r219965;
double r219967 = pow(r219966, r219963);
double r219968 = r219964 * r219967;
double r219969 = M;
double r219970 = D;
double r219971 = r219969 * r219970;
double r219972 = r219962 * r219958;
double r219973 = r219971 / r219972;
double r219974 = pow(r219973, r219962);
double r219975 = r219963 * r219974;
double r219976 = r219959 / r219965;
double r219977 = r219975 * r219976;
double r219978 = r219961 - r219977;
double r219979 = r219968 * r219978;
return r219979;
}
double f(double d, double h, double l, double M, double D) {
double r219980 = 1.0;
double r219981 = h;
double r219982 = cbrt(r219981);
double r219983 = r219982 * r219982;
double r219984 = r219980 / r219983;
double r219985 = 1.0;
double r219986 = 2.0;
double r219987 = r219985 / r219986;
double r219988 = pow(r219984, r219987);
double r219989 = d;
double r219990 = r219989 / r219982;
double r219991 = pow(r219990, r219987);
double r219992 = r219988 * r219991;
double r219993 = cbrt(r219989);
double r219994 = r219993 * r219993;
double r219995 = l;
double r219996 = cbrt(r219995);
double r219997 = r219996 * r219996;
double r219998 = r219994 / r219997;
double r219999 = pow(r219998, r219987);
double r220000 = r219993 / r219996;
double r220001 = pow(r220000, r219987);
double r220002 = r219999 * r220001;
double r220003 = M;
double r220004 = D;
double r220005 = r220003 * r220004;
double r220006 = r219986 * r219989;
double r220007 = r220005 / r220006;
double r220008 = pow(r220007, r219986);
double r220009 = r219987 * r220008;
double r220010 = r219983 / r219997;
double r220011 = r220009 * r220010;
double r220012 = r219982 / r219996;
double r220013 = r220011 * r220012;
double r220014 = r219985 - r220013;
double r220015 = r220002 * r220014;
double r220016 = r219992 * r220015;
return r220016;
}



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 *-un-lft-identity26.9
Applied times-frac26.9
Applied unpow-prod-down21.9
rmApplied add-cube-cbrt22.0
Applied add-cube-cbrt22.1
Applied times-frac22.1
Applied unpow-prod-down18.0
rmApplied add-cube-cbrt18.1
Applied add-cube-cbrt18.0
Applied times-frac18.0
Applied associate-*r*15.1
rmApplied associate-*l*15.0
Final simplification15.0
herbie shell --seed 2020001
(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)))))