Average Error: 18.9 → 12.1
Time: 4.2s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -2.6220125092199022 \cdot 10^{-97}:\\ \;\;\;\;\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\ \mathbf{elif}\;V \cdot \ell \le 3.80431 \cdot 10^{-322}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\ \mathbf{elif}\;V \cdot \ell \le 1.93687473196227216 \cdot 10^{296}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \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 -2.6220125092199022 \cdot 10^{-97}:\\
\;\;\;\;\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\

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

\mathbf{elif}\;V \cdot \ell \le 1.93687473196227216 \cdot 10^{296}:\\
\;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\

\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 r175959 = c0;
        double r175960 = A;
        double r175961 = V;
        double r175962 = l;
        double r175963 = r175961 * r175962;
        double r175964 = r175960 / r175963;
        double r175965 = sqrt(r175964);
        double r175966 = r175959 * r175965;
        return r175966;
}

double f(double c0, double A, double V, double l) {
        double r175967 = V;
        double r175968 = l;
        double r175969 = r175967 * r175968;
        double r175970 = -2.622012509219902e-97;
        bool r175971 = r175969 <= r175970;
        double r175972 = A;
        double r175973 = r175972 / r175969;
        double r175974 = sqrt(r175973);
        double r175975 = sqrt(r175974);
        double r175976 = c0;
        double r175977 = r175975 * r175976;
        double r175978 = r175975 * r175977;
        double r175979 = 3.8043054729776e-322;
        bool r175980 = r175969 <= r175979;
        double r175981 = r175972 / r175967;
        double r175982 = r175981 / r175968;
        double r175983 = sqrt(r175982);
        double r175984 = r175976 * r175983;
        double r175985 = 1.936874731962272e+296;
        bool r175986 = r175969 <= r175985;
        double r175987 = sqrt(r175972);
        double r175988 = sqrt(r175969);
        double r175989 = r175987 / r175988;
        double r175990 = r175989 * r175976;
        double r175991 = 1.0;
        double r175992 = r175991 / r175967;
        double r175993 = r175972 / r175968;
        double r175994 = r175992 * r175993;
        double r175995 = sqrt(r175994);
        double r175996 = r175995 * r175976;
        double r175997 = r175986 ? r175990 : r175996;
        double r175998 = r175980 ? r175984 : r175997;
        double r175999 = r175971 ? r175978 : r175998;
        return r175999;
}

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) < -2.622012509219902e-97

    1. Initial program 13.7

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

      \[\leadsto \color{blue}{\sqrt{\frac{A}{V \cdot \ell}} \cdot c0}\]
    4. Using strategy rm
    5. Applied add-sqr-sqrt13.7

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

      \[\leadsto \color{blue}{\left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\right)} \cdot c0\]
    7. Applied associate-*l*13.9

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

    if -2.622012509219902e-97 < (* V l) < 3.8043054729776e-322

    1. Initial program 35.7

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

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

    if 3.8043054729776e-322 < (* V l) < 1.936874731962272e+296

    1. Initial program 10.7

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

      \[\leadsto \color{blue}{\sqrt{\frac{A}{V \cdot \ell}} \cdot c0}\]
    4. Using strategy rm
    5. Applied sqrt-div0.7

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

    if 1.936874731962272e+296 < (* V l)

    1. Initial program 39.7

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -2.6220125092199022 \cdot 10^{-97}:\\ \;\;\;\;\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\ \mathbf{elif}\;V \cdot \ell \le 3.80431 \cdot 10^{-322}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\ \mathbf{elif}\;V \cdot \ell \le 1.93687473196227216 \cdot 10^{296}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{1}{V} \cdot \frac{A}{\ell}} \cdot c0\\ \end{array}\]

Reproduce

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