Average Error: 18.6 → 12.5
Time: 22.2s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell = -\infty:\\ \;\;\;\;c0 \cdot \left(\sqrt{\frac{\sqrt[3]{A}}{\ell}} \cdot \sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V}}\right)\\ \mathbf{elif}\;V \cdot \ell \le -4.6924056322212644 \cdot 10^{-245}:\\ \;\;\;\;\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \left(c0 \cdot \sqrt{\sqrt{\frac{\sqrt[3]{A}}{\sqrt[3]{V \cdot \ell}}} \cdot \sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}} \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}}}\right)\\ \mathbf{elif}\;V \cdot \ell \le 5.41520176388353 \cdot 10^{-310}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \end{array}\]
double f(double c0, double A, double V, double l) {
        double r39035534 = c0;
        double r39035535 = A;
        double r39035536 = V;
        double r39035537 = l;
        double r39035538 = r39035536 * r39035537;
        double r39035539 = r39035535 / r39035538;
        double r39035540 = sqrt(r39035539);
        double r39035541 = r39035534 * r39035540;
        return r39035541;
}

double f(double c0, double A, double V, double l) {
        double r39035542 = V;
        double r39035543 = l;
        double r39035544 = r39035542 * r39035543;
        double r39035545 = -inf.0;
        bool r39035546 = r39035544 <= r39035545;
        double r39035547 = c0;
        double r39035548 = A;
        double r39035549 = cbrt(r39035548);
        double r39035550 = r39035549 / r39035543;
        double r39035551 = sqrt(r39035550);
        double r39035552 = r39035549 * r39035549;
        double r39035553 = r39035552 / r39035542;
        double r39035554 = sqrt(r39035553);
        double r39035555 = r39035551 * r39035554;
        double r39035556 = r39035547 * r39035555;
        double r39035557 = -4.6924056322212644e-245;
        bool r39035558 = r39035544 <= r39035557;
        double r39035559 = r39035548 / r39035544;
        double r39035560 = sqrt(r39035559);
        double r39035561 = sqrt(r39035560);
        double r39035562 = cbrt(r39035544);
        double r39035563 = r39035549 / r39035562;
        double r39035564 = sqrt(r39035563);
        double r39035565 = cbrt(r39035559);
        double r39035566 = r39035565 * r39035565;
        double r39035567 = sqrt(r39035566);
        double r39035568 = r39035564 * r39035567;
        double r39035569 = sqrt(r39035568);
        double r39035570 = r39035547 * r39035569;
        double r39035571 = r39035561 * r39035570;
        double r39035572 = 5.41520176388353e-310;
        bool r39035573 = r39035544 <= r39035572;
        double r39035574 = r39035548 / r39035542;
        double r39035575 = r39035574 / r39035543;
        double r39035576 = sqrt(r39035575);
        double r39035577 = r39035576 * r39035547;
        double r39035578 = sqrt(r39035548);
        double r39035579 = sqrt(r39035544);
        double r39035580 = r39035578 / r39035579;
        double r39035581 = r39035547 * r39035580;
        double r39035582 = r39035573 ? r39035577 : r39035581;
        double r39035583 = r39035558 ? r39035571 : r39035582;
        double r39035584 = r39035546 ? r39035556 : r39035583;
        return r39035584;
}

c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;V \cdot \ell = -\infty:\\
\;\;\;\;c0 \cdot \left(\sqrt{\frac{\sqrt[3]{A}}{\ell}} \cdot \sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V}}\right)\\

\mathbf{elif}\;V \cdot \ell \le -4.6924056322212644 \cdot 10^{-245}:\\
\;\;\;\;\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \left(c0 \cdot \sqrt{\sqrt{\frac{\sqrt[3]{A}}{\sqrt[3]{V \cdot \ell}}} \cdot \sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}} \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}}}\right)\\

\mathbf{elif}\;V \cdot \ell \le 5.41520176388353 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\

\mathbf{else}:\\
\;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\

\end{array}

Error

Bits error versus c0

Bits error versus A

Bits error versus V

Bits error versus l

Derivation

  1. Split input into 4 regimes
  2. if (* V l) < -inf.0

    1. Initial program 39.2

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt39.2

      \[\leadsto c0 \cdot \sqrt{\frac{\color{blue}{\left(\sqrt[3]{A} \cdot \sqrt[3]{A}\right) \cdot \sqrt[3]{A}}}{V \cdot \ell}}\]
    4. Applied times-frac22.1

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V} \cdot \frac{\sqrt[3]{A}}{\ell}}}\]
    5. Applied sqrt-prod34.0

      \[\leadsto c0 \cdot \color{blue}{\left(\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V}} \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\right)}\]

    if -inf.0 < (* V l) < -4.6924056322212644e-245

    1. Initial program 8.6

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt8.6

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\sqrt{\frac{A}{V \cdot \ell}} \cdot \sqrt{\frac{A}{V \cdot \ell}}}}\]
    4. Applied sqrt-prod8.9

      \[\leadsto c0 \cdot \color{blue}{\left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\right)}\]
    5. Applied associate-*r*8.8

      \[\leadsto \color{blue}{\left(c0 \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\right) \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}}\]
    6. Using strategy rm
    7. Applied add-cube-cbrt8.9

      \[\leadsto \left(c0 \cdot \sqrt{\sqrt{\color{blue}{\left(\sqrt[3]{\frac{A}{V \cdot \ell}} \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}\right) \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}}}}\right) \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\]
    8. Applied sqrt-prod8.9

      \[\leadsto \left(c0 \cdot \sqrt{\color{blue}{\sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}} \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}} \cdot \sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}}}}}\right) \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\]
    9. Using strategy rm
    10. Applied cbrt-div8.9

      \[\leadsto \left(c0 \cdot \sqrt{\sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}} \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}} \cdot \sqrt{\color{blue}{\frac{\sqrt[3]{A}}{\sqrt[3]{V \cdot \ell}}}}}\right) \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\]

    if -4.6924056322212644e-245 < (* V l) < 5.41520176388353e-310

    1. Initial program 51.2

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Using strategy rm
    3. Applied associate-/r*33.0

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{\frac{A}{V}}{\ell}}}\]

    if 5.41520176388353e-310 < (* V l)

    1. Initial program 14.7

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Using strategy rm
    3. Applied sqrt-div6.5

      \[\leadsto c0 \cdot \color{blue}{\frac{\sqrt{A}}{\sqrt{V \cdot \ell}}}\]
  3. Recombined 4 regimes into one program.
  4. Final simplification12.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell = -\infty:\\ \;\;\;\;c0 \cdot \left(\sqrt{\frac{\sqrt[3]{A}}{\ell}} \cdot \sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V}}\right)\\ \mathbf{elif}\;V \cdot \ell \le -4.6924056322212644 \cdot 10^{-245}:\\ \;\;\;\;\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \left(c0 \cdot \sqrt{\sqrt{\frac{\sqrt[3]{A}}{\sqrt[3]{V \cdot \ell}}} \cdot \sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}} \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}}}\right)\\ \mathbf{elif}\;V \cdot \ell \le 5.41520176388353 \cdot 10^{-310}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019102 +o rules:numerics
(FPCore (c0 A V l)
  :name "Henrywood and Agarwal, Equation (3)"
  (* c0 (sqrt (/ A (* V l)))))