Average Error: 19.0 → 10.6
Time: 26.0s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -1.0428414104311597 \cdot 10^{-265}:\\ \;\;\;\;\frac{\left|\sqrt[3]{A}\right|}{\sqrt{\frac{V \cdot \ell}{\sqrt[3]{A}}}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 1.477058654807 \cdot 10^{-319}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\ \mathbf{elif}\;V \cdot \ell \le 2.865259651682613 \cdot 10^{+262}:\\ \;\;\;\;\sqrt{\frac{1}{V \cdot \ell}} \cdot \left(\sqrt{A} \cdot c0\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 -1.0428414104311597 \cdot 10^{-265}:\\
\;\;\;\;\frac{\left|\sqrt[3]{A}\right|}{\sqrt{\frac{V \cdot \ell}{\sqrt[3]{A}}}} \cdot c0\\

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

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

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r21852640 = c0;
        double r21852641 = A;
        double r21852642 = V;
        double r21852643 = l;
        double r21852644 = r21852642 * r21852643;
        double r21852645 = r21852641 / r21852644;
        double r21852646 = sqrt(r21852645);
        double r21852647 = r21852640 * r21852646;
        return r21852647;
}

double f(double c0, double A, double V, double l) {
        double r21852648 = V;
        double r21852649 = l;
        double r21852650 = r21852648 * r21852649;
        double r21852651 = -1.0428414104311597e-265;
        bool r21852652 = r21852650 <= r21852651;
        double r21852653 = A;
        double r21852654 = cbrt(r21852653);
        double r21852655 = fabs(r21852654);
        double r21852656 = r21852650 / r21852654;
        double r21852657 = sqrt(r21852656);
        double r21852658 = r21852655 / r21852657;
        double r21852659 = c0;
        double r21852660 = r21852658 * r21852659;
        double r21852661 = 1.477058654807e-319;
        bool r21852662 = r21852650 <= r21852661;
        double r21852663 = r21852653 / r21852648;
        double r21852664 = r21852663 / r21852649;
        double r21852665 = sqrt(r21852664);
        double r21852666 = r21852659 * r21852665;
        double r21852667 = 2.865259651682613e+262;
        bool r21852668 = r21852650 <= r21852667;
        double r21852669 = 1.0;
        double r21852670 = r21852669 / r21852650;
        double r21852671 = sqrt(r21852670);
        double r21852672 = sqrt(r21852653);
        double r21852673 = r21852672 * r21852659;
        double r21852674 = r21852671 * r21852673;
        double r21852675 = r21852668 ? r21852674 : r21852666;
        double r21852676 = r21852662 ? r21852666 : r21852675;
        double r21852677 = r21852652 ? r21852660 : r21852676;
        return r21852677;
}

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.0428414104311597e-265

    1. Initial program 14.5

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

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

      \[\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 associate-/l*14.8

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

      \[\leadsto \color{blue}{\frac{\sqrt{\sqrt[3]{A} \cdot \sqrt[3]{A}}}{\sqrt{\frac{V \cdot \ell}{\sqrt[3]{A}}}}} \cdot c0\]
    9. Simplified8.7

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

    if -1.0428414104311597e-265 < (* V l) < 1.477058654807e-319 or 2.865259651682613e+262 < (* V l)

    1. Initial program 45.2

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

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

    if 1.477058654807e-319 < (* V l) < 2.865259651682613e+262

    1. Initial program 9.8

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -1.0428414104311597 \cdot 10^{-265}:\\ \;\;\;\;\frac{\left|\sqrt[3]{A}\right|}{\sqrt{\frac{V \cdot \ell}{\sqrt[3]{A}}}} \cdot c0\\ \mathbf{elif}\;V \cdot \ell \le 1.477058654807 \cdot 10^{-319}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\ \mathbf{elif}\;V \cdot \ell \le 2.865259651682613 \cdot 10^{+262}:\\ \;\;\;\;\sqrt{\frac{1}{V \cdot \ell}} \cdot \left(\sqrt{A} \cdot c0\right)\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\ \end{array}\]

Reproduce

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