anchor.diff:  real(kind=8), parameter :: pi = 4.d0*DATAN(1.d0)
   real(kind=8), parameter :: ev2h = 1.D0/27.21138505D0
   integer(kind=4), parameter :: nkpoints = 61
  -integer(kind=4), parameter :: iunt = 10
  +integer(kind=4), parameter :: iunt = 10, ilog = 11
   character(len=3), parameter :: version_number = '1.0'
   
   real(kind=8) :: get_next_eigeval, get_2nd_deriv, get_mixed_deriv1
  
positive.code: ! (b):
  call DSYEV( 'V', 'U', 3, m, 3, b, WORK, size(WORK), ok )
  if (ok .eq. 0) then
      write(*,*) "Principle effective masses and directions:"
      do i=1, 3
          write(*,"(A25,F10.2)") "Effective mass:", 1.0D0/b(i)
          write(*,"(A25,3F10.6)") "Cartesian coordinate:", (m(j,i), j=1,3)
          v = real_cart2fract(f, m(i,:))
          call normal(v,3)
          write(*,"(A25,3F10.3)") "Direct lattice vectors:", (v(j), j=1,3)
      end do
  else
      write (*,*) "INFO from DGEEV: ", ok
  endif
  
  end program
  
negative.code: integer(kind=4) :: itrash, count, nbands, band, A(4)
  character(len=1) :: prg
  external :: DSYEV
  
  open(unit=ilog,file='emc_calc.log',form='formatted')
  write(ilog,*) "Effective Mass Calculator calculator ", version_number
  write(ilog,*)
  
  ! read input ########################################################
  
  