anchor.diff:  		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
  
positive.code: 		
  		f = func(x)
  		
  		IF (alam < alamin) THEN
  
  			x(:) = xold(:)
  
negative.code: !------------------------------------------------------------------------------
  ! Algorithm
  !------------------------------------------------------------------------------
  
  	fp = func(p)
  	g = dfunc(p)
  	
  