Average Error: 14.3 → 9.0
Time: 39.0s
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[w0 \cdot \sqrt{1 - \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}}{\ell} \cdot \left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right)}\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
w0 \cdot \sqrt{1 - \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}}{\ell} \cdot \left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right)}
double f(double w0, double M, double D, double h, double l, double d) {
        double r134361 = w0;
        double r134362 = 1.0;
        double r134363 = M;
        double r134364 = D;
        double r134365 = r134363 * r134364;
        double r134366 = 2.0;
        double r134367 = d;
        double r134368 = r134366 * r134367;
        double r134369 = r134365 / r134368;
        double r134370 = pow(r134369, r134366);
        double r134371 = h;
        double r134372 = l;
        double r134373 = r134371 / r134372;
        double r134374 = r134370 * r134373;
        double r134375 = r134362 - r134374;
        double r134376 = sqrt(r134375);
        double r134377 = r134361 * r134376;
        return r134377;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r134378 = w0;
        double r134379 = 1.0;
        double r134380 = M;
        double r134381 = D;
        double r134382 = r134380 * r134381;
        double r134383 = 2.0;
        double r134384 = d;
        double r134385 = r134383 * r134384;
        double r134386 = r134382 / r134385;
        double r134387 = 2.0;
        double r134388 = r134383 / r134387;
        double r134389 = pow(r134386, r134388);
        double r134390 = l;
        double r134391 = r134389 / r134390;
        double r134392 = h;
        double r134393 = r134389 * r134392;
        double r134394 = r134391 * r134393;
        double r134395 = r134379 - r134394;
        double r134396 = sqrt(r134395);
        double r134397 = r134378 * r134396;
        return r134397;
}

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 14.3

    \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
  2. Using strategy rm
  3. Applied associate-*r/11.0

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

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

    \[\leadsto w0 \cdot \sqrt{1 - \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}}{\color{blue}{\ell \cdot \frac{1}{h}}}}\]
  8. Applied sqr-pow13.8

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

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

    \[\leadsto w0 \cdot \sqrt{1 - \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}}{\ell} \cdot \color{blue}{\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right)}}\]
  11. Final simplification9.0

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

Reproduce

herbie shell --seed 2019199 +o rules:numerics
(FPCore (w0 M D h l d)
  :name "Henrywood and Agarwal, Equation (9a)"
  (* w0 (sqrt (- 1.0 (* (pow (/ (* M D) (* 2.0 d)) 2.0) (/ h l))))))