x \cdot x - 1
\mathsf{fma}\left(x, x, -1\right)double f(double x) {
double r270344 = x;
double r270345 = r270344 * r270344;
double r270346 = 1.0;
double r270347 = r270345 - r270346;
return r270347;
}
double f(double x) {
double r270348 = x;
double r270349 = 1.0;
double r270350 = -r270349;
double r270351 = fma(r270348, r270348, r270350);
return r270351;
}



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