program deriv implicit none integer, parameter:: kr=selected_real_kind(13) real(kind=kr), dimension(8) ::h real(kind=kr) :: x, exact, deriv_simm integer :: i data h/.1_kr, .01_kr, .005_kr, .001_kr, .0005_kr, .0001_kr, .00001_kr, .000001_kr/ x = 1._kr exact = cos(x) print*," h, deriv_simm, deriv_simm - exact" do i=1,8 deriv_simm = (sin(x+h(i))-sin(x-h(i))) / (2*h(i)) print*, h(i), deriv_simm, deriv_simm - exact write(2,*) h(i), deriv_simm, deriv_simm - exact end do do i=1,12 deriv_simm = (sin(x+h(8)/(i*10))-sin(x-h(8)/(i*10))) / (2*h(8)/(i*10)) print*, h(8)/(i*10), deriv_simm, deriv_simm - exact write(2,*) h(8)/(i*10), deriv_simm, deriv_simm - exact end do stop end program deriv