Average Error: 13.6 → 8.1
Time: 31.2s
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{D \cdot M}{2}}{d}}{\ell} \cdot \frac{\frac{\frac{D \cdot M}{2}}{d}}{\frac{1}{h}}} \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{D \cdot M}{2}}{d}}{\ell} \cdot \frac{\frac{\frac{D \cdot M}{2}}{d}}{\frac{1}{h}}} \cdot w0
double f(double w0, double M, double D, double h, double l, double d) {
        double r5112713 = w0;
        double r5112714 = 1.0;
        double r5112715 = M;
        double r5112716 = D;
        double r5112717 = r5112715 * r5112716;
        double r5112718 = 2.0;
        double r5112719 = d;
        double r5112720 = r5112718 * r5112719;
        double r5112721 = r5112717 / r5112720;
        double r5112722 = pow(r5112721, r5112718);
        double r5112723 = h;
        double r5112724 = l;
        double r5112725 = r5112723 / r5112724;
        double r5112726 = r5112722 * r5112725;
        double r5112727 = r5112714 - r5112726;
        double r5112728 = sqrt(r5112727);
        double r5112729 = r5112713 * r5112728;
        return r5112729;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r5112730 = 1.0;
        double r5112731 = D;
        double r5112732 = M;
        double r5112733 = r5112731 * r5112732;
        double r5112734 = 2.0;
        double r5112735 = r5112733 / r5112734;
        double r5112736 = d;
        double r5112737 = r5112735 / r5112736;
        double r5112738 = l;
        double r5112739 = r5112737 / r5112738;
        double r5112740 = h;
        double r5112741 = r5112730 / r5112740;
        double r5112742 = r5112737 / r5112741;
        double r5112743 = r5112739 * r5112742;
        double r5112744 = r5112730 - r5112743;
        double r5112745 = sqrt(r5112744);
        double r5112746 = w0;
        double r5112747 = r5112745 * r5112746;
        return r5112747;
}

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

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

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

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

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

Reproduce

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