Average Error: 13.8 → 8.4
Time: 2.9m
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[\sqrt{1 - \left(\frac{1}{\ell} \cdot \left(\frac{D \cdot M}{2 \cdot d} \cdot h\right)\right) \cdot \frac{D \cdot M}{2 \cdot d}} \cdot w0\]
double f(double w0, double M, double D, double h, double l, double d) {
        double r34337834 = w0;
        double r34337835 = 1.0;
        double r34337836 = M;
        double r34337837 = D;
        double r34337838 = r34337836 * r34337837;
        double r34337839 = 2.0;
        double r34337840 = d;
        double r34337841 = r34337839 * r34337840;
        double r34337842 = r34337838 / r34337841;
        double r34337843 = pow(r34337842, r34337839);
        double r34337844 = h;
        double r34337845 = l;
        double r34337846 = r34337844 / r34337845;
        double r34337847 = r34337843 * r34337846;
        double r34337848 = r34337835 - r34337847;
        double r34337849 = sqrt(r34337848);
        double r34337850 = r34337834 * r34337849;
        return r34337850;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r34337851 = 1.0;
        double r34337852 = l;
        double r34337853 = r34337851 / r34337852;
        double r34337854 = D;
        double r34337855 = M;
        double r34337856 = r34337854 * r34337855;
        double r34337857 = 2.0;
        double r34337858 = d;
        double r34337859 = r34337857 * r34337858;
        double r34337860 = r34337856 / r34337859;
        double r34337861 = h;
        double r34337862 = r34337860 * r34337861;
        double r34337863 = r34337853 * r34337862;
        double r34337864 = r34337863 * r34337860;
        double r34337865 = r34337851 - r34337864;
        double r34337866 = sqrt(r34337865);
        double r34337867 = w0;
        double r34337868 = r34337866 * r34337867;
        return r34337868;
}

w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
\sqrt{1 - \left(\frac{1}{\ell} \cdot \left(\frac{D \cdot M}{2 \cdot d} \cdot h\right)\right) \cdot \frac{D \cdot M}{2 \cdot d}} \cdot w0

Error

Bits error versus w0

Bits error versus M

Bits error versus D

Bits error versus h

Bits error versus l

Bits error versus d

Derivation

  1. Initial program 13.8

    \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
  2. Simplified13.8

    \[\leadsto \color{blue}{\sqrt{1 - \left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \frac{h}{\ell}} \cdot w0}\]
  3. Using strategy rm
  4. Applied associate-*l*12.5

    \[\leadsto \sqrt{1 - \color{blue}{\frac{M \cdot D}{2 \cdot d} \cdot \left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{h}{\ell}\right)}} \cdot w0\]
  5. Using strategy rm
  6. Applied div-inv12.5

    \[\leadsto \sqrt{1 - \frac{M \cdot D}{2 \cdot d} \cdot \left(\frac{M \cdot D}{2 \cdot d} \cdot \color{blue}{\left(h \cdot \frac{1}{\ell}\right)}\right)} \cdot w0\]
  7. Applied associate-*r*8.4

    \[\leadsto \sqrt{1 - \frac{M \cdot D}{2 \cdot d} \cdot \color{blue}{\left(\left(\frac{M \cdot D}{2 \cdot d} \cdot h\right) \cdot \frac{1}{\ell}\right)}} \cdot w0\]
  8. Final simplification8.4

    \[\leadsto \sqrt{1 - \left(\frac{1}{\ell} \cdot \left(\frac{D \cdot M}{2 \cdot d} \cdot h\right)\right) \cdot \frac{D \cdot M}{2 \cdot d}} \cdot w0\]

Reproduce

herbie shell --seed 2019101 
(FPCore (w0 M D h l d)
  :name "Henrywood and Agarwal, Equation (9a)"
  (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))