Average Error: 18.9 → 12.5
Time: 22.1s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -4.924897512622825726955413996422424214023 \cdot 10^{-215}:\\ \;\;\;\;\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{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right)\\ \mathbf{elif}\;V \cdot \ell \le 2.662328915164341898123574395745294048332 \cdot 10^{305}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{A}{\ell} \cdot \frac{1}{V}} \cdot c0\\ \end{array}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -4.924897512622825726955413996422424214023 \cdot 10^{-215}:\\
\;\;\;\;\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{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right)\\

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

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r4360062 = c0;
        double r4360063 = A;
        double r4360064 = V;
        double r4360065 = l;
        double r4360066 = r4360064 * r4360065;
        double r4360067 = r4360063 / r4360066;
        double r4360068 = sqrt(r4360067);
        double r4360069 = r4360062 * r4360068;
        return r4360069;
}

double f(double c0, double A, double V, double l) {
        double r4360070 = V;
        double r4360071 = l;
        double r4360072 = r4360070 * r4360071;
        double r4360073 = -4.924897512622826e-215;
        bool r4360074 = r4360072 <= r4360073;
        double r4360075 = A;
        double r4360076 = cbrt(r4360075);
        double r4360077 = r4360076 * r4360076;
        double r4360078 = r4360072 / r4360076;
        double r4360079 = r4360077 / r4360078;
        double r4360080 = sqrt(r4360079);
        double r4360081 = sqrt(r4360080);
        double r4360082 = r4360075 / r4360072;
        double r4360083 = sqrt(r4360082);
        double r4360084 = sqrt(r4360083);
        double r4360085 = c0;
        double r4360086 = r4360084 * r4360085;
        double r4360087 = r4360081 * r4360086;
        double r4360088 = 0.0;
        bool r4360089 = r4360072 <= r4360088;
        double r4360090 = r4360075 / r4360071;
        double r4360091 = sqrt(r4360090);
        double r4360092 = 1.0;
        double r4360093 = r4360092 / r4360070;
        double r4360094 = sqrt(r4360093);
        double r4360095 = r4360091 * r4360094;
        double r4360096 = r4360085 * r4360095;
        double r4360097 = 2.662328915164342e+305;
        bool r4360098 = r4360072 <= r4360097;
        double r4360099 = sqrt(r4360075);
        double r4360100 = sqrt(r4360072);
        double r4360101 = r4360099 / r4360100;
        double r4360102 = r4360101 * r4360085;
        double r4360103 = r4360090 * r4360093;
        double r4360104 = sqrt(r4360103);
        double r4360105 = r4360104 * r4360085;
        double r4360106 = r4360098 ? r4360102 : r4360105;
        double r4360107 = r4360089 ? r4360096 : r4360106;
        double r4360108 = r4360074 ? r4360087 : r4360107;
        return r4360108;
}

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) < -4.924897512622826e-215

    1. Initial program 14.1

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

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

      \[\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*14.2

      \[\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-cbrt14.3

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

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

    if -4.924897512622826e-215 < (* V l) < 0.0

    1. Initial program 50.2

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

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

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

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

    if 0.0 < (* V l) < 2.662328915164342e+305

    1. Initial program 10.2

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

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

    if 2.662328915164342e+305 < (* V l)

    1. Initial program 40.9

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -4.924897512622825726955413996422424214023 \cdot 10^{-215}:\\ \;\;\;\;\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{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right)\\ \mathbf{elif}\;V \cdot \ell \le 2.662328915164341898123574395745294048332 \cdot 10^{305}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{A}{\ell} \cdot \frac{1}{V}} \cdot c0\\ \end{array}\]

Reproduce

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