x \cdot x - 1
\mathsf{fma}\left(x, x, -1\right)double f(double x) {
double r8928896 = x;
double r8928897 = r8928896 * r8928896;
double r8928898 = 1.0;
double r8928899 = r8928897 - r8928898;
return r8928899;
}
double f(double x) {
double r8928900 = x;
double r8928901 = 1.0;
double r8928902 = -r8928901;
double r8928903 = fma(r8928900, r8928900, r8928902);
return r8928903;
}



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