include 'COMMON.VAR'
include 'COMMON.GEO'
include 'COMMON.MINIM'
+ include 'COMMON.CONTROL'
common /srutu/ icall
dimension iv(liv)
double precision minval,x(maxvar),d(maxvar),v(1:lv),xx(maxvar)
c call chainbuild
c call etotal(energia(0))
c etot = energia(0)
+c icheckgrad=3
+c call exec_checkgrad
IF (mask_r) THEN
call x2xx(x,xx,nvar_restr)
call sumsl(nvar_restr,d,xx,func_restr,grad_restr,
ELSE
call sumsl(nvar,d,x,func,gradient,iv,liv,lv,v,idum,rdum,fdum)
ENDIF
+c icheckgrad=3
+c call exec_checkgrad
etot=v(10)
iretcode=iv(1)
cd print *,'Exit SUMSL; return code:',iretcode,' energy:',etot
enddo
endif
enddo
+ print *,"check_ecart before sumsl"
+c icheckgrad=2
+c call exec_checkgrad
call sumsl(k,d,x,func_dc,grad_dc,iv,liv,lv,v,idum,rdum,fdum)
etot=v(10)
iretcode=iv(1)
nfun=iv(6)
+ print *,"check_ecart"
+c icheckgrad=2
+c call exec_checkgrad
return
end