Average Error: 13.0 → 7.6
Time: 1.2m
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{\left(D \cdot M\right) \cdot \frac{1}{d}}{2}}{\ell}}{\frac{1}{h}} \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 - \frac{\frac{\frac{\left(D \cdot M\right) \cdot \frac{1}{d}}{2}}{\ell}}{\frac{1}{h}} \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 r2808156 = w0;
        double r2808157 = 1.0;
        double r2808158 = M;
        double r2808159 = D;
        double r2808160 = r2808158 * r2808159;
        double r2808161 = 2.0;
        double r2808162 = d;
        double r2808163 = r2808161 * r2808162;
        double r2808164 = r2808160 / r2808163;
        double r2808165 = pow(r2808164, r2808161);
        double r2808166 = h;
        double r2808167 = l;
        double r2808168 = r2808166 / r2808167;
        double r2808169 = r2808165 * r2808168;
        double r2808170 = r2808157 - r2808169;
        double r2808171 = sqrt(r2808170);
        double r2808172 = r2808156 * r2808171;
        return r2808172;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r2808173 = 1.0;
        double r2808174 = D;
        double r2808175 = M;
        double r2808176 = r2808174 * r2808175;
        double r2808177 = d;
        double r2808178 = r2808173 / r2808177;
        double r2808179 = r2808176 * r2808178;
        double r2808180 = 2.0;
        double r2808181 = r2808179 / r2808180;
        double r2808182 = l;
        double r2808183 = r2808181 / r2808182;
        double r2808184 = h;
        double r2808185 = r2808173 / r2808184;
        double r2808186 = r2808183 / r2808185;
        double r2808187 = r2808176 / r2808177;
        double r2808188 = r2808187 / r2808180;
        double r2808189 = r2808186 * r2808188;
        double r2808190 = r2808173 - r2808189;
        double r2808191 = sqrt(r2808190);
        double r2808192 = w0;
        double r2808193 = r2808191 * r2808192;
        return r2808193;
}

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

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

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

    \[\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 associate-/r*7.6

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

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

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

Reproduce

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