Average Error: 19.2 → 12.3
Time: 1.0m
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -7.756886674182593 \cdot 10^{+248}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{1}{\ell} \cdot \frac{A}{V}}\\ \mathbf{elif}\;V \cdot \ell \le -5.737663690670792 \cdot 10^{-214}:\\ \;\;\;\;\sqrt{\frac{A}{V \cdot \ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le -1.976262583365 \cdot 10^{-323}:\\ \;\;\;\;\frac{\sqrt{\frac{A}{V}}}{\sqrt{\ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 1.231583818494 \cdot 10^{-316}:\\ \;\;\;\;\sqrt{\sqrt{\frac{A}{\ell} \cdot \frac{1}{V}}} \cdot \left(\sqrt{\sqrt{\sqrt[3]{\frac{A}{\ell}} \cdot \left(\left(\sqrt[3]{\frac{A}{\ell}} \cdot \sqrt[3]{\frac{A}{\ell}}\right) \cdot \frac{1}{V}\right)}} \cdot c0\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 -7.756886674182593 \cdot 10^{+248}:\\
\;\;\;\;c0 \cdot \sqrt{\frac{1}{\ell} \cdot \frac{A}{V}}\\

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

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

\mathbf{elif}\;V \cdot \ell \le 1.231583818494 \cdot 10^{-316}:\\
\;\;\;\;\sqrt{\sqrt{\frac{A}{\ell} \cdot \frac{1}{V}}} \cdot \left(\sqrt{\sqrt{\sqrt[3]{\frac{A}{\ell}} \cdot \left(\left(\sqrt[3]{\frac{A}{\ell}} \cdot \sqrt[3]{\frac{A}{\ell}}\right) \cdot \frac{1}{V}\right)}} \cdot c0\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 r33747303 = c0;
        double r33747304 = A;
        double r33747305 = V;
        double r33747306 = l;
        double r33747307 = r33747305 * r33747306;
        double r33747308 = r33747304 / r33747307;
        double r33747309 = sqrt(r33747308);
        double r33747310 = r33747303 * r33747309;
        return r33747310;
}

double f(double c0, double A, double V, double l) {
        double r33747311 = V;
        double r33747312 = l;
        double r33747313 = r33747311 * r33747312;
        double r33747314 = -7.756886674182593e+248;
        bool r33747315 = r33747313 <= r33747314;
        double r33747316 = c0;
        double r33747317 = 1.0;
        double r33747318 = r33747317 / r33747312;
        double r33747319 = A;
        double r33747320 = r33747319 / r33747311;
        double r33747321 = r33747318 * r33747320;
        double r33747322 = sqrt(r33747321);
        double r33747323 = r33747316 * r33747322;
        double r33747324 = -5.737663690670792e-214;
        bool r33747325 = r33747313 <= r33747324;
        double r33747326 = r33747319 / r33747313;
        double r33747327 = sqrt(r33747326);
        double r33747328 = r33747327 * r33747316;
        double r33747329 = -1.976262583365e-323;
        bool r33747330 = r33747313 <= r33747329;
        double r33747331 = sqrt(r33747320);
        double r33747332 = sqrt(r33747312);
        double r33747333 = r33747331 / r33747332;
        double r33747334 = r33747333 * r33747316;
        double r33747335 = 1.231583818494e-316;
        bool r33747336 = r33747313 <= r33747335;
        double r33747337 = r33747319 / r33747312;
        double r33747338 = r33747317 / r33747311;
        double r33747339 = r33747337 * r33747338;
        double r33747340 = sqrt(r33747339);
        double r33747341 = sqrt(r33747340);
        double r33747342 = cbrt(r33747337);
        double r33747343 = r33747342 * r33747342;
        double r33747344 = r33747343 * r33747338;
        double r33747345 = r33747342 * r33747344;
        double r33747346 = sqrt(r33747345);
        double r33747347 = sqrt(r33747346);
        double r33747348 = r33747347 * r33747316;
        double r33747349 = r33747341 * r33747348;
        double r33747350 = sqrt(r33747319);
        double r33747351 = sqrt(r33747313);
        double r33747352 = r33747350 / r33747351;
        double r33747353 = r33747352 * r33747316;
        double r33747354 = r33747336 ? r33747349 : r33747353;
        double r33747355 = r33747330 ? r33747334 : r33747354;
        double r33747356 = r33747325 ? r33747328 : r33747355;
        double r33747357 = r33747315 ? r33747323 : r33747356;
        return r33747357;
}

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 5 regimes
  2. if (* V l) < -7.756886674182593e+248

    1. Initial program 35.5

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

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

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

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

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

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

    if -7.756886674182593e+248 < (* V l) < -5.737663690670792e-214

    1. Initial program 7.9

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

    if -5.737663690670792e-214 < (* V l) < -1.976262583365e-323

    1. Initial program 24.5

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

      \[\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-*r/24.1

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

      \[\leadsto c0 \cdot \color{blue}{\frac{\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V} \cdot \sqrt[3]{A}}}{\sqrt{\ell}}}\]
    8. Simplified34.0

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

    if -1.976262583365e-323 < (* V l) < 1.231583818494e-316

    1. Initial program 60.7

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

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

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

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

      \[\leadsto \color{blue}{\left(c0 \cdot \sqrt{\sqrt{\frac{1}{V} \cdot \frac{A}{\ell}}}\right) \cdot \sqrt{\sqrt{\frac{1}{V} \cdot \frac{A}{\ell}}}}\]
    8. Using strategy rm
    9. Applied add-cube-cbrt37.5

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

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

    if 1.231583818494e-316 < (* V l)

    1. Initial program 15.0

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

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

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{1}{V} \cdot \frac{A}{\ell}}}\]
    5. Using strategy rm
    6. Applied frac-times15.0

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -7.756886674182593 \cdot 10^{+248}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{1}{\ell} \cdot \frac{A}{V}}\\ \mathbf{elif}\;V \cdot \ell \le -5.737663690670792 \cdot 10^{-214}:\\ \;\;\;\;\sqrt{\frac{A}{V \cdot \ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le -1.976262583365 \cdot 10^{-323}:\\ \;\;\;\;\frac{\sqrt{\frac{A}{V}}}{\sqrt{\ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 1.231583818494 \cdot 10^{-316}:\\ \;\;\;\;\sqrt{\sqrt{\frac{A}{\ell} \cdot \frac{1}{V}}} \cdot \left(\sqrt{\sqrt{\sqrt[3]{\frac{A}{\ell}} \cdot \left(\left(\sqrt[3]{\frac{A}{\ell}} \cdot \sqrt[3]{\frac{A}{\ell}}\right) \cdot \frac{1}{V}\right)}} \cdot c0\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \end{array}\]

Reproduce

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