program numerror ! Code designed to crash due to numerical problems implicit none integer, parameter :: n = 10 double precision, dimension(n) :: x x(:) = 0.0 write(*,*) 'Calling divzero ...' call divzero(x,1) write(*,*) '... finished' write(*,*) 'x(1) = ', x(1) end program numerror subroutine divzero(array, n) implicit none integer :: n double precision, dimension(n) :: array integer i do i = 1, n array(i) = 1.0/array(i) end do end subroutine divzero