x \cdot x - 1
\mathsf{fma}\left(x, x, -1\right)double f(double x) {
double r146393 = x;
double r146394 = r146393 * r146393;
double r146395 = 1.0;
double r146396 = r146394 - r146395;
return r146396;
}
double f(double x) {
double r146397 = x;
double r146398 = 1.0;
double r146399 = -r146398;
double r146400 = fma(r146397, r146397, r146399);
return r146400;
}



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