Average Error: 13.8 → 12.4
Time: 21.7s
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(\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 \frac{h}{\ell}\right)}\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
w0 \cdot \sqrt{1 - {\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 \frac{h}{\ell}\right)}
double f(double w0, double M, double D, double h, double l, double d) {
        double r131974 = w0;
        double r131975 = 1.0;
        double r131976 = M;
        double r131977 = D;
        double r131978 = r131976 * r131977;
        double r131979 = 2.0;
        double r131980 = d;
        double r131981 = r131979 * r131980;
        double r131982 = r131978 / r131981;
        double r131983 = pow(r131982, r131979);
        double r131984 = h;
        double r131985 = l;
        double r131986 = r131984 / r131985;
        double r131987 = r131983 * r131986;
        double r131988 = r131975 - r131987;
        double r131989 = sqrt(r131988);
        double r131990 = r131974 * r131989;
        return r131990;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r131991 = w0;
        double r131992 = 1.0;
        double r131993 = M;
        double r131994 = D;
        double r131995 = r131993 * r131994;
        double r131996 = 2.0;
        double r131997 = d;
        double r131998 = r131996 * r131997;
        double r131999 = r131995 / r131998;
        double r132000 = 2.0;
        double r132001 = r131996 / r132000;
        double r132002 = pow(r131999, r132001);
        double r132003 = h;
        double r132004 = l;
        double r132005 = r132003 / r132004;
        double r132006 = r132002 * r132005;
        double r132007 = r132002 * r132006;
        double r132008 = r131992 - r132007;
        double r132009 = sqrt(r132008);
        double r132010 = r131991 * r132009;
        return r132010;
}

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. Split input into 2 regimes
  2. if (/ h l) < -9.462498595087775e+265 or -1.3747978575614333e-205 < (/ h l)

    1. Initial program 13.7

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
    2. Using strategy rm
    3. Applied associate-*r/8.1

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

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

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

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

    if -9.462498595087775e+265 < (/ h l) < -1.3747978575614333e-205

    1. Initial program 14.0

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

      \[\leadsto w0 \cdot \sqrt{1 - \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 \frac{h}{\ell}}\]
    4. Applied associate-*l*12.9

      \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{{\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 \frac{h}{\ell}\right)}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification12.4

    \[\leadsto w0 \cdot \sqrt{1 - {\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 \frac{h}{\ell}\right)}\]

Reproduce

herbie shell --seed 2019291 
(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))))))