Average Error: 19.0 → 14.3
Time: 4.1s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -1.4775390997686174 \cdot 10^{-280}:\\ \;\;\;\;\sqrt{\frac{\frac{1}{V \cdot \ell}}{\frac{1}{A}}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 9.834825119197827 \cdot 10^{-310}:\\ \;\;\;\;\left(\left|\frac{\sqrt[3]{A}}{{V}^{\frac{1}{2}}}\right| \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\right) \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 4.8079437486672853 \cdot 10^{275}:\\ \;\;\;\;\sqrt{\frac{1}{V \cdot \ell}} \cdot \left(\sqrt{A} \cdot c0\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left|\frac{\sqrt[3]{A}}{{V}^{\frac{1}{2}}}\right| \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\right) \cdot c0\\ \end{array}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -1.4775390997686174 \cdot 10^{-280}:\\
\;\;\;\;\sqrt{\frac{\frac{1}{V \cdot \ell}}{\frac{1}{A}}} \cdot c0\\

\mathbf{elif}\;V \cdot \ell \le 9.834825119197827 \cdot 10^{-310}:\\
\;\;\;\;\left(\left|\frac{\sqrt[3]{A}}{{V}^{\frac{1}{2}}}\right| \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\right) \cdot c0\\

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

\mathbf{else}:\\
\;\;\;\;\left(\left|\frac{\sqrt[3]{A}}{{V}^{\frac{1}{2}}}\right| \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\right) \cdot c0\\

\end{array}
double f(double c0, double A, double V, double l) {
        double r164205 = c0;
        double r164206 = A;
        double r164207 = V;
        double r164208 = l;
        double r164209 = r164207 * r164208;
        double r164210 = r164206 / r164209;
        double r164211 = sqrt(r164210);
        double r164212 = r164205 * r164211;
        return r164212;
}

double f(double c0, double A, double V, double l) {
        double r164213 = V;
        double r164214 = l;
        double r164215 = r164213 * r164214;
        double r164216 = -1.4775390997686174e-280;
        bool r164217 = r164215 <= r164216;
        double r164218 = 1.0;
        double r164219 = r164218 / r164215;
        double r164220 = A;
        double r164221 = r164218 / r164220;
        double r164222 = r164219 / r164221;
        double r164223 = sqrt(r164222);
        double r164224 = c0;
        double r164225 = r164223 * r164224;
        double r164226 = 9.83482511919783e-310;
        bool r164227 = r164215 <= r164226;
        double r164228 = cbrt(r164220);
        double r164229 = 0.5;
        double r164230 = pow(r164213, r164229);
        double r164231 = r164228 / r164230;
        double r164232 = fabs(r164231);
        double r164233 = r164228 / r164214;
        double r164234 = sqrt(r164233);
        double r164235 = r164232 * r164234;
        double r164236 = r164235 * r164224;
        double r164237 = 4.8079437486672853e+275;
        bool r164238 = r164215 <= r164237;
        double r164239 = sqrt(r164219);
        double r164240 = sqrt(r164220);
        double r164241 = r164240 * r164224;
        double r164242 = r164239 * r164241;
        double r164243 = r164238 ? r164242 : r164236;
        double r164244 = r164227 ? r164236 : r164243;
        double r164245 = r164217 ? r164225 : r164244;
        return r164245;
}

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.4775390997686174e-280

    1. Initial program 14.4

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

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

      \[\leadsto \sqrt{\color{blue}{\frac{1}{\frac{V \cdot \ell}{A}}}} \cdot c0\]
    6. Using strategy rm
    7. Applied div-inv14.7

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

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

    if -1.4775390997686174e-280 < (* V l) < 9.83482511919783e-310 or 4.8079437486672853e+275 < (* V l)

    1. Initial program 49.5

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

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

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

      \[\leadsto \sqrt{\color{blue}{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V} \cdot \frac{\sqrt[3]{A}}{\ell}}} \cdot c0\]
    7. Applied sqrt-prod38.8

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

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

    if 9.83482511919783e-310 < (* V l) < 4.8079437486672853e+275

    1. Initial program 9.2

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

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

      \[\leadsto \sqrt{\color{blue}{\frac{1}{\frac{V \cdot \ell}{A}}}} \cdot c0\]
    6. Using strategy rm
    7. Applied div-inv9.7

      \[\leadsto \sqrt{\frac{1}{\color{blue}{\left(V \cdot \ell\right) \cdot \frac{1}{A}}}} \cdot c0\]
    8. Applied *-un-lft-identity9.7

      \[\leadsto \sqrt{\frac{\color{blue}{1 \cdot 1}}{\left(V \cdot \ell\right) \cdot \frac{1}{A}}} \cdot c0\]
    9. Applied times-frac9.3

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -1.4775390997686174 \cdot 10^{-280}:\\ \;\;\;\;\sqrt{\frac{\frac{1}{V \cdot \ell}}{\frac{1}{A}}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 9.834825119197827 \cdot 10^{-310}:\\ \;\;\;\;\left(\left|\frac{\sqrt[3]{A}}{{V}^{\frac{1}{2}}}\right| \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\right) \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 4.8079437486672853 \cdot 10^{275}:\\ \;\;\;\;\sqrt{\frac{1}{V \cdot \ell}} \cdot \left(\sqrt{A} \cdot c0\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left|\frac{\sqrt[3]{A}}{{V}^{\frac{1}{2}}}\right| \cdot \sqrt{\frac{\sqrt[3]{A}}{\ell}}\right) \cdot c0\\ \end{array}\]

Reproduce

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