Правда это было очень давно мож на 286 процессоре даже, А может еще вот в чем дело:
Загружаемые разными процессорами значения отличны в наименьшем значащем бите мантиссы, если для FLDPI, FLDLN2, FLDG2 и FLDL2E установлено округление к -¥или к нулю, а для FLDL2T — округление к +¥..
А в программе как раз округление к нулю выставляется