Average Error: 25.6 → 17.1
Time: 1.4m
Precision: 64
\[\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)\]
\[\mathsf{fma}\left(\left(\sqrt{\frac{d}{\sqrt[3]{\ell}}} \cdot \sqrt{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}}\right) \cdot \left(\sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{h}}} \cdot \left|\frac{\sqrt[3]{d}}{\sqrt[3]{h}}\right|\right), \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{h \cdot \frac{M}{\frac{2}{\frac{D}{d}}}}{\ell}\right) \cdot \frac{-1}{2}, \sqrt{\frac{d}{h}} \cdot \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right)\right)\]
\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)
\mathsf{fma}\left(\left(\sqrt{\frac{d}{\sqrt[3]{\ell}}} \cdot \sqrt{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}}\right) \cdot \left(\sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{h}}} \cdot \left|\frac{\sqrt[3]{d}}{\sqrt[3]{h}}\right|\right), \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{h \cdot \frac{M}{\frac{2}{\frac{D}{d}}}}{\ell}\right) \cdot \frac{-1}{2}, \sqrt{\frac{d}{h}} \cdot \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right)\right)
double f(double d, double h, double l, double M, double D) {
        double r5275691 = d;
        double r5275692 = h;
        double r5275693 = r5275691 / r5275692;
        double r5275694 = 1.0;
        double r5275695 = 2.0;
        double r5275696 = r5275694 / r5275695;
        double r5275697 = pow(r5275693, r5275696);
        double r5275698 = l;
        double r5275699 = r5275691 / r5275698;
        double r5275700 = pow(r5275699, r5275696);
        double r5275701 = r5275697 * r5275700;
        double r5275702 = M;
        double r5275703 = D;
        double r5275704 = r5275702 * r5275703;
        double r5275705 = r5275695 * r5275691;
        double r5275706 = r5275704 / r5275705;
        double r5275707 = pow(r5275706, r5275695);
        double r5275708 = r5275696 * r5275707;
        double r5275709 = r5275692 / r5275698;
        double r5275710 = r5275708 * r5275709;
        double r5275711 = r5275694 - r5275710;
        double r5275712 = r5275701 * r5275711;
        return r5275712;
}

double f(double d, double h, double l, double M, double D) {
        double r5275713 = d;
        double r5275714 = l;
        double r5275715 = cbrt(r5275714);
        double r5275716 = r5275713 / r5275715;
        double r5275717 = sqrt(r5275716);
        double r5275718 = 1.0;
        double r5275719 = r5275715 * r5275715;
        double r5275720 = r5275718 / r5275719;
        double r5275721 = sqrt(r5275720);
        double r5275722 = r5275717 * r5275721;
        double r5275723 = cbrt(r5275713);
        double r5275724 = h;
        double r5275725 = cbrt(r5275724);
        double r5275726 = r5275723 / r5275725;
        double r5275727 = sqrt(r5275726);
        double r5275728 = fabs(r5275726);
        double r5275729 = r5275727 * r5275728;
        double r5275730 = r5275722 * r5275729;
        double r5275731 = M;
        double r5275732 = 2.0;
        double r5275733 = D;
        double r5275734 = r5275733 / r5275713;
        double r5275735 = r5275732 / r5275734;
        double r5275736 = r5275731 / r5275735;
        double r5275737 = r5275724 * r5275736;
        double r5275738 = r5275737 / r5275714;
        double r5275739 = r5275736 * r5275738;
        double r5275740 = -0.5;
        double r5275741 = r5275739 * r5275740;
        double r5275742 = r5275713 / r5275724;
        double r5275743 = sqrt(r5275742);
        double r5275744 = r5275723 / r5275715;
        double r5275745 = fabs(r5275744);
        double r5275746 = sqrt(r5275744);
        double r5275747 = r5275745 * r5275746;
        double r5275748 = r5275743 * r5275747;
        double r5275749 = fma(r5275730, r5275741, r5275748);
        return r5275749;
}

