\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 r333492 = d;
double r333493 = h;
double r333494 = r333492 / r333493;
double r333495 = 1.0;
double r333496 = 2.0;
double r333497 = r333495 / r333496;
double r333498 = pow(r333494, r333497);
double r333499 = l;
double r333500 = r333492 / r333499;
double r333501 = pow(r333500, r333497);
double r333502 = r333498 * r333501;
double r333503 = M;
double r333504 = D;
double r333505 = r333503 * r333504;
double r333506 = r333496 * r333492;
double r333507 = r333505 / r333506;
double r333508 = pow(r333507, r333496);
double r333509 = r333497 * r333508;
double r333510 = r333493 / r333499;
double r333511 = r333509 * r333510;
double r333512 = r333495 - r333511;
double r333513 = r333502 * r333512;
return r333513;
}
double f(double d, double h, double l, double M, double D) {
double r333514 = 1.0;
double r333515 = h;
double r333516 = cbrt(r333515);
double r333517 = r333516 * r333516;
double r333518 = r333514 / r333517;
double r333519 = 1.0;
double r333520 = 2.0;
double r333521 = r333519 / r333520;
double r333522 = pow(r333518, r333521);
double r333523 = d;
double r333524 = r333523 / r333516;
double r333525 = pow(r333524, r333521);
double r333526 = r333522 * r333525;
double r333527 = l;
double r333528 = cbrt(r333527);
double r333529 = r333528 * r333528;
double r333530 = r333514 / r333529;
double r333531 = pow(r333530, r333521);
double r333532 = r333523 / r333528;
double r333533 = pow(r333532, r333521);
double r333534 = r333531 * r333533;
double r333535 = r333526 * r333534;
double r333536 = M;
double r333537 = r333520 * r333523;
double r333538 = D;
double r333539 = r333537 / r333538;
double r333540 = r333536 / r333539;
double r333541 = pow(r333540, r333520);
double r333542 = r333521 * r333541;
double r333543 = r333542 * r333515;
double r333544 = r333543 / r333527;
double r333545 = r333519 - r333544;
double r333546 = r333535 * r333545;
return r333546;
}



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 +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)))))