\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 r242164 = d;
double r242165 = h;
double r242166 = r242164 / r242165;
double r242167 = 1.0;
double r242168 = 2.0;
double r242169 = r242167 / r242168;
double r242170 = pow(r242166, r242169);
double r242171 = l;
double r242172 = r242164 / r242171;
double r242173 = pow(r242172, r242169);
double r242174 = r242170 * r242173;
double r242175 = M;
double r242176 = D;
double r242177 = r242175 * r242176;
double r242178 = r242168 * r242164;
double r242179 = r242177 / r242178;
double r242180 = pow(r242179, r242168);
double r242181 = r242169 * r242180;
double r242182 = r242165 / r242171;
double r242183 = r242181 * r242182;
double r242184 = r242167 - r242183;
double r242185 = r242174 * r242184;
return r242185;
}
double f(double d, double h, double l, double M, double D) {
double r242186 = 1.0;
double r242187 = h;
double r242188 = cbrt(r242187);
double r242189 = r242188 * r242188;
double r242190 = r242186 / r242189;
double r242191 = 1.0;
double r242192 = 2.0;
double r242193 = r242191 / r242192;
double r242194 = pow(r242190, r242193);
double r242195 = d;
double r242196 = r242195 / r242188;
double r242197 = pow(r242196, r242193);
double r242198 = r242194 * r242197;
double r242199 = cbrt(r242195);
double r242200 = r242199 * r242199;
double r242201 = l;
double r242202 = cbrt(r242201);
double r242203 = r242202 * r242202;
double r242204 = r242200 / r242203;
double r242205 = pow(r242204, r242193);
double r242206 = r242199 / r242202;
double r242207 = pow(r242206, r242193);
double r242208 = r242205 * r242207;
double r242209 = M;
double r242210 = D;
double r242211 = r242209 * r242210;
double r242212 = r242192 * r242195;
double r242213 = r242211 / r242212;
double r242214 = pow(r242213, r242192);
double r242215 = r242193 * r242214;
double r242216 = r242189 / r242203;
double r242217 = r242215 * r242216;
double r242218 = r242188 / r242202;
double r242219 = r242217 * r242218;
double r242220 = r242191 - r242219;
double r242221 = r242208 * r242220;
double r242222 = r242198 * r242221;
return r242222;
}



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 +o rules:numerics
(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)))))