\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 r738970 = b;
double r738971 = -r738970;
double r738972 = r738970 * r738970;
double r738973 = 4.0;
double r738974 = /* ERROR: no posit support in C */;
double r738975 = a;
double r738976 = c;
double r738977 = r738975 * r738976;
double r738978 = r738974 * r738977;
double r738979 = r738972 - r738978;
double r738980 = sqrt(r738979);
double r738981 = r738971 - r738980;
double r738982 = 2.0;
double r738983 = /* ERROR: no posit support in C */;
double r738984 = r738983 * r738975;
double r738985 = r738981 / r738984;
return r738985;
}
double f(double a, double b, double c) {
double r738986 = b;
double r738987 = -r738986;
double r738988 = r738986 * r738986;
double r738989 = 4.0;
double r738990 = a;
double r738991 = c;
double r738992 = r738990 * r738991;
double r738993 = r738989 * r738992;
double r738994 = r738988 - r738993;
double r738995 = sqrt(r738994);
double r738996 = r738987 - r738995;
double r738997 = 2.0;
double r738998 = r738996 / r738997;
double r738999 = r738998 / r738990;
return r738999;
}



Bits error versus a



Bits error versus b



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