x \cdot x - 1
\mathsf{fma}\left(x, x, -1\right)double f(double x) {
double r223623 = x;
double r223624 = r223623 * r223623;
double r223625 = 1.0;
double r223626 = r223624 - r223625;
return r223626;
}
double f(double x) {
double r223627 = x;
double r223628 = 1.0;
double r223629 = -r223628;
double r223630 = fma(r223627, r223627, r223629);
return r223630;
}



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