Average Error: 18.9 → 10.3
Time: 20.2s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -3.995021634137973 \cdot 10^{+278}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le -6.453813157476445 \cdot 10^{-197}:\\ \;\;\;\;\sqrt{\frac{1}{V \cdot \ell} \cdot A} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 1.6172977941494717 \cdot 10^{-304}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 3.6891399852107064 \cdot 10^{+269}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{\left(\left(\sqrt[3]{\frac{\sqrt[3]{A}}{\ell}} \cdot \sqrt[3]{A}\right) \cdot \left(\sqrt[3]{\frac{\sqrt[3]{A}}{\ell}} \cdot \sqrt[3]{A}\right)\right) \cdot \sqrt[3]{\sqrt[3]{A}}}}{\sqrt{V \cdot \sqrt[3]{\ell}}}\\ \end{array}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -3.995021634137973 \cdot 10^{+278}:\\
\;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\

\mathbf{elif}\;V \cdot \ell \le -6.453813157476445 \cdot 10^{-197}:\\
\;\;\;\;\sqrt{\frac{1}{V \cdot \ell} \cdot A} \cdot c0\\

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

\mathbf{elif}\;V \cdot \ell \le 3.6891399852107064 \cdot 10^{+269}:\\
\;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r3673531 = c0;
        double r3673532 = A;
        double r3673533 = V;
        double r3673534 = l;
        double r3673535 = r3673533 * r3673534;
        double r3673536 = r3673532 / r3673535;
        double r3673537 = sqrt(r3673536);
        double r3673538 = r3673531 * r3673537;
        return r3673538;
}

double f(double c0, double A, double V, double l) {
        double r3673539 = V;
        double r3673540 = l;
        double r3673541 = r3673539 * r3673540;
        double r3673542 = -3.995021634137973e+278;
        bool r3673543 = r3673541 <= r3673542;
        double r3673544 = A;
        double r3673545 = r3673544 / r3673539;
        double r3673546 = r3673545 / r3673540;
        double r3673547 = sqrt(r3673546);
        double r3673548 = c0;
        double r3673549 = r3673547 * r3673548;
        double r3673550 = -6.453813157476445e-197;
        bool r3673551 = r3673541 <= r3673550;
        double r3673552 = 1.0;
        double r3673553 = r3673552 / r3673541;
        double r3673554 = r3673553 * r3673544;
        double r3673555 = sqrt(r3673554);
        double r3673556 = r3673555 * r3673548;
        double r3673557 = 1.6172977941494717e-304;
        bool r3673558 = r3673541 <= r3673557;
        double r3673559 = 3.6891399852107064e+269;
        bool r3673560 = r3673541 <= r3673559;
        double r3673561 = sqrt(r3673544);
        double r3673562 = sqrt(r3673541);
        double r3673563 = r3673561 / r3673562;
        double r3673564 = r3673563 * r3673548;
        double r3673565 = cbrt(r3673544);
        double r3673566 = r3673565 / r3673540;
        double r3673567 = cbrt(r3673566);
        double r3673568 = r3673567 * r3673565;
        double r3673569 = r3673568 * r3673568;
        double r3673570 = cbrt(r3673565);
        double r3673571 = r3673569 * r3673570;
        double r3673572 = sqrt(r3673571);
        double r3673573 = cbrt(r3673540);
        double r3673574 = r3673539 * r3673573;
        double r3673575 = sqrt(r3673574);
        double r3673576 = r3673572 / r3673575;
        double r3673577 = r3673548 * r3673576;
        double r3673578 = r3673560 ? r3673564 : r3673577;
        double r3673579 = r3673558 ? r3673549 : r3673578;
        double r3673580 = r3673551 ? r3673556 : r3673579;
        double r3673581 = r3673543 ? r3673549 : r3673580;
        return r3673581;
}

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) < -3.995021634137973e+278 or -6.453813157476445e-197 < (* V l) < 1.6172977941494717e-304

    1. Initial program 42.8

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

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

    if -3.995021634137973e+278 < (* V l) < -6.453813157476445e-197

    1. Initial program 7.7

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

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

    if 1.6172977941494717e-304 < (* V l) < 3.6891399852107064e+269

    1. Initial program 9.5

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

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

    if 3.6891399852107064e+269 < (* V l)

    1. Initial program 37.2

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

      \[\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.1

      \[\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 add-cube-cbrt23.2

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

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

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{\left(\sqrt[3]{\frac{\sqrt[3]{A}}{\ell}} \cdot \sqrt[3]{A}\right) \cdot \left(\sqrt[3]{\frac{\sqrt[3]{A}}{\ell}} \cdot \sqrt[3]{A}\right)}{V}} \cdot \sqrt[3]{\frac{\sqrt[3]{A}}{\ell}}}\]
    9. Using strategy rm
    10. Applied cbrt-div23.2

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -3.995021634137973 \cdot 10^{+278}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le -6.453813157476445 \cdot 10^{-197}:\\ \;\;\;\;\sqrt{\frac{1}{V \cdot \ell} \cdot A} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 1.6172977941494717 \cdot 10^{-304}:\\ \;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 3.6891399852107064 \cdot 10^{+269}:\\ \;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{\left(\left(\sqrt[3]{\frac{\sqrt[3]{A}}{\ell}} \cdot \sqrt[3]{A}\right) \cdot \left(\sqrt[3]{\frac{\sqrt[3]{A}}{\ell}} \cdot \sqrt[3]{A}\right)\right) \cdot \sqrt[3]{\sqrt[3]{A}}}}{\sqrt{V \cdot \sqrt[3]{\ell}}}\\ \end{array}\]

Reproduce

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