\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 - \frac{\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \frac{h}{\sqrt[3]{\ell}}\right)double f(double d, double h, double l, double M, double D) {
double r248233 = d;
double r248234 = h;
double r248235 = r248233 / r248234;
double r248236 = 1.0;
double r248237 = 2.0;
double r248238 = r248236 / r248237;
double r248239 = pow(r248235, r248238);
double r248240 = l;
double r248241 = r248233 / r248240;
double r248242 = pow(r248241, r248238);
double r248243 = r248239 * r248242;
double r248244 = M;
double r248245 = D;
double r248246 = r248244 * r248245;
double r248247 = r248237 * r248233;
double r248248 = r248246 / r248247;
double r248249 = pow(r248248, r248237);
double r248250 = r248238 * r248249;
double r248251 = r248234 / r248240;
double r248252 = r248250 * r248251;
double r248253 = r248236 - r248252;
double r248254 = r248243 * r248253;
return r248254;
}
double f(double d, double h, double l, double M, double D) {
double r248255 = 1.0;
double r248256 = h;
double r248257 = cbrt(r248256);
double r248258 = r248257 * r248257;
double r248259 = r248255 / r248258;
double r248260 = 1.0;
double r248261 = 2.0;
double r248262 = r248260 / r248261;
double r248263 = pow(r248259, r248262);
double r248264 = d;
double r248265 = r248264 / r248257;
double r248266 = pow(r248265, r248262);
double r248267 = r248263 * r248266;
double r248268 = cbrt(r248264);
double r248269 = r248268 * r248268;
double r248270 = l;
double r248271 = cbrt(r248270);
double r248272 = r248271 * r248271;
double r248273 = r248269 / r248272;
double r248274 = pow(r248273, r248262);
double r248275 = r248268 / r248271;
double r248276 = pow(r248275, r248262);
double r248277 = r248274 * r248276;
double r248278 = r248267 * r248277;
double r248279 = M;
double r248280 = D;
double r248281 = r248279 * r248280;
double r248282 = r248261 * r248264;
double r248283 = r248281 / r248282;
double r248284 = pow(r248283, r248261);
double r248285 = r248262 * r248284;
double r248286 = r248285 / r248272;
double r248287 = r248256 / r248271;
double r248288 = r248286 * r248287;
double r248289 = r248260 - r248288;
double r248290 = r248278 * r248289;
return r248290;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 26.6
rmApplied add-cube-cbrt26.9
Applied add-cube-cbrt27.0
Applied times-frac27.0
Applied unpow-prod-down23.0
rmApplied add-cube-cbrt23.0
Applied *-un-lft-identity23.0
Applied times-frac23.0
Applied unpow-prod-down18.2
rmApplied add-cube-cbrt18.2
Applied *-un-lft-identity18.2
Applied times-frac18.2
Applied associate-*r*15.9
Simplified15.9
Final simplification15.9
herbie shell --seed 2019354
(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)))))