Average Error: 19.1 → 12.7
Time: 20.7s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell = -\infty:\\ \;\;\;\;\sqrt{\frac{\frac{A}{\ell}}{V}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le -2.501882912097141003560534876558580681891 \cdot 10^{-258}:\\ \;\;\;\;\sqrt{\frac{A}{V \cdot \ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le -0.0:\\ \;\;\;\;c0 \cdot \left(\sqrt{\frac{\sqrt[3]{A}}{V}} \cdot \sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\ell}}\right)\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \end{array}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;V \cdot \ell = -\infty:\\
\;\;\;\;\sqrt{\frac{\frac{A}{\ell}}{V}} \cdot c0\\

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

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

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r5012139 = c0;
        double r5012140 = A;
        double r5012141 = V;
        double r5012142 = l;
        double r5012143 = r5012141 * r5012142;
        double r5012144 = r5012140 / r5012143;
        double r5012145 = sqrt(r5012144);
        double r5012146 = r5012139 * r5012145;
        return r5012146;
}

double f(double c0, double A, double V, double l) {
        double r5012147 = V;
        double r5012148 = l;
        double r5012149 = r5012147 * r5012148;
        double r5012150 = -inf.0;
        bool r5012151 = r5012149 <= r5012150;
        double r5012152 = A;
        double r5012153 = r5012152 / r5012148;
        double r5012154 = r5012153 / r5012147;
        double r5012155 = sqrt(r5012154);
        double r5012156 = c0;
        double r5012157 = r5012155 * r5012156;
        double r5012158 = -2.501882912097141e-258;
        bool r5012159 = r5012149 <= r5012158;
        double r5012160 = r5012152 / r5012149;
        double r5012161 = sqrt(r5012160);
        double r5012162 = r5012161 * r5012156;
        double r5012163 = -0.0;
        bool r5012164 = r5012149 <= r5012163;
        double r5012165 = cbrt(r5012152);
        double r5012166 = r5012165 / r5012147;
        double r5012167 = sqrt(r5012166);
        double r5012168 = r5012165 * r5012165;
        double r5012169 = r5012168 / r5012148;
        double r5012170 = sqrt(r5012169);
        double r5012171 = r5012167 * r5012170;
        double r5012172 = r5012156 * r5012171;
        double r5012173 = sqrt(r5012152);
        double r5012174 = sqrt(r5012149);
        double r5012175 = r5012173 / r5012174;
        double r5012176 = r5012156 * r5012175;
        double r5012177 = r5012164 ? r5012172 : r5012176;
        double r5012178 = r5012159 ? r5012162 : r5012177;
        double r5012179 = r5012151 ? r5012157 : r5012178;
        return r5012179;
}

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) < -inf.0

    1. Initial program 40.2

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Taylor expanded around 0 40.2

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

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

    if -inf.0 < (* V l) < -2.501882912097141e-258

    1. Initial program 9.2

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Taylor expanded around 0 9.2

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

    if -2.501882912097141e-258 < (* V l) < -0.0

    1. Initial program 55.9

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Taylor expanded around 0 55.9

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{A}{\ell \cdot V}}}\]
    3. Using strategy rm
    4. Applied add-cube-cbrt56.0

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

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\ell} \cdot \frac{\sqrt[3]{A}}{V}}}\]
    6. Applied sqrt-prod40.9

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

    if -0.0 < (* V l)

    1. Initial program 15.1

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

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

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

Reproduce

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