(FPCore (x y) :precision binary64 (* x (- 1.0 y)))
(FPCore (x y) :precision binary64 (fma y (- x) x))
double code(double x, double y) {
return x * (1.0 - y);
}
double code(double x, double y) {
return fma(y, -x, x);
}
function code(x, y) return Float64(x * Float64(1.0 - y)) end
function code(x, y) return fma(y, Float64(-x), x) end
code[x_, y_] := N[(x * N[(1.0 - y), $MachinePrecision]), $MachinePrecision]
code[x_, y_] := N[(y * (-x) + x), $MachinePrecision]
x \cdot \left(1 - y\right)
\mathsf{fma}\left(y, -x, x\right)



Bits error versus x



Bits error versus y
Initial program 0.0
Simplified0.0
Taylor expanded in x around 0 0.0
Simplified0
Final simplification0
herbie shell --seed 2022162
(FPCore (x y)
:name "Data.Colour.RGBSpace.HSV:hsv from colour-2.3.3, H"
:precision binary64
(* x (- 1.0 y)))