Running your program on:
(i386-mingw32msvc) gpc version 20001107, based on 2.95.2 19991024 (release)
...produces "OK". You didn't mention your platform, but perhaps this is a function of the floating-point representation used internally, or perhaps this is a change in GPC from your version to mine.
Or the CPU statusword is different across platforms.