Average Error: 14.0 → 8.4
Time: 1.4m
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 r2402176 = w0;
        double r2402177 = 1.0;
        double r2402178 = M;
        double r2402179 = D;
        double r2402180 = r2402178 * r2402179;
        double r2402181 = 2.0;
        double r2402182 = d;
        double r2402183 = r2402181 * r2402182;
        double r2402184 = r2402180 / r2402183;
        double r2402185 = pow(r2402184, r2402181);
        double r2402186 = h;
        double r2402187 = l;
        double r2402188 = r2402186 / r2402187;
        double r2402189 = r2402185 * r2402188;
        double r2402190 = r2402177 - r2402189;
        double r2402191 = sqrt(r2402190);
        double r2402192 = r2402176 * r2402191;
        return r2402192;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r2402193 = w0;
        double r2402194 = 1.0;
        double r2402195 = D;
        double r2402196 = M;
        double r2402197 = r2402195 * r2402196;
        double r2402198 = d;
        double r2402199 = r2402197 / r2402198;
        double r2402200 = 2.0;
        double r2402201 = r2402199 / r2402200;
        double r2402202 = 0.5;
        double r2402203 = h;
        double r2402204 = r2402194 / r2402203;
        double r2402205 = r2402202 / r2402204;
        double r2402206 = l;
        double r2402207 = r2402199 / r2402206;
        double r2402208 = r2402205 * r2402207;
        double r2402209 = r2402201 * r2402208;
        double r2402210 = r2402194 - r2402209;
        double r2402211 = sqrt(r2402210);
        double r2402212 = r2402193 * r2402211;
        return r2402212;
}

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))))))