\begin{array}{l}
\mathbf{if}\;b \ge 0:\\
\;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\
\mathbf{else}:\\
\;\;\;\;\frac{2 \cdot c}{\left(-b\right) + \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}\\
\end{array}\begin{array}{l}
\mathbf{if}\;b \le -1.4729738841171743 \cdot 10^{+119}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;b \ge 0:\\
\;\;\;\;\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2 \cdot a}\\
\mathbf{else}:\\
\;\;\;\;\frac{c \cdot 2}{2 \cdot \left(c \cdot \frac{a}{b} - b\right)}\\
\end{array}\\
\mathbf{elif}\;b \le 3.1115579814291686 \cdot 10^{+29}:\\
\;\;\;\;\begin{array}{l}
\mathbf{if}\;b \ge 0:\\
\;\;\;\;\frac{\left(-b\right) - \sqrt{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}} \cdot \sqrt{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}}{2 \cdot a}\\
\mathbf{else}:\\
\;\;\;\;\frac{c \cdot 2}{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c} + \left(-b\right)}\\
\end{array}\\
\mathbf{elif}\;b \ge 0:\\
\;\;\;\;\frac{2 \cdot \left(c \cdot \frac{a}{b} - b\right)}{2 \cdot a}\\
\mathbf{else}:\\
\;\;\;\;\frac{c \cdot 2}{\sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c} + \left(-b\right)}\\
\end{array}double f(double a, double b, double c) {
double r1136592 = b;
double r1136593 = 0.0;
bool r1136594 = r1136592 >= r1136593;
double r1136595 = -r1136592;
double r1136596 = r1136592 * r1136592;
double r1136597 = 4.0;
double r1136598 = a;
double r1136599 = r1136597 * r1136598;
double r1136600 = c;
double r1136601 = r1136599 * r1136600;
double r1136602 = r1136596 - r1136601;
double r1136603 = sqrt(r1136602);
double r1136604 = r1136595 - r1136603;
double r1136605 = 2.0;
double r1136606 = r1136605 * r1136598;
double r1136607 = r1136604 / r1136606;
double r1136608 = r1136605 * r1136600;
double r1136609 = r1136595 + r1136603;
double r1136610 = r1136608 / r1136609;
double r1136611 = r1136594 ? r1136607 : r1136610;
return r1136611;
}
double f(double a, double b, double c) {
double r1136612 = b;
double r1136613 = -1.4729738841171743e+119;
bool r1136614 = r1136612 <= r1136613;
double r1136615 = 0.0;
bool r1136616 = r1136612 >= r1136615;
double r1136617 = -r1136612;
double r1136618 = r1136612 * r1136612;
double r1136619 = 4.0;
double r1136620 = a;
double r1136621 = r1136619 * r1136620;
double r1136622 = c;
double r1136623 = r1136621 * r1136622;
double r1136624 = r1136618 - r1136623;
double r1136625 = sqrt(r1136624);
double r1136626 = r1136617 - r1136625;
double r1136627 = 2.0;
double r1136628 = r1136627 * r1136620;
double r1136629 = r1136626 / r1136628;
double r1136630 = r1136622 * r1136627;
double r1136631 = r1136620 / r1136612;
double r1136632 = r1136622 * r1136631;
double r1136633 = r1136632 - r1136612;
double r1136634 = r1136627 * r1136633;
double r1136635 = r1136630 / r1136634;
double r1136636 = r1136616 ? r1136629 : r1136635;
double r1136637 = 3.1115579814291686e+29;
bool r1136638 = r1136612 <= r1136637;
double r1136639 = sqrt(r1136625);
double r1136640 = r1136639 * r1136639;
double r1136641 = r1136617 - r1136640;
double r1136642 = r1136641 / r1136628;
double r1136643 = r1136625 + r1136617;
double r1136644 = r1136630 / r1136643;
double r1136645 = r1136616 ? r1136642 : r1136644;
double r1136646 = r1136634 / r1136628;
double r1136647 = r1136616 ? r1136646 : r1136644;
double r1136648 = r1136638 ? r1136645 : r1136647;
double r1136649 = r1136614 ? r1136636 : r1136648;
return r1136649;
}



Bits error versus a



Bits error versus b



Bits error versus c
Results
if b < -1.4729738841171743e+119Initial program 32.9
rmApplied add-sqr-sqrt32.9
Taylor expanded around -inf 6.2
Simplified2.0
if -1.4729738841171743e+119 < b < 3.1115579814291686e+29Initial program 8.8
rmApplied add-sqr-sqrt8.8
Applied sqrt-prod8.9
if 3.1115579814291686e+29 < b Initial program 34.4
rmApplied add-sqr-sqrt34.4
Applied sqrt-prod34.5
Taylor expanded around inf 11.3
Simplified6.3
Final simplification6.9
herbie shell --seed 2019134 +o rules:numerics
(FPCore (a b c)
:name "jeff quadratic root 1"
(if (>= b 0) (/ (- (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))))))