Average Error: 13.6 → 8.3
Time: 1.6m
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[\sqrt{1 - \left(\frac{\frac{\frac{D \cdot M}{d}}{\sqrt{2}}}{\frac{1}{h}} \cdot \frac{\frac{1}{\sqrt{2}}}{\ell}\right) \cdot \frac{\frac{D \cdot M}{d}}{2}} \cdot w0\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
\sqrt{1 - \left(\frac{\frac{\frac{D \cdot M}{d}}{\sqrt{2}}}{\frac{1}{h}} \cdot \frac{\frac{1}{\sqrt{2}}}{\ell}\right) \cdot \frac{\frac{D \cdot M}{d}}{2}} \cdot w0
double f(double w0, double M, double D, double h, double l, double d) {
        double r4615718 = w0;
        double r4615719 = 1.0;
        double r4615720 = M;
        double r4615721 = D;
        double r4615722 = r4615720 * r4615721;
        double r4615723 = 2.0;
        double r4615724 = d;
        double r4615725 = r4615723 * r4615724;
        double r4615726 = r4615722 / r4615725;
        double r4615727 = pow(r4615726, r4615723);
        double r4615728 = h;
        double r4615729 = l;
        double r4615730 = r4615728 / r4615729;
        double r4615731 = r4615727 * r4615730;
        double r4615732 = r4615719 - r4615731;
        double r4615733 = sqrt(r4615732);
        double r4615734 = r4615718 * r4615733;
        return r4615734;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r4615735 = 1.0;
        double r4615736 = D;
        double r4615737 = M;
        double r4615738 = r4615736 * r4615737;
        double r4615739 = d;
        double r4615740 = r4615738 / r4615739;
        double r4615741 = 2.0;
        double r4615742 = sqrt(r4615741);
        double r4615743 = r4615740 / r4615742;
        double r4615744 = h;
        double r4615745 = r4615735 / r4615744;
        double r4615746 = r4615743 / r4615745;
        double r4615747 = r4615735 / r4615742;
        double r4615748 = l;
        double r4615749 = r4615747 / r4615748;
        double r4615750 = r4615746 * r4615749;
        double r4615751 = r4615740 / r4615741;
        double r4615752 = r4615750 * r4615751;
        double r4615753 = r4615735 - r4615752;
        double r4615754 = sqrt(r4615753);
        double r4615755 = w0;
        double r4615756 = r4615754 * r4615755;
        return r4615756;
}

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. Simplified11.8

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

    \[\leadsto \sqrt{1 - \frac{\frac{\frac{M \cdot D}{d}}{2}}{\color{blue}{\ell \cdot \frac{1}{h}}} \cdot \frac{\frac{M \cdot D}{d}}{2}} \cdot w0\]
  5. Applied add-sqr-sqrt11.8

    \[\leadsto \sqrt{1 - \frac{\frac{\frac{M \cdot D}{d}}{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}}{\ell \cdot \frac{1}{h}} \cdot \frac{\frac{M \cdot D}{d}}{2}} \cdot w0\]
  6. Applied *-un-lft-identity11.8

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

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

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

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

Reproduce

herbie shell --seed 2019151 +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))))))