anchor.diff:    double precision int,intold,sum,coef_nk,crochet,u,int_prod_bessel_large,freal,arg
     double precision dump
   
  -  double precision, allocatable :: temp_array(:)
  +  double precision, allocatable :: temp_array_a(:)
  +  double precision, allocatable :: temp_array_b(:)
   
     logical done
   
  
positive.code: 
      enddo
      
      deallocate(temp_array)
  
      int_prod_bessel=int*freal
      
      if(kcp.gt.100)then
        print*,'**WARNING** bad convergence in int_prod_bessel'
      endif
      
      return
    endif
  
  
negative.code:     done=.false.
      kcp=0
  
      allocate( temp_array_a(0:100))
      allocate( temp_array_b(0+m:200+m))
  
      do while (.not.done)  
  
        kcp=kcp+1
        sum=0.d0
  
        temp_array_a(q) = coef_nk(n,q)*(a**(n+2*q))
        temp_array_b(m+2*q) = coef_nk(m,q)*b**(m+2*q)
  
        do k=0,q
          sum=sum+temp_array_a(k)*temp_array_b(m-2*k+2*q)
        enddo
  
       int=int+sum*crochet(2*q+n+m+l,gam)
       
       if(dabs(int-intold).lt.1d-15)then
  