Average Error: 13.4 → 8.1
Time: 1.9m
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[\sqrt{1 - \frac{\frac{M}{\frac{d}{D}}}{\frac{\frac{1}{h}}{\frac{1}{4}} \cdot \frac{\ell}{\frac{M}{\frac{d}{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{M}{\frac{d}{D}}}{\frac{\frac{1}{h}}{\frac{1}{4}} \cdot \frac{\ell}{\frac{M}{\frac{d}{D}}}}} \cdot w0
double f(double w0, double M, double D, double h, double l, double d) {
        double r6408202 = w0;
        double r6408203 = 1.0;
        double r6408204 = M;
        double r6408205 = D;
        double r6408206 = r6408204 * r6408205;
        double r6408207 = 2.0;
        double r6408208 = d;
        double r6408209 = r6408207 * r6408208;
        double r6408210 = r6408206 / r6408209;
        double r6408211 = pow(r6408210, r6408207);
        double r6408212 = h;
        double r6408213 = l;
        double r6408214 = r6408212 / r6408213;
        double r6408215 = r6408211 * r6408214;
        double r6408216 = r6408203 - r6408215;
        double r6408217 = sqrt(r6408216);
        double r6408218 = r6408202 * r6408217;
        return r6408218;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r6408219 = 1.0;
        double r6408220 = M;
        double r6408221 = d;
        double r6408222 = D;
        double r6408223 = r6408221 / r6408222;
        double r6408224 = r6408220 / r6408223;
        double r6408225 = h;
        double r6408226 = r6408219 / r6408225;
        double r6408227 = 0.25;
        double r6408228 = r6408226 / r6408227;
        double r6408229 = l;
        double r6408230 = r6408229 / r6408224;
        double r6408231 = r6408228 * r6408230;
        double r6408232 = r6408224 / r6408231;
        double r6408233 = r6408219 - r6408232;
        double r6408234 = sqrt(r6408233);
        double r6408235 = w0;
        double r6408236 = r6408234 * r6408235;
        return r6408236;
}

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

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

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

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

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

    \[\leadsto \sqrt{1 - \frac{\frac{M}{\frac{d}{D}}}{\color{blue}{\frac{\ell}{\frac{M}{\frac{d}{D}}} \cdot \frac{\frac{1}{h}}{\frac{1}{4}}}}} \cdot w0\]
  7. Simplified8.1

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

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

Reproduce

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