Average Error: 14.0 → 8.4
Time: 56.1s
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{\frac{D \cdot M}{d}}{2} \cdot \left(\frac{\frac{1}{2}}{\frac{1}{h}} \cdot \frac{\frac{D \cdot M}{d}}{\ell}\right)}\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
w0 \cdot \sqrt{1 - \frac{\frac{D \cdot M}{d}}{2} \cdot \left(\frac{\frac{1}{2}}{\frac{1}{h}} \cdot \frac{\frac{D \cdot M}{d}}{\ell}\right)}
double f(double w0, double M, double D, double h, double l, double d) {
        double r2467133 = w0;
        double r2467134 = 1.0;
        double r2467135 = M;
        double r2467136 = D;
        double r2467137 = r2467135 * r2467136;
        double r2467138 = 2.0;
        double r2467139 = d;
        double r2467140 = r2467138 * r2467139;
        double r2467141 = r2467137 / r2467140;
        double r2467142 = pow(r2467141, r2467138);
        double r2467143 = h;
        double r2467144 = l;
        double r2467145 = r2467143 / r2467144;
        double r2467146 = r2467142 * r2467145;
        double r2467147 = r2467134 - r2467146;
        double r2467148 = sqrt(r2467147);
        double r2467149 = r2467133 * r2467148;
        return r2467149;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r2467150 = w0;
        double r2467151 = 1.0;
        double r2467152 = D;
        double r2467153 = M;
        double r2467154 = r2467152 * r2467153;
        double r2467155 = d;
        double r2467156 = r2467154 / r2467155;
        double r2467157 = 2.0;
        double r2467158 = r2467156 / r2467157;
        double r2467159 = 0.5;
        double r2467160 = h;
        double r2467161 = r2467151 / r2467160;
        double r2467162 = r2467159 / r2467161;
        double r2467163 = l;
        double r2467164 = r2467156 / r2467163;
        double r2467165 = r2467162 * r2467164;
        double r2467166 = r2467158 * r2467165;
        double r2467167 = r2467151 - r2467166;
        double r2467168 = sqrt(r2467167);
        double r2467169 = r2467150 * r2467168;
        return r2467169;
}

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

    \[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{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-inv12.1

    \[\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 div-inv12.1

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

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

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

Reproduce

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