Average Error: 14.0 → 8.9
Time: 36.9s
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[\begin{array}{l} \mathbf{if}\;\frac{h}{\ell} = -\infty:\\ \;\;\;\;\sqrt{1 - \left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left({\left(\frac{M}{d}\right)}^{2} \cdot \left({\left(\frac{D}{2}\right)}^{2} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\\ \mathbf{elif}\;\frac{h}{\ell} \le -2.865580745879229956224098998635683959717 \cdot 10^{-321}:\\ \;\;\;\;w0 \cdot \sqrt{1 - \left({\left(\sqrt[3]{\frac{D \cdot M}{d \cdot 2}}\right)}^{2} \cdot \frac{h}{\ell}\right) \cdot {\left(\sqrt[3]{\frac{D \cdot M}{d \cdot 2}} \cdot \sqrt[3]{\frac{D \cdot M}{d \cdot 2}}\right)}^{2}}\\ \mathbf{else}:\\ \;\;\;\;w0 \cdot \sqrt{1}\\ \end{array}\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
\begin{array}{l}
\mathbf{if}\;\frac{h}{\ell} = -\infty:\\
\;\;\;\;\sqrt{1 - \left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left({\left(\frac{M}{d}\right)}^{2} \cdot \left({\left(\frac{D}{2}\right)}^{2} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\\

\mathbf{elif}\;\frac{h}{\ell} \le -2.865580745879229956224098998635683959717 \cdot 10^{-321}:\\
\;\;\;\;w0 \cdot \sqrt{1 - \left({\left(\sqrt[3]{\frac{D \cdot M}{d \cdot 2}}\right)}^{2} \cdot \frac{h}{\ell}\right) \cdot {\left(\sqrt[3]{\frac{D \cdot M}{d \cdot 2}} \cdot \sqrt[3]{\frac{D \cdot M}{d \cdot 2}}\right)}^{2}}\\

\mathbf{else}:\\
\;\;\;\;w0 \cdot \sqrt{1}\\

\end{array}
double f(double w0, double M, double D, double h, double l, double d) {
        double r4863481 = w0;
        double r4863482 = 1.0;
        double r4863483 = M;
        double r4863484 = D;
        double r4863485 = r4863483 * r4863484;
        double r4863486 = 2.0;
        double r4863487 = d;
        double r4863488 = r4863486 * r4863487;
        double r4863489 = r4863485 / r4863488;
        double r4863490 = pow(r4863489, r4863486);
        double r4863491 = h;
        double r4863492 = l;
        double r4863493 = r4863491 / r4863492;
        double r4863494 = r4863490 * r4863493;
        double r4863495 = r4863482 - r4863494;
        double r4863496 = sqrt(r4863495);
        double r4863497 = r4863481 * r4863496;
        return r4863497;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r4863498 = h;
        double r4863499 = l;
        double r4863500 = r4863498 / r4863499;
        double r4863501 = -inf.0;
        bool r4863502 = r4863500 <= r4863501;
        double r4863503 = 1.0;
        double r4863504 = cbrt(r4863498);
        double r4863505 = cbrt(r4863499);
        double r4863506 = r4863504 / r4863505;
        double r4863507 = M;
        double r4863508 = d;
        double r4863509 = r4863507 / r4863508;
        double r4863510 = 2.0;
        double r4863511 = pow(r4863509, r4863510);
        double r4863512 = D;
        double r4863513 = r4863512 / r4863510;
        double r4863514 = pow(r4863513, r4863510);
        double r4863515 = r4863514 * r4863506;
        double r4863516 = r4863511 * r4863515;
        double r4863517 = r4863506 * r4863516;
        double r4863518 = r4863517 * r4863506;
        double r4863519 = r4863503 - r4863518;
        double r4863520 = sqrt(r4863519);
        double r4863521 = w0;
        double r4863522 = r4863520 * r4863521;
        double r4863523 = -2.8655807458792e-321;
        bool r4863524 = r4863500 <= r4863523;
        double r4863525 = r4863512 * r4863507;
        double r4863526 = r4863508 * r4863510;
        double r4863527 = r4863525 / r4863526;
        double r4863528 = cbrt(r4863527);
        double r4863529 = pow(r4863528, r4863510);
        double r4863530 = r4863529 * r4863500;
        double r4863531 = r4863528 * r4863528;
        double r4863532 = pow(r4863531, r4863510);
        double r4863533 = r4863530 * r4863532;
        double r4863534 = r4863503 - r4863533;
        double r4863535 = sqrt(r4863534);
        double r4863536 = r4863521 * r4863535;
        double r4863537 = sqrt(r4863503);
        double r4863538 = r4863521 * r4863537;
        double r4863539 = r4863524 ? r4863536 : r4863538;
        double r4863540 = r4863502 ? r4863522 : r4863539;
        return r4863540;
}

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 3 regimes
  2. if (/ h l) < -inf.0

    1. Initial program 64.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 add-cube-cbrt64.0

      \[\leadsto w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\color{blue}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}}\]
    4. Applied add-cube-cbrt64.0

      \[\leadsto w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{\color{blue}{\left(\sqrt[3]{h} \cdot \sqrt[3]{h}\right) \cdot \sqrt[3]{h}}}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}\]
    5. Applied times-frac64.0

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

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

      \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{\left(\left({\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}\]
    8. Using strategy rm
    9. Applied times-frac24.7

      \[\leadsto w0 \cdot \sqrt{1 - \left(\left({\color{blue}{\left(\frac{M}{d} \cdot \frac{D}{2}\right)}}^{2} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}\]
    10. Applied unpow-prod-down29.2

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

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

    if -inf.0 < (/ h l) < -2.8655807458792e-321

    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 add-cube-cbrt14.7

      \[\leadsto w0 \cdot \sqrt{1 - {\color{blue}{\left(\left(\sqrt[3]{\frac{M \cdot D}{2 \cdot d}} \cdot \sqrt[3]{\frac{M \cdot D}{2 \cdot d}}\right) \cdot \sqrt[3]{\frac{M \cdot D}{2 \cdot d}}\right)}}^{2} \cdot \frac{h}{\ell}}\]
    4. Applied unpow-prod-down14.7

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

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

    if -2.8655807458792e-321 < (/ h l)

    1. Initial program 7.4

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

      \[\leadsto w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\color{blue}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}}\]
    4. Applied add-cube-cbrt7.4

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

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

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

      \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{\left(\left({\left(\frac{M \cdot D}{d \cdot 2}\right)}^{2} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}\]
    8. Taylor expanded around 0 2.2

      \[\leadsto w0 \cdot \color{blue}{\sqrt{1}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification8.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{h}{\ell} = -\infty:\\ \;\;\;\;\sqrt{1 - \left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left({\left(\frac{M}{d}\right)}^{2} \cdot \left({\left(\frac{D}{2}\right)}^{2} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\\ \mathbf{elif}\;\frac{h}{\ell} \le -2.865580745879229956224098998635683959717 \cdot 10^{-321}:\\ \;\;\;\;w0 \cdot \sqrt{1 - \left({\left(\sqrt[3]{\frac{D \cdot M}{d \cdot 2}}\right)}^{2} \cdot \frac{h}{\ell}\right) \cdot {\left(\sqrt[3]{\frac{D \cdot M}{d \cdot 2}} \cdot \sqrt[3]{\frac{D \cdot M}{d \cdot 2}}\right)}^{2}}\\ \mathbf{else}:\\ \;\;\;\;w0 \cdot \sqrt{1}\\ \end{array}\]

Reproduce

herbie shell --seed 2019169 
(FPCore (w0 M D h l d)
  :name "Henrywood and Agarwal, Equation (9a)"
  (* w0 (sqrt (- 1.0 (* (pow (/ (* M D) (* 2.0 d)) 2.0) (/ h l))))))