\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{\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)\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)double f(double d, double h, double l, double M, double D) {
double r175774 = d;
double r175775 = h;
double r175776 = r175774 / r175775;
double r175777 = 1.0;
double r175778 = 2.0;
double r175779 = r175777 / r175778;
double r175780 = pow(r175776, r175779);
double r175781 = l;
double r175782 = r175774 / r175781;
double r175783 = pow(r175782, r175779);
double r175784 = r175780 * r175783;
double r175785 = M;
double r175786 = D;
double r175787 = r175785 * r175786;
double r175788 = r175778 * r175774;
double r175789 = r175787 / r175788;
double r175790 = pow(r175789, r175778);
double r175791 = r175779 * r175790;
double r175792 = r175775 / r175781;
double r175793 = r175791 * r175792;
double r175794 = r175777 - r175793;
double r175795 = r175784 * r175794;
return r175795;
}
double f(double d, double h, double l, double M, double D) {
double r175796 = 1.0;
double r175797 = h;
double r175798 = cbrt(r175797);
double r175799 = r175798 * r175798;
double r175800 = r175796 / r175799;
double r175801 = 1.0;
double r175802 = 2.0;
double r175803 = r175801 / r175802;
double r175804 = pow(r175800, r175803);
double r175805 = d;
double r175806 = r175805 / r175798;
double r175807 = pow(r175806, r175803);
double r175808 = r175804 * r175807;
double r175809 = cbrt(r175805);
double r175810 = r175809 * r175809;
double r175811 = l;
double r175812 = cbrt(r175811);
double r175813 = r175812 * r175812;
double r175814 = r175810 / r175813;
double r175815 = pow(r175814, r175803);
double r175816 = r175809 / r175812;
double r175817 = pow(r175816, r175803);
double r175818 = r175815 * r175817;
double r175819 = r175808 * r175818;
double r175820 = M;
double r175821 = D;
double r175822 = r175820 * r175821;
double r175823 = r175802 * r175805;
double r175824 = r175822 / r175823;
double r175825 = pow(r175824, r175802);
double r175826 = r175803 * r175825;
double r175827 = r175799 / r175813;
double r175828 = r175826 * r175827;
double r175829 = r175798 / r175812;
double r175830 = r175828 * r175829;
double r175831 = r175801 - r175830;
double r175832 = r175819 * r175831;
return r175832;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 26.8
rmApplied add-cube-cbrt27.0
Applied *-un-lft-identity27.0
Applied times-frac27.1
Applied unpow-prod-down21.8
rmApplied add-cube-cbrt21.9
Applied add-cube-cbrt22.0
Applied times-frac22.0
Applied unpow-prod-down18.3
rmApplied add-cube-cbrt18.3
Applied add-cube-cbrt18.3
Applied times-frac18.3
Applied associate-*r*15.4
Final simplification15.4
herbie shell --seed 2019212 +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)))))