anchor.diff:  
   
   function hankel1v_complex(order, z) result(res)
  -    implicit none
       real(dp), intent(in) :: order
       complex(dp), intent(in) :: z
       complex(dp) :: res
   
       integer, parameter :: scaling=1, length=1, hankelkind=1
  -    real(dp) :: resReal(length), resImag(length)
  +    real(dp) :: resReal(length), resImag(length), callorder
       integer :: underflows, ierr
   
  -    call zbesh(real(z), aimag(z), order, scaling, hankelkind, length, resReal, resImag, underflows, ierr)
  +    callorder = abs(order)
  +
  +    call zbesh(real(z), aimag(z), callorder, scaling, hankelkind, length, resReal, resImag, underflows, ierr)
       if(ierr > 0) then
           if(ierr == 1) then
               print *, "IERR=1, INPUT ERROR - NO COMPUTATION"
  
positive.code:         endif
          call stop_error("besselj: zbesj error")
      endif
      res = cmplx(resReal(1), resImag(1), kind=dp)
  end function besseljv_complex
  
  
  function besselyn_real(order, x) result(res)
      implicit none
      integer, intent(in) :: order
      real(dp), intent(in) :: x
      real(dp) :: res
  
negative.code: 
  
  function hankel2v_complex(order, z) result(res)
      real(dp), intent(in) :: order
      complex(dp), intent(in) :: z
      complex(dp) :: res
  
      integer, parameter :: scaling=1, length=1, hankelkind=2
      real(dp) :: resReal(length), resImag(length), callorder
      integer :: underflows, ierr
  
      callorder = abs(order)
  
      call zbesh(real(z), aimag(z), callorder, scaling, hankelkind, length, resReal, resImag, underflows, ierr)
      if(ierr > 0) then
          if(ierr == 1) then
              print *, "IERR=1, INPUT ERROR - NO COMPUTATION"
  