\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 r193008 = d;
double r193009 = h;
double r193010 = r193008 / r193009;
double r193011 = 1.0;
double r193012 = 2.0;
double r193013 = r193011 / r193012;
double r193014 = pow(r193010, r193013);
double r193015 = l;
double r193016 = r193008 / r193015;
double r193017 = pow(r193016, r193013);
double r193018 = r193014 * r193017;
double r193019 = M;
double r193020 = D;
double r193021 = r193019 * r193020;
double r193022 = r193012 * r193008;
double r193023 = r193021 / r193022;
double r193024 = pow(r193023, r193012);
double r193025 = r193013 * r193024;
double r193026 = r193009 / r193015;
double r193027 = r193025 * r193026;
double r193028 = r193011 - r193027;
double r193029 = r193018 * r193028;
return r193029;
}
double f(double d, double h, double l, double M, double D) {
double r193030 = d;
double r193031 = cbrt(r193030);
double r193032 = r193031 * r193031;
double r193033 = h;
double r193034 = cbrt(r193033);
double r193035 = r193034 * r193034;
double r193036 = r193032 / r193035;
double r193037 = 1.0;
double r193038 = 2.0;
double r193039 = r193037 / r193038;
double r193040 = pow(r193036, r193039);
double r193041 = r193031 / r193034;
double r193042 = pow(r193041, r193039);
double r193043 = r193040 * r193042;
double r193044 = pow(r193032, r193039);
double r193045 = l;
double r193046 = r193031 / r193045;
double r193047 = pow(r193046, r193039);
double r193048 = r193044 * r193047;
double r193049 = r193043 * r193048;
double r193050 = M;
double r193051 = r193038 * r193030;
double r193052 = D;
double r193053 = r193051 / r193052;
double r193054 = r193050 / r193053;
double r193055 = pow(r193054, r193038);
double r193056 = r193039 * r193055;
double r193057 = r193056 * r193033;
double r193058 = r193057 / r193045;
double r193059 = r193037 - r193058;
double r193060 = r193049 * r193059;
return r193060;
}



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
(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)))))