Average Error: 18.9 → 10.3
Time: 19.4s
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 r3432821 = c0;
        double r3432822 = A;
        double r3432823 = V;
        double r3432824 = l;
        double r3432825 = r3432823 * r3432824;
        double r3432826 = r3432822 / r3432825;
        double r3432827 = sqrt(r3432826);
        double r3432828 = r3432821 * r3432827;
        return r3432828;
}

double f(double c0, double A, double V, double l) {
        double r3432829 = V;
        double r3432830 = l;
        double r3432831 = r3432829 * r3432830;
        double r3432832 = -3.995021634137973e+278;
        bool r3432833 = r3432831 <= r3432832;
        double r3432834 = A;
        double r3432835 = r3432834 / r3432829;
        double r3432836 = r3432835 / r3432830;
        double r3432837 = sqrt(r3432836);
        double r3432838 = c0;
        double r3432839 = r3432837 * r3432838;
        double r3432840 = -6.453813157476445e-197;
        bool r3432841 = r3432831 <= r3432840;
        double r3432842 = 1.0;
        double r3432843 = r3432842 / r3432831;
        double r3432844 = r3432843 * r3432834;
        double r3432845 = sqrt(r3432844);
        double r3432846 = r3432845 * r3432838;
        double r3432847 = 1.6172977941494717e-304;
        bool r3432848 = r3432831 <= r3432847;
        double r3432849 = 3.6891399852107064e+269;
        bool r3432850 = r3432831 <= r3432849;
        double r3432851 = sqrt(r3432834);
        double r3432852 = sqrt(r3432831);
        double r3432853 = r3432851 / r3432852;
        double r3432854 = r3432853 * r3432838;
        double r3432855 = cbrt(r3432834);
        double r3432856 = r3432855 / r3432830;
        double r3432857 = cbrt(r3432856);
        double r3432858 = r3432857 * r3432855;
        double r3432859 = r3432858 * r3432858;
        double r3432860 = cbrt(r3432855);
        double r3432861 = r3432859 * r3432860;
        double r3432862 = sqrt(r3432861);
        double r3432863 = cbrt(r3432830);
        double r3432864 = r3432829 * r3432863;
        double r3432865 = sqrt(r3432864);
        double r3432866 = r3432862 / r3432865;
        double r3432867 = r3432838 * r3432866;
        double r3432868 = r3432850 ? r3432854 : r3432867;
        double r3432869 = r3432848 ? r3432839 : r3432868;
        double r3432870 = r3432841 ? r3432846 : r3432869;
        double r3432871 = r3432833 ? r3432839 : r3432870;
        return r3432871;
}

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)))))