Average Error: 18.6 → 13.3
Time: 24.7s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -1.4821969375237 \cdot 10^{-323}:\\ \;\;\;\;\left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right) \cdot \sqrt{\sqrt{\frac{1}{V \cdot \ell} \cdot A}}\\ \mathbf{elif}\;V \cdot \ell \le 6.0030458166649 \cdot 10^{-319}:\\ \;\;\;\;\sqrt{\frac{A}{\ell}} \cdot \left(c0 \cdot \sqrt{\frac{1}{V}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \end{array}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -1.4821969375237 \cdot 10^{-323}:\\
\;\;\;\;\left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right) \cdot \sqrt{\sqrt{\frac{1}{V \cdot \ell} \cdot A}}\\

\mathbf{elif}\;V \cdot \ell \le 6.0030458166649 \cdot 10^{-319}:\\
\;\;\;\;\sqrt{\frac{A}{\ell}} \cdot \left(c0 \cdot \sqrt{\frac{1}{V}}\right)\\

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r2714045 = c0;
        double r2714046 = A;
        double r2714047 = V;
        double r2714048 = l;
        double r2714049 = r2714047 * r2714048;
        double r2714050 = r2714046 / r2714049;
        double r2714051 = sqrt(r2714050);
        double r2714052 = r2714045 * r2714051;
        return r2714052;
}

double f(double c0, double A, double V, double l) {
        double r2714053 = V;
        double r2714054 = l;
        double r2714055 = r2714053 * r2714054;
        double r2714056 = -1.4821969375237e-323;
        bool r2714057 = r2714055 <= r2714056;
        double r2714058 = A;
        double r2714059 = r2714058 / r2714055;
        double r2714060 = sqrt(r2714059);
        double r2714061 = sqrt(r2714060);
        double r2714062 = c0;
        double r2714063 = r2714061 * r2714062;
        double r2714064 = 1.0;
        double r2714065 = r2714064 / r2714055;
        double r2714066 = r2714065 * r2714058;
        double r2714067 = sqrt(r2714066);
        double r2714068 = sqrt(r2714067);
        double r2714069 = r2714063 * r2714068;
        double r2714070 = 6.0030458166649e-319;
        bool r2714071 = r2714055 <= r2714070;
        double r2714072 = r2714058 / r2714054;
        double r2714073 = sqrt(r2714072);
        double r2714074 = r2714064 / r2714053;
        double r2714075 = sqrt(r2714074);
        double r2714076 = r2714062 * r2714075;
        double r2714077 = r2714073 * r2714076;
        double r2714078 = sqrt(r2714058);
        double r2714079 = sqrt(r2714055);
        double r2714080 = r2714078 / r2714079;
        double r2714081 = r2714080 * r2714062;
        double r2714082 = r2714071 ? r2714077 : r2714081;
        double r2714083 = r2714057 ? r2714069 : r2714082;
        return r2714083;
}

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 3 regimes
  2. if (* V l) < -1.4821969375237e-323

    1. Initial program 14.9

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

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

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

      \[\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 div-inv15.2

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

    if -1.4821969375237e-323 < (* V l) < 6.0030458166649e-319

    1. Initial program 60.6

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

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

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

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

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

    if 6.0030458166649e-319 < (* V l)

    1. Initial program 14.5

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -1.4821969375237 \cdot 10^{-323}:\\ \;\;\;\;\left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right) \cdot \sqrt{\sqrt{\frac{1}{V \cdot \ell} \cdot A}}\\ \mathbf{elif}\;V \cdot \ell \le 6.0030458166649 \cdot 10^{-319}:\\ \;\;\;\;\sqrt{\frac{A}{\ell}} \cdot \left(c0 \cdot \sqrt{\frac{1}{V}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \end{array}\]

Reproduce

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