Я предполагаю, что вы переходите с Microsoft Fortran Powerstation 4 на Intel Visual Fortran 11.xx?
В любом случае, попробуйте это:
program test32
integer, parameter :: iwp = selected_real_kind(15,300)
real(iwp) :: a,b,c
a=0.9876875
b=0.6754345
c=a*b
write(*,'(3f12.8)')a,b,c
end program test32
, который выдает:
0.98768753 0.67543453 0.66711826
Я не буду объяснять selected_real_kind не потому, что не желаю, а потому, что помощь, вероятно, сделает это намного лучше. Но спросите, если что-то здесь не ясно.
p.s. Представление вещественного * 4 или любого типа вещественного зависит от процессора и от компилятора, и это одна из причин, по которой вы получаете разные результаты.