Average Error: 19.3 → 9.8
Time: 30.7s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;\ell \cdot V = -\infty:\\ \;\;\;\;\left(\sqrt{\frac{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right) \cdot c0\\ \mathbf{elif}\;\ell \cdot V \le -5.601891409264343123426103753339848933114 \cdot 10^{-287}:\\ \;\;\;\;\sqrt{\sqrt[3]{\frac{1}{\ell \cdot V}} \cdot \sqrt[3]{A}} \cdot \left(c0 \cdot \frac{\left|\sqrt[3]{A}\right|}{\left|\sqrt[3]{\ell \cdot V}\right|}\right)\\ \mathbf{elif}\;\ell \cdot V \le 2.442774188137666401114116722762846155888 \cdot 10^{-317}:\\ \;\;\;\;\left(\sqrt{\frac{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right) \cdot c0\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{\ell \cdot V}}\\ \end{array}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;\ell \cdot V = -\infty:\\
\;\;\;\;\left(\sqrt{\frac{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right) \cdot c0\\

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

\mathbf{elif}\;\ell \cdot V \le 2.442774188137666401114116722762846155888 \cdot 10^{-317}:\\
\;\;\;\;\left(\sqrt{\frac{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right) \cdot c0\\

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r4522888 = c0;
        double r4522889 = A;
        double r4522890 = V;
        double r4522891 = l;
        double r4522892 = r4522890 * r4522891;
        double r4522893 = r4522889 / r4522892;
        double r4522894 = sqrt(r4522893);
        double r4522895 = r4522888 * r4522894;
        return r4522895;
}

double f(double c0, double A, double V, double l) {
        double r4522896 = l;
        double r4522897 = V;
        double r4522898 = r4522896 * r4522897;
        double r4522899 = -inf.0;
        bool r4522900 = r4522898 <= r4522899;
        double r4522901 = A;
        double r4522902 = r4522901 / r4522896;
        double r4522903 = sqrt(r4522902);
        double r4522904 = 1.0;
        double r4522905 = r4522904 / r4522897;
        double r4522906 = sqrt(r4522905);
        double r4522907 = r4522903 * r4522906;
        double r4522908 = c0;
        double r4522909 = r4522907 * r4522908;
        double r4522910 = -5.601891409264343e-287;
        bool r4522911 = r4522898 <= r4522910;
        double r4522912 = r4522904 / r4522898;
        double r4522913 = cbrt(r4522912);
        double r4522914 = cbrt(r4522901);
        double r4522915 = r4522913 * r4522914;
        double r4522916 = sqrt(r4522915);
        double r4522917 = fabs(r4522914);
        double r4522918 = cbrt(r4522898);
        double r4522919 = fabs(r4522918);
        double r4522920 = r4522917 / r4522919;
        double r4522921 = r4522908 * r4522920;
        double r4522922 = r4522916 * r4522921;
        double r4522923 = 2.4427741881377e-317;
        bool r4522924 = r4522898 <= r4522923;
        double r4522925 = sqrt(r4522901);
        double r4522926 = sqrt(r4522898);
        double r4522927 = r4522925 / r4522926;
        double r4522928 = r4522908 * r4522927;
        double r4522929 = r4522924 ? r4522909 : r4522928;
        double r4522930 = r4522911 ? r4522922 : r4522929;
        double r4522931 = r4522900 ? r4522909 : r4522930;
        return r4522931;
}

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) < -inf.0 or -5.601891409264343e-287 < (* V l) < 2.4427741881377e-317

    1. Initial program 53.0

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

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

      \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{1}{V} \cdot \frac{A}{\ell}}}\]
    5. Applied sqrt-prod38.2

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

    if -inf.0 < (* V l) < -5.601891409264343e-287

    1. Initial program 9.7

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

      \[\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-prod10.2

      \[\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*10.2

      \[\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}}}}\]
    6. Using strategy rm
    7. Applied div-inv10.2

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

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

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

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

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

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

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

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

    if 2.4427741881377e-317 < (* V l)

    1. Initial program 14.9

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\ell \cdot V = -\infty:\\ \;\;\;\;\left(\sqrt{\frac{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right) \cdot c0\\ \mathbf{elif}\;\ell \cdot V \le -5.601891409264343123426103753339848933114 \cdot 10^{-287}:\\ \;\;\;\;\sqrt{\sqrt[3]{\frac{1}{\ell \cdot V}} \cdot \sqrt[3]{A}} \cdot \left(c0 \cdot \frac{\left|\sqrt[3]{A}\right|}{\left|\sqrt[3]{\ell \cdot V}\right|}\right)\\ \mathbf{elif}\;\ell \cdot V \le 2.442774188137666401114116722762846155888 \cdot 10^{-317}:\\ \;\;\;\;\left(\sqrt{\frac{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right) \cdot c0\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{\ell \cdot V}}\\ \end{array}\]

Reproduce

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