x \cdot x - 1
\mathsf{fma}\left(x, x, -1\right)double f(double x) {
double r224399 = x;
double r224400 = r224399 * r224399;
double r224401 = 1.0;
double r224402 = r224400 - r224401;
return r224402;
}
double f(double x) {
double r224403 = x;
double r224404 = 1.0;
double r224405 = -r224404;
double r224406 = fma(r224403, r224403, r224405);
return r224406;
}



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