\frac{\left(\left(-b\right) - \left(\sqrt{\left(\left(b \cdot b\right) - \left(\left(4\right) \cdot \left(a \cdot c\right)\right)\right)}\right)\right)}{\left(\left(2\right) \cdot a\right)}\frac{\frac{\left(-b\right) - \sqrt{b \cdot b - \left(4 \cdot a\right) \cdot c}}{2}}{a}double f(double a, double b, double c) {
double r1918374 = b;
double r1918375 = -r1918374;
double r1918376 = r1918374 * r1918374;
double r1918377 = 4.0;
double r1918378 = /* ERROR: no posit support in C */;
double r1918379 = a;
double r1918380 = c;
double r1918381 = r1918379 * r1918380;
double r1918382 = r1918378 * r1918381;
double r1918383 = r1918376 - r1918382;
double r1918384 = sqrt(r1918383);
double r1918385 = r1918375 - r1918384;
double r1918386 = 2.0;
double r1918387 = /* ERROR: no posit support in C */;
double r1918388 = r1918387 * r1918379;
double r1918389 = r1918385 / r1918388;
return r1918389;
}
double f(double a, double b, double c) {
double r1918390 = b;
double r1918391 = -r1918390;
double r1918392 = r1918390 * r1918390;
double r1918393 = 4.0;
double r1918394 = a;
double r1918395 = r1918393 * r1918394;
double r1918396 = c;
double r1918397 = r1918395 * r1918396;
double r1918398 = r1918392 - r1918397;
double r1918399 = sqrt(r1918398);
double r1918400 = r1918391 - r1918399;
double r1918401 = 2.0;
double r1918402 = r1918400 / r1918401;
double r1918403 = r1918402 / r1918394;
return r1918403;
}



Bits error versus a



Bits error versus b



Bits error versus c
Initial program 1.6
rmApplied associate-/r*1.5
rmApplied associate-*r*1.5
Final simplification1.5
herbie shell --seed 2019128 +o rules:numerics
(FPCore (a b c)
:name "quadm (p42, negative)"
(/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)))