Recently one of our customer found a loss of precision in their floating point arithmetic computations involving REAL_32 and REAL_64. This loss can be seen in the code below:
make
local
x: REAL_32
y: REAL_64
z: REAL_64
do
x := 0
y := 1.123456789012345
z := x + y
end
where at the end the value of
z was not equal to the value of
y.