anchor.diff:             
              A(m,n) = I - dt*J(m,n)
           enddo
  +
  +        b(n) = xout(n)
        enddo
        
        ! solve the linear system -- we'll just use Lapack.  Note that the
        ! input X is overwritten on output
  +     call dgesv(nspec, 1, A, nspec, ipiv, b, nspec, info)
   
  -
  -     
  +     do n = 1, nspec
  +        xout(n) = b(n)
  +     enddo
  +          
        if (time + dt > tmax) then
           dt = tmax - time
        endif
  
positive.code:      dt = min(dt, Xin(n)/dXdt(n))
    enddo
  
    ! do the integration
    time = 0.0d0
    do while (time < tmax)
  
negative.code:   integer :: m, n
    
    double precision, dimension(nspec), intent(in) :: Xin
    double precision, dimension(nspec), intent(out) :: Xout
    double precision, intent(in) :: T, rho, tmax
    double precision, intent(out) :: enucdot
  
  