\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.2705286994550075 \cdot 10^{+152}:\\
\;\;\;\;\mathsf{fma}\left(\frac{b_2}{a}, -2, \frac{\frac{1}{2} \cdot c}{b_2}\right)\\
\mathbf{elif}\;b_2 \le 1.744031351412433 \cdot 10^{-142}:\\
\;\;\;\;\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r774856 = b_2;
double r774857 = -r774856;
double r774858 = r774856 * r774856;
double r774859 = a;
double r774860 = c;
double r774861 = r774859 * r774860;
double r774862 = r774858 - r774861;
double r774863 = sqrt(r774862);
double r774864 = r774857 + r774863;
double r774865 = r774864 / r774859;
return r774865;
}
double f(double a, double b_2, double c) {
double r774866 = b_2;
double r774867 = -1.2705286994550075e+152;
bool r774868 = r774866 <= r774867;
double r774869 = a;
double r774870 = r774866 / r774869;
double r774871 = -2.0;
double r774872 = 0.5;
double r774873 = c;
double r774874 = r774872 * r774873;
double r774875 = r774874 / r774866;
double r774876 = fma(r774870, r774871, r774875);
double r774877 = 1.744031351412433e-142;
bool r774878 = r774866 <= r774877;
double r774879 = r774866 * r774866;
double r774880 = r774869 * r774873;
double r774881 = r774879 - r774880;
double r774882 = sqrt(r774881);
double r774883 = r774882 - r774866;
double r774884 = r774883 / r774869;
double r774885 = -0.5;
double r774886 = r774873 / r774866;
double r774887 = r774885 * r774886;
double r774888 = r774878 ? r774884 : r774887;
double r774889 = r774868 ? r774876 : r774888;
return r774889;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -1.2705286994550075e+152Initial program 60.0
Simplified60.0
rmApplied div-inv60.0
Taylor expanded around -inf 1.6
Simplified1.6
if -1.2705286994550075e+152 < b_2 < 1.744031351412433e-142Initial program 10.2
Simplified10.2
if 1.744031351412433e-142 < b_2 Initial program 50.1
Simplified50.1
Taylor expanded around inf 12.0
Final simplification10.0
herbie shell --seed 2019168 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))