\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.71711085460076329 \cdot 10^{118}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le 5.2125724160985202 \cdot 10^{-204}:\\
\;\;\;\;\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{elif}\;b_2 \le 3461964491124549:\\
\;\;\;\;\frac{1}{\left(\left(\frac{\sqrt[3]{a} \cdot \sqrt[3]{a}}{a} \cdot \frac{\sqrt[3]{\sqrt[3]{a}} \cdot \sqrt[3]{\sqrt[3]{a}}}{\sqrt[3]{c} \cdot \sqrt[3]{c}}\right) \cdot \frac{\sqrt[3]{\sqrt[3]{a}}}{\sqrt[3]{c}}\right) \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 r16265 = b_2;
double r16266 = -r16265;
double r16267 = r16265 * r16265;
double r16268 = a;
double r16269 = c;
double r16270 = r16268 * r16269;
double r16271 = r16267 - r16270;
double r16272 = sqrt(r16271);
double r16273 = r16266 + r16272;
double r16274 = r16273 / r16268;
return r16274;
}
double f(double a, double b_2, double c) {
double r16275 = b_2;
double r16276 = -3.7171108546007633e+118;
bool r16277 = r16275 <= r16276;
double r16278 = 0.5;
double r16279 = c;
double r16280 = r16279 / r16275;
double r16281 = r16278 * r16280;
double r16282 = 2.0;
double r16283 = a;
double r16284 = r16275 / r16283;
double r16285 = r16282 * r16284;
double r16286 = r16281 - r16285;
double r16287 = 5.21257241609852e-204;
bool r16288 = r16275 <= r16287;
double r16289 = -r16275;
double r16290 = r16275 * r16275;
double r16291 = r16283 * r16279;
double r16292 = r16290 - r16291;
double r16293 = sqrt(r16292);
double r16294 = r16289 + r16293;
double r16295 = r16294 / r16283;
double r16296 = 3461964491124549.0;
bool r16297 = r16275 <= r16296;
double r16298 = 1.0;
double r16299 = cbrt(r16283);
double r16300 = r16299 * r16299;
double r16301 = r16300 / r16283;
double r16302 = cbrt(r16299);
double r16303 = r16302 * r16302;
double r16304 = cbrt(r16279);
double r16305 = r16304 * r16304;
double r16306 = r16303 / r16305;
double r16307 = r16301 * r16306;
double r16308 = r16302 / r16304;
double r16309 = r16307 * r16308;
double r16310 = r16289 - r16293;
double r16311 = r16309 * r16310;
double r16312 = r16298 / r16311;
double r16313 = -0.5;
double r16314 = r16313 * r16280;
double r16315 = r16297 ? r16312 : r16314;
double r16316 = r16288 ? r16295 : r16315;
double r16317 = r16277 ? r16286 : r16316;
return r16317;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.7171108546007633e+118Initial program 52.0
Taylor expanded around -inf 2.9
if -3.7171108546007633e+118 < b_2 < 5.21257241609852e-204Initial program 9.6
if 5.21257241609852e-204 < b_2 < 3461964491124549.0Initial program 31.8
rmApplied flip-+31.8
Simplified16.9
rmApplied *-un-lft-identity16.9
Applied *-un-lft-identity16.9
Applied times-frac16.9
Applied associate-/l*17.0
Simplified16.9
rmApplied add-cube-cbrt17.6
Applied times-frac12.8
rmApplied add-cube-cbrt13.0
Applied add-cube-cbrt13.2
Applied times-frac13.2
Applied associate-*r*9.7
if 3461964491124549.0 < b_2 Initial program 55.9
Taylor expanded around inf 5.5
Final simplification7.4
herbie shell --seed 2020027
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))