Average Error: 19.2 → 12.6
Time: 18.4s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -1.034383771302973144208814648834199945237 \cdot 10^{163}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{\ell}}{V}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le -6.358951608643102686544608814976157776021 \cdot 10^{-287}:\\ \;\;\;\;\sqrt{\frac{A}{V \cdot \ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 0.0:\\ \;\;\;\;\left(\sqrt{\frac{A}{V}} \cdot \sqrt{\frac{1}{\ell}}\right) \cdot c0\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \left(\sqrt{\frac{1}{V \cdot \ell}} \cdot \sqrt{A}\right)\\ \end{array}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -1.034383771302973144208814648834199945237 \cdot 10^{163}:\\
\;\;\;\;\sqrt{\frac{\frac{A}{\ell}}{V}} \cdot c0\\

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

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

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r4305472 = c0;
        double r4305473 = A;
        double r4305474 = V;
        double r4305475 = l;
        double r4305476 = r4305474 * r4305475;
        double r4305477 = r4305473 / r4305476;
        double r4305478 = sqrt(r4305477);
        double r4305479 = r4305472 * r4305478;
        return r4305479;
}

double f(double c0, double A, double V, double l) {
        double r4305480 = V;
        double r4305481 = l;
        double r4305482 = r4305480 * r4305481;
        double r4305483 = -1.0343837713029731e+163;
        bool r4305484 = r4305482 <= r4305483;
        double r4305485 = A;
        double r4305486 = r4305485 / r4305481;
        double r4305487 = r4305486 / r4305480;
        double r4305488 = sqrt(r4305487);
        double r4305489 = c0;
        double r4305490 = r4305488 * r4305489;
        double r4305491 = -6.358951608643103e-287;
        bool r4305492 = r4305482 <= r4305491;
        double r4305493 = r4305485 / r4305482;
        double r4305494 = sqrt(r4305493);
        double r4305495 = r4305494 * r4305489;
        double r4305496 = 0.0;
        bool r4305497 = r4305482 <= r4305496;
        double r4305498 = r4305485 / r4305480;
        double r4305499 = sqrt(r4305498);
        double r4305500 = 1.0;
        double r4305501 = r4305500 / r4305481;
        double r4305502 = sqrt(r4305501);
        double r4305503 = r4305499 * r4305502;
        double r4305504 = r4305503 * r4305489;
        double r4305505 = r4305500 / r4305482;
        double r4305506 = sqrt(r4305505);
        double r4305507 = sqrt(r4305485);
        double r4305508 = r4305506 * r4305507;
        double r4305509 = r4305489 * r4305508;
        double r4305510 = r4305497 ? r4305504 : r4305509;
        double r4305511 = r4305492 ? r4305495 : r4305510;
        double r4305512 = r4305484 ? r4305490 : r4305511;
        return r4305512;
}

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.0343837713029731e+163

    1. Initial program 26.6

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

      \[\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-frac18.4

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V} \cdot \frac{\sqrt[3]{A}}{\ell}}}\]
    5. Using strategy rm
    6. Applied associate-*l/18.5

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

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

    if -1.0343837713029731e+163 < (* V l) < -6.358951608643103e-287

    1. Initial program 8.5

      \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt9.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-frac15.0

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V} \cdot \frac{\sqrt[3]{A}}{\ell}}}\]
    5. Taylor expanded around 0 8.5

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

    if -6.358951608643103e-287 < (* V l) < 0.0

    1. Initial program 59.7

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

      \[\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-frac37.1

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V} \cdot \frac{\sqrt[3]{A}}{\ell}}}\]
    5. Taylor expanded around 0 59.7

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{A}{\ell \cdot V}}}\]
    6. Using strategy rm
    7. Applied *-un-lft-identity59.7

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

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

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

    if 0.0 < (* V l)

    1. Initial program 14.9

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -1.034383771302973144208814648834199945237 \cdot 10^{163}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{\ell}}{V}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le -6.358951608643102686544608814976157776021 \cdot 10^{-287}:\\ \;\;\;\;\sqrt{\frac{A}{V \cdot \ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 0.0:\\ \;\;\;\;\left(\sqrt{\frac{A}{V}} \cdot \sqrt{\frac{1}{\ell}}\right) \cdot c0\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \left(\sqrt{\frac{1}{V \cdot \ell}} \cdot \sqrt{A}\right)\\ \end{array}\]

Reproduce

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