Average Error: 14.6 → 9.5
Time: 25.0s
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[w0 \cdot \sqrt{1 - \left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right)\right) \cdot \frac{1}{\ell}}\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
w0 \cdot \sqrt{1 - \left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right)\right) \cdot \frac{1}{\ell}}
double f(double w0, double M, double D, double h, double l, double d) {
        double r138315 = w0;
        double r138316 = 1.0;
        double r138317 = M;
        double r138318 = D;
        double r138319 = r138317 * r138318;
        double r138320 = 2.0;
        double r138321 = d;
        double r138322 = r138320 * r138321;
        double r138323 = r138319 / r138322;
        double r138324 = pow(r138323, r138320);
        double r138325 = h;
        double r138326 = l;
        double r138327 = r138325 / r138326;
        double r138328 = r138324 * r138327;
        double r138329 = r138316 - r138328;
        double r138330 = sqrt(r138329);
        double r138331 = r138315 * r138330;
        return r138331;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r138332 = w0;
        double r138333 = 1.0;
        double r138334 = M;
        double r138335 = D;
        double r138336 = r138334 * r138335;
        double r138337 = 2.0;
        double r138338 = d;
        double r138339 = r138337 * r138338;
        double r138340 = r138336 / r138339;
        double r138341 = 2.0;
        double r138342 = r138337 / r138341;
        double r138343 = pow(r138340, r138342);
        double r138344 = h;
        double r138345 = r138343 * r138344;
        double r138346 = r138343 * r138345;
        double r138347 = 1.0;
        double r138348 = l;
        double r138349 = r138347 / r138348;
        double r138350 = r138346 * r138349;
        double r138351 = r138333 - r138350;
        double r138352 = sqrt(r138351);
        double r138353 = r138332 * r138352;
        return r138353;
}

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

    \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
  2. Using strategy rm
  3. Applied div-inv14.6

    \[\leadsto w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \color{blue}{\left(h \cdot \frac{1}{\ell}\right)}}\]
  4. Applied associate-*r*11.1

    \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot h\right) \cdot \frac{1}{\ell}}}\]
  5. Using strategy rm
  6. Applied sqr-pow11.1

    \[\leadsto w0 \cdot \sqrt{1 - \left(\color{blue}{\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}\right)} \cdot h\right) \cdot \frac{1}{\ell}}\]
  7. Applied associate-*l*9.5

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

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

Reproduce

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