Error

Bits error versus d

Bits error versus h

Bits error versus l

Bits error versus M

Bits error versus D

Derivation

  1. Initial program 25.6

    \[\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)\]
  2. Simplified24.6

    \[\leadsto \color{blue}{\mathsf{fma}\left(\sqrt{\frac{d}{\ell}} \cdot \sqrt{\frac{d}{h}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{h}{\ell}\right)\right), \sqrt{\frac{d}{\ell}} \cdot \sqrt{\frac{d}{h}}\right)}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt24.8

    \[\leadsto \mathsf{fma}\left(\sqrt{\frac{d}{\ell}} \cdot \sqrt{\frac{d}{h}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{h}{\ell}\right)\right), \sqrt{\frac{d}{\color{blue}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}} \cdot \sqrt{\frac{d}{h}}\right)\]
  5. Applied add-cube-cbrt24.9

    \[\leadsto \mathsf{fma}\left(\sqrt{\frac{d}{\ell}} \cdot \sqrt{\frac{d}{h}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{h}{\ell}\right)\right), \sqrt{\frac{\color{blue}{\left(\sqrt[3]{d} \cdot \sqrt[3]{d}\right) \cdot \sqrt[3]{d}}}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}} \cdot \sqrt{\frac{d}{h}}\right)\]
  6. Applied times-frac24.9

    \[\leadsto \mathsf{fma}\left(\sqrt{\frac{d}{\ell}} \cdot \sqrt{\frac{d}{h}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{h}{\ell}\right)\right), \sqrt{\color{blue}{\frac{\sqrt[3]{d} \cdot \sqrt[3]{d}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}} \cdot \sqrt{\frac{d}{h}}\right)\]
  7. Applied sqrt-prod22.8

    \[\leadsto \mathsf{fma}\left(\sqrt{\frac{d}{\ell}} \cdot \sqrt{\frac{d}{h}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{h}{\ell}\right)\right), \color{blue}{\left(\sqrt{\frac{\sqrt[3]{d} \cdot \sqrt[3]{d}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right)} \cdot \sqrt{\frac{d}{h}}\right)\]
  8. Simplified22.6

    \[\leadsto \mathsf{fma}\left(\sqrt{\frac{d}{\ell}} \cdot \sqrt{\frac{d}{h}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{h}{\ell}\right)\right), \left(\color{blue}{\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right|} \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{h}}\right)\]
  9. Using strategy rm
  10. Applied associate-*r/21.1

    \[\leadsto \mathsf{fma}\left(\sqrt{\frac{d}{\ell}} \cdot \sqrt{\frac{d}{h}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \color{blue}{\frac{\frac{M}{\frac{2}{\frac{D}{d}}} \cdot h}{\ell}}\right), \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{h}}\right)\]
  11. Using strategy rm
  12. Applied add-cube-cbrt21.1

    \[\leadsto \mathsf{fma}\left(\sqrt{\frac{d}{\color{blue}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}} \cdot \sqrt{\frac{d}{h}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{\frac{M}{\frac{2}{\frac{D}{d}}} \cdot h}{\ell}\right), \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{h}}\right)\]
  13. Applied *-un-lft-identity21.1

    \[\leadsto \mathsf{fma}\left(\sqrt{\frac{\color{blue}{1 \cdot d}}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}} \cdot \sqrt{\frac{d}{h}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{\frac{M}{\frac{2}{\frac{D}{d}}} \cdot h}{\ell}\right), \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{h}}\right)\]
  14. Applied times-frac21.1

    \[\leadsto \mathsf{fma}\left(\sqrt{\color{blue}{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \frac{d}{\sqrt[3]{\ell}}}} \cdot \sqrt{\frac{d}{h}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{\frac{M}{\frac{2}{\frac{D}{d}}} \cdot h}{\ell}\right), \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{h}}\right)\]
  15. Applied sqrt-prod17.7

    \[\leadsto \mathsf{fma}\left(\color{blue}{\left(\sqrt{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \sqrt{\frac{d}{\sqrt[3]{\ell}}}\right)} \cdot \sqrt{\frac{d}{h}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{\frac{M}{\frac{2}{\frac{D}{d}}} \cdot h}{\ell}\right), \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{h}}\right)\]
  16. Using strategy rm
  17. Applied add-cube-cbrt17.8

    \[\leadsto \mathsf{fma}\left(\left(\sqrt{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \sqrt{\frac{d}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{\color{blue}{\left(\sqrt[3]{h} \cdot \sqrt[3]{h}\right) \cdot \sqrt[3]{h}}}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{\frac{M}{\frac{2}{\frac{D}{d}}} \cdot h}{\ell}\right), \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{h}}\right)\]
  18. Applied add-cube-cbrt17.8

    \[\leadsto \mathsf{fma}\left(\left(\sqrt{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \sqrt{\frac{d}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{\color{blue}{\left(\sqrt[3]{d} \cdot \sqrt[3]{d}\right) \cdot \sqrt[3]{d}}}{\left(\sqrt[3]{h} \cdot \sqrt[3]{h}\right) \cdot \sqrt[3]{h}}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{\frac{M}{\frac{2}{\frac{D}{d}}} \cdot h}{\ell}\right), \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{h}}\right)\]
  19. Applied times-frac17.8

    \[\leadsto \mathsf{fma}\left(\left(\sqrt{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \sqrt{\frac{d}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\color{blue}{\frac{\sqrt[3]{d} \cdot \sqrt[3]{d}}{\sqrt[3]{h} \cdot \sqrt[3]{h}} \cdot \frac{\sqrt[3]{d}}{\sqrt[3]{h}}}}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{\frac{M}{\frac{2}{\frac{D}{d}}} \cdot h}{\ell}\right), \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{h}}\right)\]
  20. Applied sqrt-prod17.1

    \[\leadsto \mathsf{fma}\left(\left(\sqrt{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \sqrt{\frac{d}{\sqrt[3]{\ell}}}\right) \cdot \color{blue}{\left(\sqrt{\frac{\sqrt[3]{d} \cdot \sqrt[3]{d}}{\sqrt[3]{h} \cdot \sqrt[3]{h}}} \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{h}}}\right)}, \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{\frac{M}{\frac{2}{\frac{D}{d}}} \cdot h}{\ell}\right), \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{h}}\right)\]
  21. Simplified17.1

    \[\leadsto \mathsf{fma}\left(\left(\sqrt{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \sqrt{\frac{d}{\sqrt[3]{\ell}}}\right) \cdot \left(\color{blue}{\left|\frac{\sqrt[3]{d}}{\sqrt[3]{h}}\right|} \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{h}}}\right), \frac{-1}{2} \cdot \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{\frac{M}{\frac{2}{\frac{D}{d}}} \cdot h}{\ell}\right), \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{d}{h}}\right)\]
  22. Final simplification17.1

    \[\leadsto \mathsf{fma}\left(\left(\sqrt{\frac{d}{\sqrt[3]{\ell}}} \cdot \sqrt{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}}\right) \cdot \left(\sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{h}}} \cdot \left|\frac{\sqrt[3]{d}}{\sqrt[3]{h}}\right|\right), \left(\frac{M}{\frac{2}{\frac{D}{d}}} \cdot \frac{h \cdot \frac{M}{\frac{2}{\frac{D}{d}}}}{\ell}\right) \cdot \frac{-1}{2}, \sqrt{\frac{d}{h}} \cdot \left(\left|\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right| \cdot \sqrt{\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}}\right)\right)\]

Reproduce

herbie shell --seed 2019139 +o rules:numerics
(FPCore (d h l M D)
  :name "Henrywood and Agarwal, Equation (12)"
  (* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)))))