Average Error: 33.3 → 8.5
Time: 17.2s
Precision: 64
\[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
\[\begin{array}{l} \mathbf{if}\;b_2 \le -4.2863876983616346 \cdot 10^{-14}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\ \mathbf{elif}\;b_2 \le -3.2374193672365033 \cdot 10^{-189}:\\ \;\;\;\;\frac{\frac{c \cdot a}{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}{a}\\ \mathbf{elif}\;b_2 \le 3.340270116328134 \cdot 10^{+83}:\\ \;\;\;\;-\frac{\sqrt{b_2 \cdot b_2 - c \cdot a} + b_2}{a}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a} \cdot 2\\ \end{array}\]
\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}
\begin{array}{l}
\mathbf{if}\;b_2 \le -4.2863876983616346 \cdot 10^{-14}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\

\mathbf{elif}\;b_2 \le -3.2374193672365033 \cdot 10^{-189}:\\
\;\;\;\;\frac{\frac{c \cdot a}{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}{a}\\

\mathbf{elif}\;b_2 \le 3.340270116328134 \cdot 10^{+83}:\\
\;\;\;\;-\frac{\sqrt{b_2 \cdot b_2 - c \cdot a} + b_2}{a}\\

\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a} \cdot 2\\

\end{array}
double f(double a, double b_2, double c) {
        double r1334411 = b_2;
        double r1334412 = -r1334411;
        double r1334413 = r1334411 * r1334411;
        double r1334414 = a;
        double r1334415 = c;
        double r1334416 = r1334414 * r1334415;
        double r1334417 = r1334413 - r1334416;
        double r1334418 = sqrt(r1334417);
        double r1334419 = r1334412 - r1334418;
        double r1334420 = r1334419 / r1334414;
        return r1334420;
}

double f(double a, double b_2, double c) {
        double r1334421 = b_2;
        double r1334422 = -4.2863876983616346e-14;
        bool r1334423 = r1334421 <= r1334422;
        double r1334424 = -0.5;
        double r1334425 = c;
        double r1334426 = r1334425 / r1334421;
        double r1334427 = r1334424 * r1334426;
        double r1334428 = -3.2374193672365033e-189;
        bool r1334429 = r1334421 <= r1334428;
        double r1334430 = a;
        double r1334431 = r1334425 * r1334430;
        double r1334432 = r1334421 * r1334421;
        double r1334433 = r1334432 - r1334431;
        double r1334434 = sqrt(r1334433);
        double r1334435 = r1334434 - r1334421;
        double r1334436 = r1334431 / r1334435;
        double r1334437 = r1334436 / r1334430;
        double r1334438 = 3.340270116328134e+83;
        bool r1334439 = r1334421 <= r1334438;
        double r1334440 = r1334434 + r1334421;
        double r1334441 = r1334440 / r1334430;
        double r1334442 = -r1334441;
        double r1334443 = 0.5;
        double r1334444 = r1334443 * r1334426;
        double r1334445 = r1334421 / r1334430;
        double r1334446 = 2.0;
        double r1334447 = r1334445 * r1334446;
        double r1334448 = r1334444 - r1334447;
        double r1334449 = r1334439 ? r1334442 : r1334448;
        double r1334450 = r1334429 ? r1334437 : r1334449;
        double r1334451 = r1334423 ? r1334427 : r1334450;
        return r1334451;
}

Error

Bits error versus a

Bits error versus b_2

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 4 regimes
  2. if b_2 < -4.2863876983616346e-14

    1. Initial program 54.8

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Taylor expanded around -inf 5.9

      \[\leadsto \color{blue}{\frac{-1}{2} \cdot \frac{c}{b_2}}\]

    if -4.2863876983616346e-14 < b_2 < -3.2374193672365033e-189

    1. Initial program 29.3

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Using strategy rm
    3. Applied flip--29.4

      \[\leadsto \frac{\color{blue}{\frac{\left(-b_2\right) \cdot \left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c} \cdot \sqrt{b_2 \cdot b_2 - a \cdot c}}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}}}{a}\]
    4. Simplified18.0

      \[\leadsto \frac{\frac{\color{blue}{0 + a \cdot c}}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}}{a}\]
    5. Simplified18.0

      \[\leadsto \frac{\frac{0 + a \cdot c}{\color{blue}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}{a}\]

    if -3.2374193672365033e-189 < b_2 < 3.340270116328134e+83

    1. Initial program 9.8

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity9.8

      \[\leadsto \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{\color{blue}{1 \cdot a}}\]
    4. Applied associate-/r*9.8

      \[\leadsto \color{blue}{\frac{\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{1}}{a}}\]
    5. Simplified9.8

      \[\leadsto \frac{\color{blue}{-\left(b_2 + \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}}{a}\]

    if 3.340270116328134e+83 < b_2

    1. Initial program 42.6

      \[\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Taylor expanded around inf 3.8

      \[\leadsto \color{blue}{\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}}\]
  3. Recombined 4 regimes into one program.
  4. Final simplification8.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;b_2 \le -4.2863876983616346 \cdot 10^{-14}:\\ \;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\ \mathbf{elif}\;b_2 \le -3.2374193672365033 \cdot 10^{-189}:\\ \;\;\;\;\frac{\frac{c \cdot a}{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}{a}\\ \mathbf{elif}\;b_2 \le 3.340270116328134 \cdot 10^{+83}:\\ \;\;\;\;-\frac{\sqrt{b_2 \cdot b_2 - c \cdot a} + b_2}{a}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a} \cdot 2\\ \end{array}\]

Reproduce

herbie shell --seed 2019156 
(FPCore (a b_2 c)
  :name "NMSE problem 3.2.1"
  (/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))