program mrc_test use ieee_arithmetic; use ieee_features implicit none real:: a=1.0, b=1.0 integer:: i call ieee_set_halting_mode(ieee_overflow, .false.) do i=1,1000 a=a*2.0; b=b/2.0 if(.not. ieee_is_finite(a)) then print*,'2.0 ** ',i,' is infinite' a =0.0 endif if(.not. ieee_is_normal(b)) & print*,'0.5 ** ',i,' is denormal' if (b == 0.0) exit end do print*,'0.5 ** ',i,' is zero' end program mrc_test