Average Error: 19.3 → 12.9
Time: 16.6s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -8.96154171386405403 \cdot 10^{-260}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\\ \mathbf{elif}\;V \cdot \ell \le -0.0:\\ \;\;\;\;\left(c0 \cdot \sqrt{\frac{1}{V}}\right) \cdot \sqrt{\frac{A}{\ell}}\\ \mathbf{elif}\;V \cdot \ell \le 2.0826988639942414 \cdot 10^{268}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \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 -8.96154171386405403 \cdot 10^{-260}:\\
\;\;\;\;c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\\

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

\mathbf{elif}\;V \cdot \ell \le 2.0826988639942414 \cdot 10^{268}:\\
\;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r156555 = c0;
        double r156556 = A;
        double r156557 = V;
        double r156558 = l;
        double r156559 = r156557 * r156558;
        double r156560 = r156556 / r156559;
        double r156561 = sqrt(r156560);
        double r156562 = r156555 * r156561;
        return r156562;
}

double f(double c0, double A, double V, double l) {
        double r156563 = V;
        double r156564 = l;
        double r156565 = r156563 * r156564;
        double r156566 = -8.961541713864054e-260;
        bool r156567 = r156565 <= r156566;
        double r156568 = c0;
        double r156569 = A;
        double r156570 = r156569 / r156565;
        double r156571 = sqrt(r156570);
        double r156572 = r156568 * r156571;
        double r156573 = -0.0;
        bool r156574 = r156565 <= r156573;
        double r156575 = 1.0;
        double r156576 = r156575 / r156563;
        double r156577 = sqrt(r156576);
        double r156578 = r156568 * r156577;
        double r156579 = r156569 / r156564;
        double r156580 = sqrt(r156579);
        double r156581 = r156578 * r156580;
        double r156582 = 2.0826988639942414e+268;
        bool r156583 = r156565 <= r156582;
        double r156584 = sqrt(r156569);
        double r156585 = sqrt(r156565);
        double r156586 = r156584 / r156585;
        double r156587 = r156568 * r156586;
        double r156588 = r156569 / r156563;
        double r156589 = r156588 / r156564;
        double r156590 = sqrt(r156589);
        double r156591 = r156568 * r156590;
        double r156592 = r156583 ? r156587 : r156591;
        double r156593 = r156574 ? r156581 : r156592;
        double r156594 = r156567 ? r156572 : r156593;
        return r156594;
}

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) < -8.961541713864054e-260

    1. Initial program 14.2

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

    if -8.961541713864054e-260 < (* V l) < -0.0

    1. Initial program 56.5

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

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

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

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

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

    if -0.0 < (* V l) < 2.0826988639942414e+268

    1. Initial program 10.2

      \[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}}}\]

    if 2.0826988639942414e+268 < (* V l)

    1. Initial program 36.1

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -8.96154171386405403 \cdot 10^{-260}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\\ \mathbf{elif}\;V \cdot \ell \le -0.0:\\ \;\;\;\;\left(c0 \cdot \sqrt{\frac{1}{V}}\right) \cdot \sqrt{\frac{A}{\ell}}\\ \mathbf{elif}\;V \cdot \ell \le 2.0826988639942414 \cdot 10^{268}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\ \end{array}\]

Reproduce

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