This code gives distinct results when compiled for Win32 and Win64
- Win32: 49744125
- Win64: 49744124.9999999
procedure Test;
var
D: Double;
begin
D := 3 * (exp(3 * ln(255)));
WriteLn('Result: ' + FloatToStr(D));
end;
Somewhere is precision loss (or extra rounding). Is this good?