Average Error: 19.3 → 12.6
Time: 23.2s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -6.074815782204149782432519341284458306068 \cdot 10^{-283}:\\ \;\;\;\;\sqrt{\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\frac{V \cdot \ell}{\sqrt[3]{A}}}}} \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\ \mathbf{elif}\;V \cdot \ell \le 0.0:\\ \;\;\;\;c0 \cdot \left(\sqrt{\frac{1}{V}} \cdot \sqrt{\frac{A}{\ell}}\right)\\ \mathbf{elif}\;V \cdot \ell \le 8.274008779449527226174688106162953762312 \cdot 10^{278}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \end{array}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -6.074815782204149782432519341284458306068 \cdot 10^{-283}:\\
\;\;\;\;\sqrt{\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\frac{V \cdot \ell}{\sqrt[3]{A}}}}} \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\

\mathbf{elif}\;V \cdot \ell \le 0.0:\\
\;\;\;\;c0 \cdot \left(\sqrt{\frac{1}{V}} \cdot \sqrt{\frac{A}{\ell}}\right)\\

\mathbf{elif}\;V \cdot \ell \le 8.274008779449527226174688106162953762312 \cdot 10^{278}:\\
\;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r133975 = c0;
        double r133976 = A;
        double r133977 = V;
        double r133978 = l;
        double r133979 = r133977 * r133978;
        double r133980 = r133976 / r133979;
        double r133981 = sqrt(r133980);
        double r133982 = r133975 * r133981;
        return r133982;
}

double f(double c0, double A, double V, double l) {
        double r133983 = V;
        double r133984 = l;
        double r133985 = r133983 * r133984;
        double r133986 = -6.07481578220415e-283;
        bool r133987 = r133985 <= r133986;
        double r133988 = A;
        double r133989 = cbrt(r133988);
        double r133990 = r133989 * r133989;
        double r133991 = r133985 / r133989;
        double r133992 = r133990 / r133991;
        double r133993 = sqrt(r133992);
        double r133994 = sqrt(r133993);
        double r133995 = r133988 / r133985;
        double r133996 = sqrt(r133995);
        double r133997 = sqrt(r133996);
        double r133998 = c0;
        double r133999 = r133997 * r133998;
        double r134000 = r133994 * r133999;
        double r134001 = 0.0;
        bool r134002 = r133985 <= r134001;
        double r134003 = 1.0;
        double r134004 = r134003 / r133983;
        double r134005 = sqrt(r134004);
        double r134006 = r133988 / r133984;
        double r134007 = sqrt(r134006);
        double r134008 = r134005 * r134007;
        double r134009 = r133998 * r134008;
        double r134010 = 8.274008779449527e+278;
        bool r134011 = r133985 <= r134010;
        double r134012 = sqrt(r133988);
        double r134013 = sqrt(r133985);
        double r134014 = r134012 / r134013;
        double r134015 = r134014 * r133998;
        double r134016 = r133988 / r133983;
        double r134017 = r134016 / r133984;
        double r134018 = sqrt(r134017);
        double r134019 = r134018 * r133998;
        double r134020 = r134011 ? r134015 : r134019;
        double r134021 = r134002 ? r134009 : r134020;
        double r134022 = r133987 ? r134000 : r134021;
        return r134022;
}

Error

Bits error versus c0

Bits error versus A

Bits error versus V

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 4 regimes
  2. if (* V l) < -6.07481578220415e-283

    1. Initial program 14.5

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

      \[\leadsto \color{blue}{\sqrt{\frac{A}{V \cdot \ell}} \cdot c0}\]
    4. Using strategy rm
    5. Applied add-sqr-sqrt14.5

      \[\leadsto \sqrt{\color{blue}{\sqrt{\frac{A}{V \cdot \ell}} \cdot \sqrt{\frac{A}{V \cdot \ell}}}} \cdot c0\]
    6. Applied sqrt-prod14.7

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

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

      \[\leadsto \sqrt{\sqrt{\frac{\color{blue}{\left(\sqrt[3]{A} \cdot \sqrt[3]{A}\right) \cdot \sqrt[3]{A}}}{V \cdot \ell}}} \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right)\]
    10. Applied associate-/l*14.7

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

    if -6.07481578220415e-283 < (* V l) < 0.0

    1. Initial program 54.6

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity54.6

      \[\leadsto c0 \cdot \sqrt{\frac{\color{blue}{1 \cdot A}}{V \cdot \ell}}\]
    4. Applied times-frac34.6

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{1}{V} \cdot \frac{A}{\ell}}}\]
    5. Applied sqrt-prod39.5

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

    if 0.0 < (* V l) < 8.274008779449527e+278

    1. Initial program 14.9

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

      \[\leadsto \color{blue}{\sqrt{\frac{A}{V \cdot \ell}} \cdot c0}\]
    4. Using strategy rm
    5. Applied sqrt-div6.4

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

    if 8.274008779449527e+278 < (* V l)

    1. Initial program 39.5

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

      \[\leadsto \color{blue}{\sqrt{\frac{A}{V \cdot \ell}} \cdot c0}\]
    4. Using strategy rm
    5. Applied associate-/r*23.2

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -6.074815782204149782432519341284458306068 \cdot 10^{-283}:\\ \;\;\;\;\sqrt{\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\frac{V \cdot \ell}{\sqrt[3]{A}}}}} \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\ \mathbf{elif}\;V \cdot \ell \le 0.0:\\ \;\;\;\;c0 \cdot \left(\sqrt{\frac{1}{V}} \cdot \sqrt{\frac{A}{\ell}}\right)\\ \mathbf{elif}\;V \cdot \ell \le 8.274008779449527226174688106162953762312 \cdot 10^{278}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \end{array}\]

Reproduce

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