Average Error: 14.0 → 8.4
Time: 8.1m
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[\left|\sqrt{1 - \left(\frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot M}{\frac{2}{\frac{D}{d}}} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot M}{\frac{2}{\frac{D}{d}}}}\right| \cdot w0\]
double f(double w0, double M, double D, double h, double l, double d) {
        double r93734131 = w0;
        double r93734132 = 1.0;
        double r93734133 = M;
        double r93734134 = D;
        double r93734135 = r93734133 * r93734134;
        double r93734136 = 2.0;
        double r93734137 = d;
        double r93734138 = r93734136 * r93734137;
        double r93734139 = r93734135 / r93734138;
        double r93734140 = pow(r93734139, r93734136);
        double r93734141 = h;
        double r93734142 = l;
        double r93734143 = r93734141 / r93734142;
        double r93734144 = r93734140 * r93734143;
        double r93734145 = r93734132 - r93734144;
        double r93734146 = sqrt(r93734145);
        double r93734147 = r93734131 * r93734146;
        return r93734147;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r93734148 = 1.0;
        double r93734149 = h;
        double r93734150 = cbrt(r93734149);
        double r93734151 = l;
        double r93734152 = cbrt(r93734151);
        double r93734153 = r93734150 / r93734152;
        double r93734154 = M;
        double r93734155 = r93734153 * r93734154;
        double r93734156 = 2.0;
        double r93734157 = D;
        double r93734158 = d;
        double r93734159 = r93734157 / r93734158;
        double r93734160 = r93734156 / r93734159;
        double r93734161 = r93734155 / r93734160;
        double r93734162 = r93734161 * r93734153;
        double r93734163 = r93734162 * r93734161;
        double r93734164 = r93734148 - r93734163;
        double r93734165 = sqrt(r93734164);
        double r93734166 = fabs(r93734165);
        double r93734167 = w0;
        double r93734168 = r93734166 * r93734167;
        return r93734168;
}

w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
\left|\sqrt{1 - \left(\frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot M}{\frac{2}{\frac{D}{d}}} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot M}{\frac{2}{\frac{D}{d}}}}\right| \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 14.0

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

    \[\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 add-cube-cbrt14.1

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

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

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

    \[\leadsto \sqrt{1 - \color{blue}{\left(\left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\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}}}} \cdot w0\]
  8. Using strategy rm
  9. Applied add-sqr-sqrt10.9

    \[\leadsto \sqrt{\color{blue}{\sqrt{1 - \left(\left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\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}}} \cdot \sqrt{1 - \left(\left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\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}}}}} \cdot w0\]
  10. Applied rem-sqrt-square10.9

    \[\leadsto \color{blue}{\left|\sqrt{1 - \left(\left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\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|} \cdot w0\]
  11. Simplified8.8

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

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

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

Reproduce

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