\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(\sqrt[3]{\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 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h\right) \cdot \frac{1}{\ell}\right)} \cdot \sqrt[3]{\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 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h\right) \cdot \frac{1}{\ell}\right)}\right) \cdot \sqrt[3]{\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 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h\right) \cdot \frac{1}{\ell}\right)}double f(double d, double h, double l, double M, double D) {
double r309438 = d;
double r309439 = h;
double r309440 = r309438 / r309439;
double r309441 = 1.0;
double r309442 = 2.0;
double r309443 = r309441 / r309442;
double r309444 = pow(r309440, r309443);
double r309445 = l;
double r309446 = r309438 / r309445;
double r309447 = pow(r309446, r309443);
double r309448 = r309444 * r309447;
double r309449 = M;
double r309450 = D;
double r309451 = r309449 * r309450;
double r309452 = r309442 * r309438;
double r309453 = r309451 / r309452;
double r309454 = pow(r309453, r309442);
double r309455 = r309443 * r309454;
double r309456 = r309439 / r309445;
double r309457 = r309455 * r309456;
double r309458 = r309441 - r309457;
double r309459 = r309448 * r309458;
return r309459;
}
double f(double d, double h, double l, double M, double D) {
double r309460 = 1.0;
double r309461 = h;
double r309462 = cbrt(r309461);
double r309463 = r309462 * r309462;
double r309464 = r309460 / r309463;
double r309465 = 1.0;
double r309466 = 2.0;
double r309467 = r309465 / r309466;
double r309468 = pow(r309464, r309467);
double r309469 = d;
double r309470 = r309469 / r309462;
double r309471 = pow(r309470, r309467);
double r309472 = r309468 * r309471;
double r309473 = l;
double r309474 = cbrt(r309473);
double r309475 = r309474 * r309474;
double r309476 = r309460 / r309475;
double r309477 = pow(r309476, r309467);
double r309478 = r309469 / r309474;
double r309479 = pow(r309478, r309467);
double r309480 = r309477 * r309479;
double r309481 = r309472 * r309480;
double r309482 = M;
double r309483 = D;
double r309484 = r309482 * r309483;
double r309485 = r309466 * r309469;
double r309486 = r309484 / r309485;
double r309487 = pow(r309486, r309466);
double r309488 = r309467 * r309487;
double r309489 = r309488 * r309461;
double r309490 = r309460 / r309473;
double r309491 = r309489 * r309490;
double r309492 = r309465 - r309491;
double r309493 = r309481 * r309492;
double r309494 = cbrt(r309493);
double r309495 = r309494 * r309494;
double r309496 = r309495 * r309494;
return r309496;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 26.2
rmApplied add-cube-cbrt26.5
Applied *-un-lft-identity26.5
Applied times-frac26.5
Applied unpow-prod-down21.4
rmApplied add-cube-cbrt21.6
Applied *-un-lft-identity21.6
Applied times-frac21.6
Applied unpow-prod-down18.0
rmApplied div-inv18.0
Applied associate-*r*15.6
rmApplied add-cube-cbrt15.9
Final simplification15.9
herbie shell --seed 2020045
(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)))))