anchor.diff:  			    !IWORK_OUTPT = IWORK
   			    !RWORK_OUTPT = RWORK
   			    TOTALREACTIONFLUX_OUTPT = TOTALREACTIONFLUX
  -			    PRUNEVEC_OUTPT = PRUNEVEC
  +			    CORESTORED = 1
   			END IF
   		END IF
               GO TO 1
  
positive.code: 	 &     LINDEREACTIONRATEARRAY, LINDEREACTIONARRAY
  
        INTEGER  INFO(30), LIW, LRW, IWORK(41 + NSTATE), IPAR(1),IDID, iter, &
       &     IMPSPECIES, conc, ITER_OUTPT, IWORK_OUTPT(41 + NSTATE), COPYQ
        DOUBLE PRECISION Y(NSTATE), YPRIME(NSTATE), Time, TOUT, RTOL, ATOL &
       &     , RWORK(51 + 9*NSTATE + NSTATE**2), TARGETCONC, Y_OUTPT(NSTATE) &
       &     , YPRIME_OUTPT(NSTATE), TIME_OUTPT  &
       &     , RWORK_OUTPT(51 + 9*NSTATE + NSTATE**2)
       INTEGER PRUNEVEC(ESPECIES),PRUNEVEC_OUTPT(ESPECIES)
  
        DOUBLE PRECISION RPAR(REACTIONSIZE+THIRDBODYREACTIONSIZE+ &
       &     TROEREACTIONSIZE+LINDEREACTIONSIZE),&
  
negative.code: 	! 4/24/08 gmagoon: call EdgeFlux if AUTOFLAG is 1 to
  	! determine EDGEFLAG 
  		IF (AUTOFLAG.eq.1) THEN
  			CALL EDGEFLUX(EDGEFLAG,EDGEFLAGCORE,Y, YPRIME,THRESH,CORETHRESH,ESPECIES, &
      		 &     EREACTIONSIZE,NEREAC,NEPROD,IDEREAC,IDEPROD,KVEC, &
  		 &     MAXRATIO,PRUNEVEC,NSTATE)
  		 	!update HIGHESTRATIO
  			DO I=1, ESPECIES
  			    IF (MAXRATIO(I) .GT. HIGHESTRATIO) THEN
  				HIGHESTRATIO = MAXRATIO(I)
  			    END IF
  			END DO
  			!when core flux threshold is exceeded for the first time, store the values for output
  			IF(EDGEFLAGCORE .GT. 0 .AND. CORESTORED .EQ. -1) THEN
  			    ITER_OUTPT=ITER
  			    TIME_OUTPT=TIME
  			    Y_OUTPT = Y
  