Average Error: 13.6 → 8.0
Time: 36.3s
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[\sqrt{1 - \frac{\frac{\frac{1}{\ell}}{2} \cdot \frac{h}{\frac{d}{M \cdot D}}}{\frac{1}{\frac{\frac{M \cdot D}{2}}{d}}}} \cdot w0\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
\sqrt{1 - \frac{\frac{\frac{1}{\ell}}{2} \cdot \frac{h}{\frac{d}{M \cdot D}}}{\frac{1}{\frac{\frac{M \cdot D}{2}}{d}}}} \cdot w0
double f(double w0, double M, double D, double h, double l, double d) {
        double r5044257 = w0;
        double r5044258 = 1.0;
        double r5044259 = M;
        double r5044260 = D;
        double r5044261 = r5044259 * r5044260;
        double r5044262 = 2.0;
        double r5044263 = d;
        double r5044264 = r5044262 * r5044263;
        double r5044265 = r5044261 / r5044264;
        double r5044266 = pow(r5044265, r5044262);
        double r5044267 = h;
        double r5044268 = l;
        double r5044269 = r5044267 / r5044268;
        double r5044270 = r5044266 * r5044269;
        double r5044271 = r5044258 - r5044270;
        double r5044272 = sqrt(r5044271);
        double r5044273 = r5044257 * r5044272;
        return r5044273;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r5044274 = 1.0;
        double r5044275 = l;
        double r5044276 = r5044274 / r5044275;
        double r5044277 = 2.0;
        double r5044278 = r5044276 / r5044277;
        double r5044279 = h;
        double r5044280 = d;
        double r5044281 = M;
        double r5044282 = D;
        double r5044283 = r5044281 * r5044282;
        double r5044284 = r5044280 / r5044283;
        double r5044285 = r5044279 / r5044284;
        double r5044286 = r5044278 * r5044285;
        double r5044287 = r5044283 / r5044277;
        double r5044288 = r5044287 / r5044280;
        double r5044289 = r5044274 / r5044288;
        double r5044290 = r5044286 / r5044289;
        double r5044291 = r5044274 - r5044290;
        double r5044292 = sqrt(r5044291);
        double r5044293 = w0;
        double r5044294 = r5044292 * r5044293;
        return r5044294;
}

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. Simplified12.1

    \[\leadsto \color{blue}{\sqrt{1 - \frac{\frac{\frac{h}{\ell}}{\frac{d}{\frac{M \cdot D}{2}}}}{\frac{d}{\frac{M \cdot D}{2}}}} \cdot w0}\]
  3. Using strategy rm
  4. Applied associate-/r/12.1

    \[\leadsto \sqrt{1 - \frac{\frac{\frac{h}{\ell}}{\color{blue}{\frac{d}{M \cdot D} \cdot 2}}}{\frac{d}{\frac{M \cdot D}{2}}}} \cdot w0\]
  5. Applied div-inv12.1

    \[\leadsto \sqrt{1 - \frac{\frac{\color{blue}{h \cdot \frac{1}{\ell}}}{\frac{d}{M \cdot D} \cdot 2}}{\frac{d}{\frac{M \cdot D}{2}}}} \cdot w0\]
  6. Applied times-frac8.0

    \[\leadsto \sqrt{1 - \frac{\color{blue}{\frac{h}{\frac{d}{M \cdot D}} \cdot \frac{\frac{1}{\ell}}{2}}}{\frac{d}{\frac{M \cdot D}{2}}}} \cdot w0\]
  7. Using strategy rm
  8. Applied clear-num8.0

    \[\leadsto \sqrt{1 - \frac{\frac{h}{\frac{d}{M \cdot D}} \cdot \frac{\frac{1}{\ell}}{2}}{\color{blue}{\frac{1}{\frac{\frac{M \cdot D}{2}}{d}}}}} \cdot w0\]
  9. Final simplification8.0

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

Reproduce

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