\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.361733299857302083043096878302889042354 \cdot 10^{105}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le -3.320360656741600748358420677927629618815 \cdot 10^{-289}:\\
\;\;\;\;\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - c \cdot a}}{a}\\
\mathbf{elif}\;b_2 \le 6.326287366549382745037046972324082366467 \cdot 10^{74}:\\
\;\;\;\;c \cdot \frac{1}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r26885 = b_2;
double r26886 = -r26885;
double r26887 = r26885 * r26885;
double r26888 = a;
double r26889 = c;
double r26890 = r26888 * r26889;
double r26891 = r26887 - r26890;
double r26892 = sqrt(r26891);
double r26893 = r26886 + r26892;
double r26894 = r26893 / r26888;
return r26894;
}
double f(double a, double b_2, double c) {
double r26895 = b_2;
double r26896 = -1.361733299857302e+105;
bool r26897 = r26895 <= r26896;
double r26898 = 0.5;
double r26899 = c;
double r26900 = r26899 / r26895;
double r26901 = r26898 * r26900;
double r26902 = 2.0;
double r26903 = a;
double r26904 = r26895 / r26903;
double r26905 = r26902 * r26904;
double r26906 = r26901 - r26905;
double r26907 = -3.3203606567416007e-289;
bool r26908 = r26895 <= r26907;
double r26909 = -r26895;
double r26910 = r26895 * r26895;
double r26911 = r26899 * r26903;
double r26912 = r26910 - r26911;
double r26913 = sqrt(r26912);
double r26914 = r26909 + r26913;
double r26915 = r26914 / r26903;
double r26916 = 6.326287366549383e+74;
bool r26917 = r26895 <= r26916;
double r26918 = 1.0;
double r26919 = r26903 * r26899;
double r26920 = r26910 - r26919;
double r26921 = sqrt(r26920);
double r26922 = r26909 - r26921;
double r26923 = r26918 / r26922;
double r26924 = r26899 * r26923;
double r26925 = -0.5;
double r26926 = r26925 * r26900;
double r26927 = r26917 ? r26924 : r26926;
double r26928 = r26908 ? r26915 : r26927;
double r26929 = r26897 ? r26906 : r26928;
return r26929;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.361733299857302e+105Initial program 48.6
Taylor expanded around -inf 3.6
if -1.361733299857302e+105 < b_2 < -3.3203606567416007e-289Initial program 8.5
Taylor expanded around 0 8.5
Simplified8.5
if -3.3203606567416007e-289 < b_2 < 6.326287366549383e+74Initial program 29.9
rmApplied flip-+29.9
Simplified16.1
rmApplied *-un-lft-identity16.1
Applied *-un-lft-identity16.1
Applied times-frac14.2
Applied times-frac10.5
Simplified10.5
Simplified9.5
if 6.326287366549383e+74 < b_2 Initial program 58.0
Taylor expanded around inf 3.7
Final simplification6.8
herbie shell --seed 2019322
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))