Average Error: 19.1 → 14.2
Time: 13.9s
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 r3074465 = c0;
        double r3074466 = A;
        double r3074467 = V;
        double r3074468 = l;
        double r3074469 = r3074467 * r3074468;
        double r3074470 = r3074466 / r3074469;
        double r3074471 = sqrt(r3074470);
        double r3074472 = r3074465 * r3074471;
        return r3074472;
}

double f(double c0, double A, double V, double l) {
        double r3074473 = V;
        double r3074474 = l;
        double r3074475 = r3074473 * r3074474;
        double r3074476 = -1.7835769814869e-321;
        bool r3074477 = r3074475 <= r3074476;
        double r3074478 = A;
        double r3074479 = r3074478 / r3074473;
        double r3074480 = r3074479 / r3074474;
        double r3074481 = sqrt(r3074480);
        double r3074482 = c0;
        double r3074483 = r3074481 * r3074482;
        double r3074484 = 0.0;
        bool r3074485 = r3074475 <= r3074484;
        double r3074486 = cbrt(r3074478);
        double r3074487 = r3074486 * r3074486;
        double r3074488 = r3074487 / r3074473;
        double r3074489 = sqrt(r3074488);
        double r3074490 = r3074489 * r3074482;
        double r3074491 = r3074486 / r3074474;
        double r3074492 = sqrt(r3074491);
        double r3074493 = r3074490 * r3074492;
        double r3074494 = 1.680002958039891e-303;
        bool r3074495 = r3074475 <= r3074494;
        double r3074496 = 2.983558035064543e+285;
        bool r3074497 = r3074475 <= r3074496;
        double r3074498 = sqrt(r3074478);
        double r3074499 = r3074482 * r3074498;
        double r3074500 = sqrt(r3074475);
        double r3074501 = r3074499 / r3074500;
        double r3074502 = 1.0;
        double r3074503 = r3074502 / r3074473;
        double r3074504 = r3074478 / r3074474;
        double r3074505 = r3074503 * r3074504;
        double r3074506 = sqrt(r3074505);
        double r3074507 = r3074506 * r3074482;
        double r3074508 = r3074497 ? r3074501 : r3074507;
        double r3074509 = r3074495 ? r3074483 : r3074508;
        double r3074510 = r3074485 ? r3074493 : r3074509;
        double r3074511 = r3074477 ? r3074483 : r3074510;
        return r3074511;
}

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)))))