Average Error: 18.3 → 9.3
Time: 19.6s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -0.0:\\ \;\;\;\;\sqrt{\frac{A}{\ell} \cdot \sqrt[3]{\frac{1}{V}}} \cdot \left(\left|\sqrt[3]{\frac{1}{V}}\right| \cdot c0\right)\\ \mathbf{elif}\;V \cdot \ell \le 2.1559953611593483 \cdot 10^{+298}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{A}{\ell} \cdot \sqrt[3]{\frac{1}{V}}} \cdot \left(\left|\sqrt[3]{\frac{1}{V}}\right| \cdot c0\right)\\ \end{array}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -0.0:\\
\;\;\;\;\sqrt{\frac{A}{\ell} \cdot \sqrt[3]{\frac{1}{V}}} \cdot \left(\left|\sqrt[3]{\frac{1}{V}}\right| \cdot c0\right)\\

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

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r3500641 = c0;
        double r3500642 = A;
        double r3500643 = V;
        double r3500644 = l;
        double r3500645 = r3500643 * r3500644;
        double r3500646 = r3500642 / r3500645;
        double r3500647 = sqrt(r3500646);
        double r3500648 = r3500641 * r3500647;
        return r3500648;
}

double f(double c0, double A, double V, double l) {
        double r3500649 = V;
        double r3500650 = l;
        double r3500651 = r3500649 * r3500650;
        double r3500652 = -0.0;
        bool r3500653 = r3500651 <= r3500652;
        double r3500654 = A;
        double r3500655 = r3500654 / r3500650;
        double r3500656 = 1.0;
        double r3500657 = r3500656 / r3500649;
        double r3500658 = cbrt(r3500657);
        double r3500659 = r3500655 * r3500658;
        double r3500660 = sqrt(r3500659);
        double r3500661 = fabs(r3500658);
        double r3500662 = c0;
        double r3500663 = r3500661 * r3500662;
        double r3500664 = r3500660 * r3500663;
        double r3500665 = 2.1559953611593483e+298;
        bool r3500666 = r3500651 <= r3500665;
        double r3500667 = sqrt(r3500654);
        double r3500668 = sqrt(r3500651);
        double r3500669 = r3500667 / r3500668;
        double r3500670 = r3500662 * r3500669;
        double r3500671 = r3500666 ? r3500670 : r3500664;
        double r3500672 = r3500653 ? r3500664 : r3500671;
        return r3500672;
}

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 2 regimes
  2. if (* V l) < -0.0 or 2.1559953611593483e+298 < (* V l)

    1. Initial program 23.6

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

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

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

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

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

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

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

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

    if -0.0 < (* V l) < 2.1559953611593483e+298

    1. Initial program 9.8

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -0.0:\\ \;\;\;\;\sqrt{\frac{A}{\ell} \cdot \sqrt[3]{\frac{1}{V}}} \cdot \left(\left|\sqrt[3]{\frac{1}{V}}\right| \cdot c0\right)\\ \mathbf{elif}\;V \cdot \ell \le 2.1559953611593483 \cdot 10^{+298}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{A}{\ell} \cdot \sqrt[3]{\frac{1}{V}}} \cdot \left(\left|\sqrt[3]{\frac{1}{V}}\right| \cdot c0\right)\\ \end{array}\]

Reproduce

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