\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{\left(\mathsf{qms}\left(\left(\left(b_2 \cdot b_2\right)\right), c, a\right)\right)} - b_2}{a}double f(double a, double b_2, double c) {
double r893336 = b_2;
double r893337 = -r893336;
double r893338 = r893336 * r893336;
double r893339 = a;
double r893340 = c;
double r893341 = r893339 * r893340;
double r893342 = r893338 - r893341;
double r893343 = sqrt(r893342);
double r893344 = r893337 + r893343;
double r893345 = r893344 / r893339;
return r893345;
}
double f(double a, double b_2, double c) {
double r893346 = b_2;
double r893347 = r893346 * r893346;
double r893348 = /*Error: no posit support in C */;
double r893349 = c;
double r893350 = a;
double r893351 = /*Error: no posit support in C */;
double r893352 = /*Error: no posit support in C */;
double r893353 = sqrt(r893352);
double r893354 = r893353 - r893346;
double r893355 = r893354 / r893350;
return r893355;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Initial program 1.7
Simplified1.7
rmApplied introduce-quire1.7
Applied insert-quire-fdp-sub1.7
Final simplification1.7
herbie shell --seed 2019142 +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))