\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(\sqrt[3]{\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(\frac{d}{\sqrt[3]{\ell}}\right)}^{\left(\frac{1}{2}\right)}\right)\right) \cdot \left(1 - \frac{\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h}{\ell}\right)} \cdot \sqrt[3]{\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(\frac{d}{\sqrt[3]{\ell}}\right)}^{\left(\frac{1}{2}\right)}\right)\right) \cdot \left(1 - \frac{\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h}{\ell}\right)}\right) \cdot \sqrt[3]{\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(\frac{d}{\sqrt[3]{\ell}}\right)}^{\left(\frac{1}{2}\right)}\right)\right) \cdot \left(1 - \frac{\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h}{\ell}\right)}double f(double d, double h, double l, double M, double D) {
double r275119 = d;
double r275120 = h;
double r275121 = r275119 / r275120;
double r275122 = 1.0;
double r275123 = 2.0;
double r275124 = r275122 / r275123;
double r275125 = pow(r275121, r275124);
double r275126 = l;
double r275127 = r275119 / r275126;
double r275128 = pow(r275127, r275124);
double r275129 = r275125 * r275128;
double r275130 = M;
double r275131 = D;
double r275132 = r275130 * r275131;
double r275133 = r275123 * r275119;
double r275134 = r275132 / r275133;
double r275135 = pow(r275134, r275123);
double r275136 = r275124 * r275135;
double r275137 = r275120 / r275126;
double r275138 = r275136 * r275137;
double r275139 = r275122 - r275138;
double r275140 = r275129 * r275139;
return r275140;
}
double f(double d, double h, double l, double M, double D) {
double r275141 = d;
double r275142 = cbrt(r275141);
double r275143 = r275142 * r275142;
double r275144 = h;
double r275145 = cbrt(r275144);
double r275146 = r275145 * r275145;
double r275147 = r275143 / r275146;
double r275148 = 1.0;
double r275149 = 2.0;
double r275150 = r275148 / r275149;
double r275151 = pow(r275147, r275150);
double r275152 = r275142 / r275145;
double r275153 = pow(r275152, r275150);
double r275154 = r275151 * r275153;
double r275155 = 1.0;
double r275156 = l;
double r275157 = cbrt(r275156);
double r275158 = r275157 * r275157;
double r275159 = r275155 / r275158;
double r275160 = pow(r275159, r275150);
double r275161 = r275141 / r275157;
double r275162 = pow(r275161, r275150);
double r275163 = r275160 * r275162;
double r275164 = r275154 * r275163;
double r275165 = M;
double r275166 = D;
double r275167 = r275165 * r275166;
double r275168 = r275149 * r275141;
double r275169 = r275167 / r275168;
double r275170 = pow(r275169, r275149);
double r275171 = r275150 * r275170;
double r275172 = r275171 * r275144;
double r275173 = r275172 / r275156;
double r275174 = r275148 - r275173;
double r275175 = r275164 * r275174;
double r275176 = cbrt(r275175);
double r275177 = r275176 * r275176;
double r275178 = r275177 * r275176;
return r275178;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 26.9
rmApplied add-cube-cbrt27.1
Applied add-cube-cbrt27.2
Applied times-frac27.2
Applied unpow-prod-down21.9
rmApplied add-cube-cbrt22.0
Applied *-un-lft-identity22.0
Applied times-frac22.0
Applied unpow-prod-down18.2
rmApplied associate-*r/15.7
rmApplied add-cube-cbrt15.9
Final simplification15.9
herbie shell --seed 2019195
(FPCore (d h l M D)
:name "Henrywood and Agarwal, Equation (12)"
(* (* (pow (/ d h) (/ 1.0 2.0)) (pow (/ d l) (/ 1.0 2.0))) (- 1.0 (* (* (/ 1.0 2.0) (pow (/ (* M D) (* 2.0 d)) 2.0)) (/ h l)))))