00001 
00002 
00003 
00004 
00005 
00006 
00007 subroutine sphbess_dx(x,l,dxsj,dxsy)
00008   implicit none
00009   real(8) :: x, dxsj, dxsy
00010   integer :: l
00011   real(8) :: rtpi2 = 1.253314154753822d0
00012   real(8) :: xnu, xrj, xry, xrjp, xryp
00013   real(8) :: oneover2x, rtpi2overx
00014 
00015   xnu = dble(l) + 0.5d0
00016   call bessjy(x,xnu,xrj,xry,xrjp,xryp)
00017   oneover2x = 0.5d0/x
00018   rtpi2overx = rtpi2/sqrt(x)
00019   dxsj = rtpi2overx*(xrjp - oneover2x*xrj)
00020   dxsy = rtpi2overx*(xryp - oneover2x*xry)
00021 end subroutine sphbess_dx