anchor.diff:  !---------------------------
   
         integer Np
  -      double precision aTF,dP,N_am,rho_min,rho_Max,u1,avrrho
  -      double precision x_i,Ueff,pv,Et,Ec,x_min,x_Max,nuc_cl_l
  -      double precision xminU,Umin
  +      real(kind=fPrec) aTF,dP,N_am,rho_min,rho_Max,u1,avrrho
  +      real(kind=fPrec) x_i,Ueff,pv,Et,Ec,x_min,x_Max,nuc_cl_l
  +      real(kind=fPrec) xminU,Umin
   
         common/dech/aTF,dP,u1
   
  -      double precision rho(4),z(4),Ime(4)
  -      double precision k,re,me,mp
  -      double precision anuc_cry2(4)
  -      double precision emr_cry(4)
  +      real(kind=fPrec) rho(4),z(4),Ime(4)
  +      real(kind=fPrec) k,re,me,mp
  +      real(kind=fPrec) anuc_cry2(4)
  +      real(kind=fPrec) emr_cry(4)
   
         common/ion/rho,z,Ime,k,re,me,mp,anuc_cry2,emr_cry
   
  -      double precision csref_tot_rsc,csref_inel_rsc
  +      real(kind=fPrec) csref_tot_rsc,csref_inel_rsc
   
   !-------daniele--------------
   ! adding new variables to study the energy loss when the routine is called
   !---------------------------
   
   
  -      double precision PC_in_dan     !daniele
  +      real(kind=fPrec) PC_in_dan     !daniele
         integer PROC_dan    !daniele
  -      double precision xp_in,yp_in,kxmcs,kymcs
  +      real(kind=fPrec) xp_in,yp_in,kxmcs,kymcs
   
         write(*,*) "Entering MOVE_CH"
   !      write(*,*) "angles before channeling (x,y):", xp, yp
  
positive.code:       common/ruth_scat_cry/tlcut_cry,hcut_cry
        common/ruth_scat_cry/cgen_cry,mcurr_cry
  
        double precision ruth_cry,t_cry
        double precision cnorm,cnform
        parameter(cnorm=2.607d-4,cnform=0.8561d3)
  !      parameter(cnorm=2.607d-5,cnform=0.8561d3) !daniele: corrected constant
  !c      write(6,'('' t,exp'',2e15.8)')t,t*cnform*EMr(mcurr)**2
  
negative.code: 
  ! For calculation of dechanneling length
  
        real(kind=fPrec) aTF,dP,u1
  
        common/dech/aTF,dP,u1
  
  