anchor.diff:  		
   		f = func(x)
   		
  +		IF (num_eval == maxfun) RETURN
  +
  +
   		IF (alam < alamin) THEN
   
   			x(:) = xold(:)
  
positive.code: !------------------------------------------------------------------------------
  ! Algorithm
  !------------------------------------------------------------------------------
  	
  	fp = func(p)
  	g = dfunc(p)
  	
  
negative.code: 		iter = its
  
  		CALL lnsrch(p, fp, g, xi, pnew, fret, stpmax, check, func)
  
  		IF (num_eval == maxfun) THEN
  
  			success = .False.
  			message = 'Maximum number of evaluations reached.'
  
  			RETURN
  
  		END IF
  
  		fp = fret		
  		xi = pnew - p
  