\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{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}{\frac{2 \cdot d}{D}}\right)}^{2}\right) \cdot h}{\ell}\right)double f(double d, double h, double l, double M, double D) {
double r192340 = d;
double r192341 = h;
double r192342 = r192340 / r192341;
double r192343 = 1.0;
double r192344 = 2.0;
double r192345 = r192343 / r192344;
double r192346 = pow(r192342, r192345);
double r192347 = l;
double r192348 = r192340 / r192347;
double r192349 = pow(r192348, r192345);
double r192350 = r192346 * r192349;
double r192351 = M;
double r192352 = D;
double r192353 = r192351 * r192352;
double r192354 = r192344 * r192340;
double r192355 = r192353 / r192354;
double r192356 = pow(r192355, r192344);
double r192357 = r192345 * r192356;
double r192358 = r192341 / r192347;
double r192359 = r192357 * r192358;
double r192360 = r192343 - r192359;
double r192361 = r192350 * r192360;
return r192361;
}
double f(double d, double h, double l, double M, double D) {
double r192362 = 1.0;
double r192363 = h;
double r192364 = cbrt(r192363);
double r192365 = r192364 * r192364;
double r192366 = r192362 / r192365;
double r192367 = 1.0;
double r192368 = 2.0;
double r192369 = r192367 / r192368;
double r192370 = pow(r192366, r192369);
double r192371 = d;
double r192372 = r192371 / r192364;
double r192373 = pow(r192372, r192369);
double r192374 = r192370 * r192373;
double r192375 = l;
double r192376 = cbrt(r192375);
double r192377 = r192376 * r192376;
double r192378 = r192362 / r192377;
double r192379 = pow(r192378, r192369);
double r192380 = r192371 / r192376;
double r192381 = pow(r192380, r192369);
double r192382 = r192379 * r192381;
double r192383 = r192374 * r192382;
double r192384 = M;
double r192385 = r192368 * r192371;
double r192386 = D;
double r192387 = r192385 / r192386;
double r192388 = r192384 / r192387;
double r192389 = pow(r192388, r192368);
double r192390 = r192369 * r192389;
double r192391 = r192390 * r192363;
double r192392 = r192391 / r192375;
double r192393 = r192367 - r192392;
double r192394 = r192383 * r192393;
return r192394;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 27.1
rmApplied add-cube-cbrt27.3
Applied *-un-lft-identity27.3
Applied times-frac27.3
Applied unpow-prod-down23.6
rmApplied add-cube-cbrt23.8
Applied *-un-lft-identity23.8
Applied times-frac23.8
Applied unpow-prod-down18.5
rmApplied associate-*r/16.3
rmApplied associate-/l*16.4
Final simplification16.4
herbie shell --seed 2020056
(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)))))