x \cdot x - 1
\mathsf{fma}\left(x, x, -1\right)double f(double x) {
double r209487 = x;
double r209488 = r209487 * r209487;
double r209489 = 1.0;
double r209490 = r209488 - r209489;
return r209490;
}
double f(double x) {
double r209491 = x;
double r209492 = 1.0;
double r209493 = -r209492;
double r209494 = fma(r209491, r209491, r209493);
return r209494;
}



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