\frac{\left(\frac{\left(-b_2\right)}{\left(\sqrt{\left(\left(b_2 \cdot b_2\right) - \left(a \cdot c\right)\right)}\right)}\right)}{a}\frac{\sqrt{\frac{b_2 \cdot b_2 + c \cdot a}{\frac{b_2 \cdot b_2 + c \cdot a}{b_2 \cdot b_2 - c \cdot a}}} - b_2}{a}double f(double a, double b_2, double c) {
double r893289 = b_2;
double r893290 = -r893289;
double r893291 = r893289 * r893289;
double r893292 = a;
double r893293 = c;
double r893294 = r893292 * r893293;
double r893295 = r893291 - r893294;
double r893296 = sqrt(r893295);
double r893297 = r893290 + r893296;
double r893298 = r893297 / r893292;
return r893298;
}
double f(double a, double b_2, double c) {
double r893299 = b_2;
double r893300 = r893299 * r893299;
double r893301 = c;
double r893302 = a;
double r893303 = r893301 * r893302;
double r893304 = r893300 + r893303;
double r893305 = r893300 - r893303;
double r893306 = r893304 / r893305;
double r893307 = r893304 / r893306;
double r893308 = sqrt(r893307);
double r893309 = r893308 - r893299;
double r893310 = r893309 / r893302;
return r893310;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Initial program 1.7
Simplified1.7
rmApplied p16-flip--2.7
rmApplied difference-of-squares2.6
Applied associate-/l*1.7
Final simplification1.7
herbie shell --seed 2019151 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
(/.p16 (+.p16 (neg.p16 b_2) (sqrt.p16 (-.p16 (*.p16 b_2 b_2) (*.p16 a c)))) a))