Average Error: 13.6 → 8.3
Time: 2.9m
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[\left|\sqrt{1 - \frac{\frac{D \cdot M}{2 \cdot d}}{\ell} \cdot \left(\frac{D \cdot M}{2 \cdot d} \cdot h\right)}\right| \cdot w0\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
\left|\sqrt{1 - \frac{\frac{D \cdot M}{2 \cdot d}}{\ell} \cdot \left(\frac{D \cdot M}{2 \cdot d} \cdot h\right)}\right| \cdot w0
double f(double w0, double M, double D, double h, double l, double d) {
        double r36186218 = w0;
        double r36186219 = 1.0;
        double r36186220 = M;
        double r36186221 = D;
        double r36186222 = r36186220 * r36186221;
        double r36186223 = 2.0;
        double r36186224 = d;
        double r36186225 = r36186223 * r36186224;
        double r36186226 = r36186222 / r36186225;
        double r36186227 = pow(r36186226, r36186223);
        double r36186228 = h;
        double r36186229 = l;
        double r36186230 = r36186228 / r36186229;
        double r36186231 = r36186227 * r36186230;
        double r36186232 = r36186219 - r36186231;
        double r36186233 = sqrt(r36186232);
        double r36186234 = r36186218 * r36186233;
        return r36186234;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r36186235 = 1.0;
        double r36186236 = D;
        double r36186237 = M;
        double r36186238 = r36186236 * r36186237;
        double r36186239 = 2.0;
        double r36186240 = d;
        double r36186241 = r36186239 * r36186240;
        double r36186242 = r36186238 / r36186241;
        double r36186243 = l;
        double r36186244 = r36186242 / r36186243;
        double r36186245 = h;
        double r36186246 = r36186242 * r36186245;
        double r36186247 = r36186244 * r36186246;
        double r36186248 = r36186235 - r36186247;
        double r36186249 = sqrt(r36186248);
        double r36186250 = fabs(r36186249);
        double r36186251 = w0;
        double r36186252 = r36186250 * r36186251;
        return r36186252;
}

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 13.6

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

    \[\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-*r/10.3

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

    \[\leadsto \sqrt{1 - \frac{\color{blue}{\frac{M \cdot D}{2 \cdot d} \cdot \left(\frac{M \cdot D}{2 \cdot d} \cdot h\right)}}{\ell}} \cdot w0\]
  7. Using strategy rm
  8. Applied *-un-lft-identity8.8

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

    \[\leadsto \sqrt{1 - \color{blue}{\frac{\frac{M \cdot D}{2 \cdot d}}{1} \cdot \frac{\frac{M \cdot D}{2 \cdot d} \cdot h}{\ell}}} \cdot w0\]
  10. Using strategy rm
  11. Applied add-sqr-sqrt8.3

    \[\leadsto \sqrt{\color{blue}{\sqrt{1 - \frac{\frac{M \cdot D}{2 \cdot d}}{1} \cdot \frac{\frac{M \cdot D}{2 \cdot d} \cdot h}{\ell}} \cdot \sqrt{1 - \frac{\frac{M \cdot D}{2 \cdot d}}{1} \cdot \frac{\frac{M \cdot D}{2 \cdot d} \cdot h}{\ell}}}} \cdot w0\]
  12. Applied rem-sqrt-square8.3

    \[\leadsto \color{blue}{\left|\sqrt{1 - \frac{\frac{M \cdot D}{2 \cdot d}}{1} \cdot \frac{\frac{M \cdot D}{2 \cdot d} \cdot h}{\ell}}\right|} \cdot w0\]
  13. Simplified8.3

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

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

Reproduce

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