\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(\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) \cdot \left(1 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{\sqrt[3]{h} \cdot \sqrt[3]{h}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right)double f(double d, double h, double l, double M, double D) {
double r223609 = d;
double r223610 = h;
double r223611 = r223609 / r223610;
double r223612 = 1.0;
double r223613 = 2.0;
double r223614 = r223612 / r223613;
double r223615 = pow(r223611, r223614);
double r223616 = l;
double r223617 = r223609 / r223616;
double r223618 = pow(r223617, r223614);
double r223619 = r223615 * r223618;
double r223620 = M;
double r223621 = D;
double r223622 = r223620 * r223621;
double r223623 = r223613 * r223609;
double r223624 = r223622 / r223623;
double r223625 = pow(r223624, r223613);
double r223626 = r223614 * r223625;
double r223627 = r223610 / r223616;
double r223628 = r223626 * r223627;
double r223629 = r223612 - r223628;
double r223630 = r223619 * r223629;
return r223630;
}
double f(double d, double h, double l, double M, double D) {
double r223631 = 1.0;
double r223632 = h;
double r223633 = cbrt(r223632);
double r223634 = r223633 * r223633;
double r223635 = r223631 / r223634;
double r223636 = 1.0;
double r223637 = 2.0;
double r223638 = r223636 / r223637;
double r223639 = pow(r223635, r223638);
double r223640 = d;
double r223641 = r223640 / r223633;
double r223642 = pow(r223641, r223638);
double r223643 = r223639 * r223642;
double r223644 = cbrt(r223640);
double r223645 = r223644 * r223644;
double r223646 = l;
double r223647 = cbrt(r223646);
double r223648 = r223647 * r223647;
double r223649 = r223645 / r223648;
double r223650 = pow(r223649, r223638);
double r223651 = r223644 / r223647;
double r223652 = pow(r223651, r223638);
double r223653 = r223650 * r223652;
double r223654 = M;
double r223655 = D;
double r223656 = r223654 * r223655;
double r223657 = r223637 * r223640;
double r223658 = r223656 / r223657;
double r223659 = pow(r223658, r223637);
double r223660 = r223638 * r223659;
double r223661 = r223634 / r223648;
double r223662 = r223660 * r223661;
double r223663 = r223633 / r223647;
double r223664 = r223662 * r223663;
double r223665 = r223636 - r223664;
double r223666 = r223653 * r223665;
double r223667 = r223643 * r223666;
return r223667;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 26.7
rmApplied add-cube-cbrt26.9
Applied *-un-lft-identity26.9
Applied times-frac26.9
Applied unpow-prod-down21.9
rmApplied add-cube-cbrt22.0
Applied add-cube-cbrt22.1
Applied times-frac22.1
Applied unpow-prod-down18.0
rmApplied add-cube-cbrt18.1
Applied add-cube-cbrt18.0
Applied times-frac18.0
Applied associate-*r*15.1
rmApplied associate-*l*15.0
Final simplification15.0
herbie shell --seed 2020001
(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)))))