Average Error: 33.8 → 10.0
Time: 13.3s
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 -5.062954969806706230304038666801404238404 \cdot 10^{105}:\\ \;\;\;\;\left(\frac{\frac{1}{2}}{\frac{b_2}{c}} - \frac{b_2}{a}\right) - \frac{b_2}{a}\\ \mathbf{elif}\;b_2 \le 4.425266767149826267163696598657296527176 \cdot 10^{-76}:\\ \;\;\;\;\frac{\sqrt{{b_2}^{2} - a \cdot c}}{a} - \frac{b_2}{a}\\ \mathbf{else}:\\ \;\;\;\;\frac{c}{b_2} \cdot \frac{-1}{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 -5.062954969806706230304038666801404238404 \cdot 10^{105}:\\
\;\;\;\;\left(\frac{\frac{1}{2}}{\frac{b_2}{c}} - \frac{b_2}{a}\right) - \frac{b_2}{a}\\

\mathbf{elif}\;b_2 \le 4.425266767149826267163696598657296527176 \cdot 10^{-76}:\\
\;\;\;\;\frac{\sqrt{{b_2}^{2} - a \cdot c}}{a} - \frac{b_2}{a}\\

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

\end{array}
double f(double a, double b_2, double c) {
        double r23398 = b_2;
        double r23399 = -r23398;
        double r23400 = r23398 * r23398;
        double r23401 = a;
        double r23402 = c;
        double r23403 = r23401 * r23402;
        double r23404 = r23400 - r23403;
        double r23405 = sqrt(r23404);
        double r23406 = r23399 + r23405;
        double r23407 = r23406 / r23401;
        return r23407;
}

double f(double a, double b_2, double c) {
        double r23408 = b_2;
        double r23409 = -5.062954969806706e+105;
        bool r23410 = r23408 <= r23409;
        double r23411 = 0.5;
        double r23412 = c;
        double r23413 = r23408 / r23412;
        double r23414 = r23411 / r23413;
        double r23415 = a;
        double r23416 = r23408 / r23415;
        double r23417 = r23414 - r23416;
        double r23418 = r23417 - r23416;
        double r23419 = 4.425266767149826e-76;
        bool r23420 = r23408 <= r23419;
        double r23421 = 2.0;
        double r23422 = pow(r23408, r23421);
        double r23423 = r23415 * r23412;
        double r23424 = r23422 - r23423;
        double r23425 = sqrt(r23424);
        double r23426 = r23425 / r23415;
        double r23427 = r23426 - r23416;
        double r23428 = r23412 / r23408;
        double r23429 = -0.5;
        double r23430 = r23428 * r23429;
        double r23431 = r23420 ? r23427 : r23430;
        double r23432 = r23410 ? r23418 : r23431;
        return r23432;
}

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 3 regimes
  2. if b_2 < -5.062954969806706e+105

    1. Initial program 49.1

      \[\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Simplified49.1

      \[\leadsto \color{blue}{\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}{a}}\]
    3. Using strategy rm
    4. Applied div-sub49.1

      \[\leadsto \color{blue}{\frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a} - \frac{b_2}{a}}\]
    5. Simplified49.1

      \[\leadsto \color{blue}{\frac{\sqrt{{b_2}^{2} - a \cdot c}}{a}} - \frac{b_2}{a}\]
    6. Taylor expanded around -inf 2.8

      \[\leadsto \color{blue}{\left(\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a}\right)} - \frac{b_2}{a}\]
    7. Simplified2.8

      \[\leadsto \color{blue}{\left(\frac{\frac{1}{2}}{\frac{b_2}{c}} - \frac{b_2}{a}\right)} - \frac{b_2}{a}\]

    if -5.062954969806706e+105 < b_2 < 4.425266767149826e-76

    1. Initial program 12.9

      \[\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Simplified12.9

      \[\leadsto \color{blue}{\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}{a}}\]
    3. Using strategy rm
    4. Applied div-sub12.9

      \[\leadsto \color{blue}{\frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a} - \frac{b_2}{a}}\]
    5. Simplified12.9

      \[\leadsto \color{blue}{\frac{\sqrt{{b_2}^{2} - a \cdot c}}{a}} - \frac{b_2}{a}\]

    if 4.425266767149826e-76 < b_2

    1. Initial program 53.0

      \[\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\]
    2. Simplified53.0

      \[\leadsto \color{blue}{\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}{a}}\]
    3. Taylor expanded around inf 9.3

      \[\leadsto \color{blue}{\frac{-1}{2} \cdot \frac{c}{b_2}}\]
    4. Simplified9.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;b_2 \le -5.062954969806706230304038666801404238404 \cdot 10^{105}:\\ \;\;\;\;\left(\frac{\frac{1}{2}}{\frac{b_2}{c}} - \frac{b_2}{a}\right) - \frac{b_2}{a}\\ \mathbf{elif}\;b_2 \le 4.425266767149826267163696598657296527176 \cdot 10^{-76}:\\ \;\;\;\;\frac{\sqrt{{b_2}^{2} - a \cdot c}}{a} - \frac{b_2}{a}\\ \mathbf{else}:\\ \;\;\;\;\frac{c}{b_2} \cdot \frac{-1}{2}\\ \end{array}\]

Reproduce

herbie shell --seed 2019195 
(FPCore (a b_2 c)
  :name "quad2p (problem 3.2.1, positive)"
  (/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))