искажение оно не в том, что, например @val2=3.0 в одной строке отличается от такого же @val1=3.0 в другой, а в том, что оно не будет на самом деле числом 3, а будет каким-то там дробным приближением к 3.0 с лишними единицами после точки из-за того, что число будет храниться как дробное представление степен двойки (процессор же у нас двоичный)
я же верно понимаю, что в представлении той же 3 в виде числа с плавающей запятой его миллионные/милиардные разряды должны раз от раза рандомно меняться? То есть, один раз это 3,0000000103, другой раз 3, 000000005426
Просто не понимаю, как это увидеть можно