\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 - 4 \cdot \left(a \cdot c\right)}}{2}}{a}double f(double a, double b, double c) {
double r2471651 = b;
double r2471652 = -r2471651;
double r2471653 = r2471651 * r2471651;
double r2471654 = 4.0;
double r2471655 = /* ERROR: no posit support in C */;
double r2471656 = a;
double r2471657 = c;
double r2471658 = r2471656 * r2471657;
double r2471659 = r2471655 * r2471658;
double r2471660 = r2471653 - r2471659;
double r2471661 = sqrt(r2471660);
double r2471662 = r2471652 - r2471661;
double r2471663 = 2.0;
double r2471664 = /* ERROR: no posit support in C */;
double r2471665 = r2471664 * r2471656;
double r2471666 = r2471662 / r2471665;
return r2471666;
}
double f(double a, double b, double c) {
double r2471667 = b;
double r2471668 = -r2471667;
double r2471669 = r2471667 * r2471667;
double r2471670 = 4.0;
double r2471671 = a;
double r2471672 = c;
double r2471673 = r2471671 * r2471672;
double r2471674 = r2471670 * r2471673;
double r2471675 = r2471669 - r2471674;
double r2471676 = sqrt(r2471675);
double r2471677 = r2471668 - r2471676;
double r2471678 = 2.0;
double r2471679 = r2471677 / r2471678;
double r2471680 = r2471679 / r2471671;
return r2471680;
}



Bits error versus a



Bits error versus b



Bits error versus c
Initial program 1.6
rmApplied associate-/r*1.5
Final simplification1.5
herbie shell --seed 2019135 +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)))