\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.039316568980459063820204785769574103851 \cdot 10^{69}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le \frac{-3742251048940711}{2.083754510274954460649953684600393061608 \cdot 10^{239}}:\\
\;\;\;\;\frac{1}{\frac{a}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}\\
\mathbf{elif}\;b_2 \le 3.120866175169106465948772460927385236705 \cdot 10^{88}:\\
\;\;\;\;\frac{1}{\frac{1}{c} \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r26254 = b_2;
double r26255 = -r26254;
double r26256 = r26254 * r26254;
double r26257 = a;
double r26258 = c;
double r26259 = r26257 * r26258;
double r26260 = r26256 - r26259;
double r26261 = sqrt(r26260);
double r26262 = r26255 + r26261;
double r26263 = r26262 / r26257;
return r26263;
}
double f(double a, double b_2, double c) {
double r26264 = b_2;
double r26265 = -1.039316568980459e+69;
bool r26266 = r26264 <= r26265;
double r26267 = 0.5;
double r26268 = c;
double r26269 = r26268 / r26264;
double r26270 = r26267 * r26269;
double r26271 = 2.0;
double r26272 = a;
double r26273 = r26264 / r26272;
double r26274 = r26271 * r26273;
double r26275 = r26270 - r26274;
double r26276 = -3742251048940711.0;
double r26277 = 2.0837545102749545e+239;
double r26278 = r26276 / r26277;
bool r26279 = r26264 <= r26278;
double r26280 = 1.0;
double r26281 = r26264 * r26264;
double r26282 = r26272 * r26268;
double r26283 = r26281 - r26282;
double r26284 = sqrt(r26283);
double r26285 = r26284 - r26264;
double r26286 = r26272 / r26285;
double r26287 = r26280 / r26286;
double r26288 = 3.1208661751691065e+88;
bool r26289 = r26264 <= r26288;
double r26290 = r26280 / r26268;
double r26291 = -r26264;
double r26292 = r26291 - r26284;
double r26293 = r26290 * r26292;
double r26294 = r26280 / r26293;
double r26295 = -0.5;
double r26296 = r26295 * r26269;
double r26297 = r26289 ? r26294 : r26296;
double r26298 = r26279 ? r26287 : r26297;
double r26299 = r26266 ? r26275 : r26298;
return r26299;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.039316568980459e+69Initial program 40.9
Taylor expanded around -inf 4.8
if -1.039316568980459e+69 < b_2 < -1.7959174319660695e-224Initial program 8.1
rmApplied clear-num8.2
Simplified8.2
if -1.7959174319660695e-224 < b_2 < 3.1208661751691065e+88Initial program 29.9
rmApplied flip-+30.0
Simplified16.8
rmApplied *-un-lft-identity16.8
Applied times-frac14.4
Simplified14.4
rmApplied clear-num14.6
Simplified10.2
if 3.1208661751691065e+88 < b_2 Initial program 59.5
Taylor expanded around inf 2.9
Final simplification6.9
herbie shell --seed 197574269
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))