x \cdot x - 1
\mathsf{fma}\left(x, x, -1\right)double f(double x) {
double r140719 = x;
double r140720 = r140719 * r140719;
double r140721 = 1.0;
double r140722 = r140720 - r140721;
return r140722;
}
double f(double x) {
double r140723 = x;
double r140724 = 1.0;
double r140725 = -r140724;
double r140726 = fma(r140723, r140723, r140725);
return r140726;
}



Bits error versus x
Initial program 0.0
rmApplied fma-neg0
Final simplification0
herbie shell --seed 2019235 +o rules:numerics
(FPCore (x)
:name "Data.Random.Dice:roll from dice-0.1"
:precision binary64
(- (* x x) 1))