\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(\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) \cdot \left(1 - \frac{\left(1 \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h}{2 \cdot \ell}\right)\right)double f(double d, double h, double l, double M, double D) {
double r326260 = d;
double r326261 = h;
double r326262 = r326260 / r326261;
double r326263 = 1.0;
double r326264 = 2.0;
double r326265 = r326263 / r326264;
double r326266 = pow(r326262, r326265);
double r326267 = l;
double r326268 = r326260 / r326267;
double r326269 = pow(r326268, r326265);
double r326270 = r326266 * r326269;
double r326271 = M;
double r326272 = D;
double r326273 = r326271 * r326272;
double r326274 = r326264 * r326260;
double r326275 = r326273 / r326274;
double r326276 = pow(r326275, r326264);
double r326277 = r326265 * r326276;
double r326278 = r326261 / r326267;
double r326279 = r326277 * r326278;
double r326280 = r326263 - r326279;
double r326281 = r326270 * r326280;
return r326281;
}
double f(double d, double h, double l, double M, double D) {
double r326282 = 1.0;
double r326283 = h;
double r326284 = cbrt(r326283);
double r326285 = r326284 * r326284;
double r326286 = r326282 / r326285;
double r326287 = 1.0;
double r326288 = 2.0;
double r326289 = r326287 / r326288;
double r326290 = pow(r326286, r326289);
double r326291 = d;
double r326292 = r326291 / r326284;
double r326293 = pow(r326292, r326289);
double r326294 = r326290 * r326293;
double r326295 = cbrt(r326291);
double r326296 = r326295 * r326295;
double r326297 = pow(r326296, r326289);
double r326298 = l;
double r326299 = r326295 / r326298;
double r326300 = pow(r326299, r326289);
double r326301 = r326297 * r326300;
double r326302 = M;
double r326303 = D;
double r326304 = r326302 * r326303;
double r326305 = r326288 * r326291;
double r326306 = r326304 / r326305;
double r326307 = pow(r326306, r326288);
double r326308 = r326287 * r326307;
double r326309 = r326308 * r326283;
double r326310 = r326288 * r326298;
double r326311 = r326309 / r326310;
double r326312 = r326287 - r326311;
double r326313 = r326301 * r326312;
double r326314 = r326294 * r326313;
return r326314;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 26.3
rmApplied add-cube-cbrt26.5
Applied *-un-lft-identity26.5
Applied times-frac26.5
Applied unpow-prod-down21.8
rmApplied *-un-lft-identity21.8
Applied add-cube-cbrt21.9
Applied times-frac21.9
Applied unpow-prod-down18.2
Simplified18.2
rmApplied associate-*l/18.2
Applied frac-times15.6
rmApplied associate-*l*15.8
Final simplification15.8
herbie shell --seed 2019323
(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)))))