\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{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(\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)\right) \cdot \left(1 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M}{\frac{2 \cdot d}{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)double f(double d, double h, double l, double M, double D) {
double r236050 = d;
double r236051 = h;
double r236052 = r236050 / r236051;
double r236053 = 1.0;
double r236054 = 2.0;
double r236055 = r236053 / r236054;
double r236056 = pow(r236052, r236055);
double r236057 = l;
double r236058 = r236050 / r236057;
double r236059 = pow(r236058, r236055);
double r236060 = r236056 * r236059;
double r236061 = M;
double r236062 = D;
double r236063 = r236061 * r236062;
double r236064 = r236054 * r236050;
double r236065 = r236063 / r236064;
double r236066 = pow(r236065, r236054);
double r236067 = r236055 * r236066;
double r236068 = r236051 / r236057;
double r236069 = r236067 * r236068;
double r236070 = r236053 - r236069;
double r236071 = r236060 * r236070;
return r236071;
}
double f(double d, double h, double l, double M, double D) {
double r236072 = 1.0;
double r236073 = h;
double r236074 = cbrt(r236073);
double r236075 = r236074 * r236074;
double r236076 = r236072 / r236075;
double r236077 = 1.0;
double r236078 = 2.0;
double r236079 = r236077 / r236078;
double r236080 = pow(r236076, r236079);
double r236081 = d;
double r236082 = r236081 / r236074;
double r236083 = pow(r236082, r236079);
double r236084 = r236080 * r236083;
double r236085 = cbrt(r236081);
double r236086 = r236085 * r236085;
double r236087 = l;
double r236088 = cbrt(r236087);
double r236089 = r236088 * r236088;
double r236090 = r236086 / r236089;
double r236091 = pow(r236090, r236079);
double r236092 = r236085 / r236088;
double r236093 = pow(r236092, r236079);
double r236094 = r236091 * r236093;
double r236095 = r236084 * r236094;
double r236096 = M;
double r236097 = r236078 * r236081;
double r236098 = D;
double r236099 = r236097 / r236098;
double r236100 = r236096 / r236099;
double r236101 = pow(r236100, r236078);
double r236102 = r236079 * r236101;
double r236103 = r236075 / r236089;
double r236104 = r236102 * r236103;
double r236105 = r236074 / r236088;
double r236106 = r236104 * r236105;
double r236107 = r236077 - r236106;
double r236108 = r236095 * r236107;
return r236108;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 26.8
rmApplied add-cube-cbrt27.1
Applied *-un-lft-identity27.1
Applied times-frac27.1
Applied unpow-prod-down22.3
rmApplied add-cube-cbrt22.4
Applied add-cube-cbrt22.5
Applied times-frac22.5
Applied unpow-prod-down18.7
rmApplied add-cube-cbrt18.7
Applied add-cube-cbrt18.7
Applied times-frac18.7
Applied associate-*r*15.6
rmApplied associate-/l*15.9
Final simplification15.9
herbie shell --seed 2020057
(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)))))