anchor.diff:  
          write(*,903) (x(i), i = 1,n)
   
  +       ! --------------- !
  +       ! Optmality phase !
  +       ! --------------- !
  +
  +       ! Construct the linear system
  +
  +       k = 1
  +
  +       do i = 1,m
  +          call evalc(n,x,i,linrhs(i),flag)
  +          linrhs(i) = - linrhs(i)
  +
  +          call uevaljac(n,x,i,linvar(k),linval(k),jcnnz,flag)
  +          linpos(i) = k
  +
  +          k = k + jcnnz
  +       end do
  +
  +       linpos(m + 1) = k
  +
  +       ! Solve the subproblem
  +
          ! Verify convergence conditions
  +
  +       if ( hzdnorm .le. epsfeas .and. &
  +            nzdnorm .le. epsopt ) then
  +          flag = 0
  +          exit
  +       end if
  +
  +       dnorm = 0.0D0
  +       do i = 1,n
  +          dnorm = max(dnorm, abs(z(i) - zd(i)))
  +       end do
  +       
  +       if ( dnorm .le. epsopt ) then
  +          flag = 1
  +          exit
  +       end if
   
          ! ------------- !
          ! Filter Update !
  
positive.code:     external :: evalf_,evalc_,evaljac_
  
      ! LOCAL ARRAYS
      real(8) :: ffilter(MAXITER),hfilter(MAXITER),rl(n),ru(n),y(n),z(n)
  
      ! LOCAL SCALARS
      integer :: i,iter,m,nf
      real(8) :: c,cfeas,fx,fxnew,fz,hxnorm,hznorm,rinfeas
  
      iter = 1
  
  
negative.code:   ! Maximum number of iterations
    integer, parameter :: MAXITER = 2
  
    ! ARRAYS
    integer, allocatable :: linpos(:),linvar(:)
    real(8), allocatable :: linrhs(:),linval(:)
  
    ! SCALARS
    integer :: ncev,nfev,njev
  
  