Average Error: 19.2 → 12.5
Time: 26.3s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;V \cdot \ell \le -8.5572345250440904 \cdot 10^{-135}:\\ \;\;\;\;c0 \cdot \sqrt{A \cdot \frac{1}{V \cdot \ell}}\\ \mathbf{elif}\;V \cdot \ell \le 1.8153855847994239 \cdot 10^{-294} \lor \neg \left(V \cdot \ell \le 3.7077968492082611 \cdot 10^{274}\right):\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \end{array}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -8.5572345250440904 \cdot 10^{-135}:\\
\;\;\;\;c0 \cdot \sqrt{A \cdot \frac{1}{V \cdot \ell}}\\

\mathbf{elif}\;V \cdot \ell \le 1.8153855847994239 \cdot 10^{-294} \lor \neg \left(V \cdot \ell \le 3.7077968492082611 \cdot 10^{274}\right):\\
\;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\

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

\end{array}
double f(double c0, double A, double V, double l) {
        double r156657 = c0;
        double r156658 = A;
        double r156659 = V;
        double r156660 = l;
        double r156661 = r156659 * r156660;
        double r156662 = r156658 / r156661;
        double r156663 = sqrt(r156662);
        double r156664 = r156657 * r156663;
        return r156664;
}

double f(double c0, double A, double V, double l) {
        double r156665 = V;
        double r156666 = l;
        double r156667 = r156665 * r156666;
        double r156668 = -8.55723452504409e-135;
        bool r156669 = r156667 <= r156668;
        double r156670 = c0;
        double r156671 = A;
        double r156672 = 1.0;
        double r156673 = r156672 / r156667;
        double r156674 = r156671 * r156673;
        double r156675 = sqrt(r156674);
        double r156676 = r156670 * r156675;
        double r156677 = 1.815385584799424e-294;
        bool r156678 = r156667 <= r156677;
        double r156679 = 3.707796849208261e+274;
        bool r156680 = r156667 <= r156679;
        double r156681 = !r156680;
        bool r156682 = r156678 || r156681;
        double r156683 = r156671 / r156665;
        double r156684 = r156683 / r156666;
        double r156685 = sqrt(r156684);
        double r156686 = r156670 * r156685;
        double r156687 = sqrt(r156671);
        double r156688 = sqrt(r156667);
        double r156689 = r156687 / r156688;
        double r156690 = r156670 * r156689;
        double r156691 = r156682 ? r156686 : r156690;
        double r156692 = r156669 ? r156676 : r156691;
        return r156692;
}

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) < -8.55723452504409e-135

    1. Initial program 14.3

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

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

    if -8.55723452504409e-135 < (* V l) < 1.815385584799424e-294 or 3.707796849208261e+274 < (* V l)

    1. Initial program 39.0

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

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

    if 1.815385584799424e-294 < (* V l) < 3.707796849208261e+274

    1. Initial program 9.4

      \[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}}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification12.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;V \cdot \ell \le -8.5572345250440904 \cdot 10^{-135}:\\ \;\;\;\;c0 \cdot \sqrt{A \cdot \frac{1}{V \cdot \ell}}\\ \mathbf{elif}\;V \cdot \ell \le 1.8153855847994239 \cdot 10^{-294} \lor \neg \left(V \cdot \ell \le 3.7077968492082611 \cdot 10^{274}\right):\\ \;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\ \mathbf{else}:\\ \;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\ \end{array}\]

Reproduce

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