Average Error: 18.6 → 10.5
Time: 24.3s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -4.5883794465182774 \cdot 10^{+145}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{\ell}}{V}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le -2.019091421874218 \cdot 10^{-217}:\\ \;\;\;\;\sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}}} \cdot \left(\sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}} \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\ \mathbf{elif}\;V \cdot \ell \le 7.5179790419657 \cdot 10^{-312}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{\ell}}{V}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 6.307770754284854 \cdot 10^{+288}:\\ \;\;\;\;c0 \cdot \left(\sqrt{A} \cdot \sqrt{\frac{1}{V \cdot \ell}}\right)\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\ \end{array}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -4.5883794465182774 \cdot 10^{+145}:\\
\;\;\;\;\sqrt{\frac{\frac{A}{\ell}}{V}} \cdot c0\\

\mathbf{elif}\;V \cdot \ell \le -2.019091421874218 \cdot 10^{-217}:\\
\;\;\;\;\sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}}} \cdot \left(\sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}} \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\

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

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

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r4055267 = c0;
        double r4055268 = A;
        double r4055269 = V;
        double r4055270 = l;
        double r4055271 = r4055269 * r4055270;
        double r4055272 = r4055268 / r4055271;
        double r4055273 = sqrt(r4055272);
        double r4055274 = r4055267 * r4055273;
        return r4055274;
}

double f(double c0, double A, double V, double l) {
        double r4055275 = V;
        double r4055276 = l;
        double r4055277 = r4055275 * r4055276;
        double r4055278 = -4.5883794465182774e+145;
        bool r4055279 = r4055277 <= r4055278;
        double r4055280 = A;
        double r4055281 = r4055280 / r4055276;
        double r4055282 = r4055281 / r4055275;
        double r4055283 = sqrt(r4055282);
        double r4055284 = c0;
        double r4055285 = r4055283 * r4055284;
        double r4055286 = -2.019091421874218e-217;
        bool r4055287 = r4055277 <= r4055286;
        double r4055288 = r4055280 / r4055277;
        double r4055289 = cbrt(r4055288);
        double r4055290 = sqrt(r4055289);
        double r4055291 = r4055289 * r4055289;
        double r4055292 = sqrt(r4055291);
        double r4055293 = r4055292 * r4055284;
        double r4055294 = r4055290 * r4055293;
        double r4055295 = 7.5179790419657e-312;
        bool r4055296 = r4055277 <= r4055295;
        double r4055297 = 6.307770754284854e+288;
        bool r4055298 = r4055277 <= r4055297;
        double r4055299 = sqrt(r4055280);
        double r4055300 = 1.0;
        double r4055301 = r4055300 / r4055277;
        double r4055302 = sqrt(r4055301);
        double r4055303 = r4055299 * r4055302;
        double r4055304 = r4055284 * r4055303;
        double r4055305 = r4055280 / r4055275;
        double r4055306 = r4055305 / r4055276;
        double r4055307 = sqrt(r4055306);
        double r4055308 = r4055284 * r4055307;
        double r4055309 = r4055298 ? r4055304 : r4055308;
        double r4055310 = r4055296 ? r4055285 : r4055309;
        double r4055311 = r4055287 ? r4055294 : r4055310;
        double r4055312 = r4055279 ? r4055285 : r4055311;
        return r4055312;
}

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) < -4.5883794465182774e+145 or -2.019091421874218e-217 < (* V l) < 7.5179790419657e-312

    1. Initial program 35.3

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

      \[\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-frac23.8

      \[\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/24.0

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

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

    if -4.5883794465182774e+145 < (* V l) < -2.019091421874218e-217

    1. Initial program 6.5

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

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\left(\sqrt[3]{\frac{A}{V \cdot \ell}} \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}\right) \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}}}\]
    4. Applied sqrt-prod7.0

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

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

    if 7.5179790419657e-312 < (* V l) < 6.307770754284854e+288

    1. Initial program 10.1

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

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

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

    if 6.307770754284854e+288 < (* V l)

    1. Initial program 36.6

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -4.5883794465182774 \cdot 10^{+145}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{\ell}}{V}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le -2.019091421874218 \cdot 10^{-217}:\\ \;\;\;\;\sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}}} \cdot \left(\sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}} \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\ \mathbf{elif}\;V \cdot \ell \le 7.5179790419657 \cdot 10^{-312}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{\ell}}{V}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 6.307770754284854 \cdot 10^{+288}:\\ \;\;\;\;c0 \cdot \left(\sqrt{A} \cdot \sqrt{\frac{1}{V \cdot \ell}}\right)\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\ \end{array}\]

Reproduce

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