anchor.diff:    integer, intent(in) :: ix
     integer, intent(in) :: n
     
  -  real(kind=fPrec) xx, yy, rr, frr, tmpBB, epsilon, gteps, lteps, r1oSigSq, rroSigSq
  -  integer          jj
  +  real(kind=fPrec) xx, yy, rr, frr, tmpBB, epsilon, gteps, lteps, r1oSigSq, rroSigSq, cl2ori
  +  integer          jj, mPoints
   
     epsilon=c1m15
     gteps=one+epsilon
     lteps=one-epsilon
  +  cl2ori=c1m7
   
     ! for Gaussian distribution, prepare some useful numbers
     r1oSigSq=zero
  
positive.code:         case (3)
            ! RADIAL PROFILE: eLens with radial profile as from file
            ! formula: (cumul_J(r)-cumul_J(r1))/(cumul_J(r2)-cumul_J(r1))*Rref/r
            frr=polinterp( rr, &
                  elens_radial_profile_R(0:elens_radial_profile_nPoints(elens_iRadial(ielens(ix))),elens_iRadial(ielens(ix))), &
                  elens_radial_profile_J(0:elens_radial_profile_nPoints(elens_iRadial(ielens(ix))),elens_iRadial(ielens(ix))), &
                  elens_radial_profile_nPoints(elens_iRadial(ielens(ix)))+1, &
                  elens_radial_mpoints(ielens(ix)), elens_radial_jguess(ielens(ix)) )-elens_radial_fr1(ielens(ix))
            frr=(frr/elens_geo_norm(ielens(ix)))*(elens_rref(ielens(ix))/rr)
             
          case default
  
negative.code:         iRadial=elens_iRadial(iLens)
          nPoints=elens_radial_profile_nPoints(iRadial)
          mPoints=elens_radial_mpoints(iLens)
          if ( elens_lFull(iLens) .and. RRA <= cl2ori ) then
            if (st_debug) write(lout,'(a,6(1X,i5))') "ELENS> ELENS_KICK_FOX: forcing mPoints to:", elens_radial_mpoints_ori
            mPoints=elens_radial_mpoints_ori
          end if
          nBin=huntBin(RRA,elens_radial_profile_R(0:nPoints,iRadial),nPoints+1,-1)-1
          kMin=min(max(nBin-(mPoints-1)/2,1),nPoints+2-mPoints)
          kMax=min(kMin+mPoints-1,nPoints+1)
  