Average Error: 19.1 → 14.2
Time: 17.5s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -1.7835769814869 \cdot 10^{-321}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 0.0:\\ \;\;\;\;\left(\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V}} \cdot c0\right) \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\\ \mathbf{elif}\;V \cdot \ell \le 1.680002958039891 \cdot 10^{-303}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 2.983558035064543 \cdot 10^{+285}:\\ \;\;\;\;\frac{c0 \cdot \sqrt{A}}{\sqrt{V \cdot \ell}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{1}{V} \cdot \frac{A}{\ell}} \cdot c0\\ \end{array}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -1.7835769814869 \cdot 10^{-321}:\\
\;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\

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

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

\mathbf{elif}\;V \cdot \ell \le 2.983558035064543 \cdot 10^{+285}:\\
\;\;\;\;\frac{c0 \cdot \sqrt{A}}{\sqrt{V \cdot \ell}}\\

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r1727001 = c0;
        double r1727002 = A;
        double r1727003 = V;
        double r1727004 = l;
        double r1727005 = r1727003 * r1727004;
        double r1727006 = r1727002 / r1727005;
        double r1727007 = sqrt(r1727006);
        double r1727008 = r1727001 * r1727007;
        return r1727008;
}

double f(double c0, double A, double V, double l) {
        double r1727009 = V;
        double r1727010 = l;
        double r1727011 = r1727009 * r1727010;
        double r1727012 = -1.7835769814869e-321;
        bool r1727013 = r1727011 <= r1727012;
        double r1727014 = A;
        double r1727015 = r1727014 / r1727009;
        double r1727016 = r1727015 / r1727010;
        double r1727017 = sqrt(r1727016);
        double r1727018 = c0;
        double r1727019 = r1727017 * r1727018;
        double r1727020 = 0.0;
        bool r1727021 = r1727011 <= r1727020;
        double r1727022 = cbrt(r1727014);
        double r1727023 = r1727022 * r1727022;
        double r1727024 = r1727023 / r1727009;
        double r1727025 = sqrt(r1727024);
        double r1727026 = r1727025 * r1727018;
        double r1727027 = r1727022 / r1727010;
        double r1727028 = sqrt(r1727027);
        double r1727029 = r1727026 * r1727028;
        double r1727030 = 1.680002958039891e-303;
        bool r1727031 = r1727011 <= r1727030;
        double r1727032 = 2.983558035064543e+285;
        bool r1727033 = r1727011 <= r1727032;
        double r1727034 = sqrt(r1727014);
        double r1727035 = r1727018 * r1727034;
        double r1727036 = sqrt(r1727011);
        double r1727037 = r1727035 / r1727036;
        double r1727038 = 1.0;
        double r1727039 = r1727038 / r1727009;
        double r1727040 = r1727014 / r1727010;
        double r1727041 = r1727039 * r1727040;
        double r1727042 = sqrt(r1727041);
        double r1727043 = r1727042 * r1727018;
        double r1727044 = r1727033 ? r1727037 : r1727043;
        double r1727045 = r1727031 ? r1727019 : r1727044;
        double r1727046 = r1727021 ? r1727029 : r1727045;
        double r1727047 = r1727013 ? r1727019 : r1727046;
        return r1727047;
}

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) < -1.7835769814869e-321 or 0.0 < (* V l) < 1.680002958039891e-303

    1. Initial program 16.2

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

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

    if -1.7835769814869e-321 < (* V l) < 0.0

    1. Initial program 61.0

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

      \[\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-frac35.0

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

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

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

    if 1.680002958039891e-303 < (* V l) < 2.983558035064543e+285

    1. Initial program 9.8

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

      \[\leadsto c0 \cdot \color{blue}{\frac{\sqrt{A}}{\sqrt{V \cdot \ell}}}\]
    4. Applied associate-*r/2.8

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

    if 2.983558035064543e+285 < (* V l)

    1. Initial program 37.1

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -1.7835769814869 \cdot 10^{-321}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 0.0:\\ \;\;\;\;\left(\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V}} \cdot c0\right) \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\\ \mathbf{elif}\;V \cdot \ell \le 1.680002958039891 \cdot 10^{-303}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 2.983558035064543 \cdot 10^{+285}:\\ \;\;\;\;\frac{c0 \cdot \sqrt{A}}{\sqrt{V \cdot \ell}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{1}{V} \cdot \frac{A}{\ell}} \cdot c0\\ \end{array}\]

Reproduce

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