@ -580,8 +580,6 @@ namespace storm { 
			
		
	
		
			
				
					            bool  converged  =  false ;  
			
		
	
		
			
				
					            bool  terminate  =  false ;  
			
		
	
		
			
				
					            uint64_t  iterations  =  0 ;  
			
		
	
		
			
				
					            bool  doConvergenceCheck  =  true ;  
			
		
	
		
			
				
					            bool  useDiffs  =  this - > hasRelevantValues ( ) ;  
			
		
	
		
			
				
					            ValueType  precision  =  storm : : utility : : convertNumber < ValueType > ( env . solver ( ) . native ( ) . getPrecision ( ) ) ;  
			
		
	
		
			
				
					            ValueType  lowerValueBound ,  upperValueBound ;  
			
		
	
		
			
				
					            bool  relative  =  env . solver ( ) . native ( ) . getRelativeTerminationCriterion ( ) ;  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -590,25 +588,25 @@ namespace storm { 
			
		
	
		
			
				
					            }  
			
		
	
		
			
				
					            uint64_t  maxIter  =  env . solver ( ) . native ( ) . getMaximalNumberOfIterations ( ) ;  
			
		
	
		
			
				
					            this - > startMeasureProgress ( ) ;  
			
		
	
		
			
				
					            auto  firstProb1EntryIt  =  stepBoundedStayProbabilities - > begin ( ) ;  
			
		
	
		
			
				
					            uint64_t  firstProb1Entry  =  0 ;  
			
		
	
		
			
				
					            while  ( ! converged  & &  ! terminate  & &  iterations  <  maxIter )  {  
			
		
	
		
			
				
					                this - > multiplier . multAdd ( * this - > A ,  * stepBoundedValues ,  & b ,  * tmp ) ;  
			
		
	
		
			
				
					                std : : swap ( tmp ,  stepBoundedValues ) ;  
			
		
	
		
			
				
					                this - > multiplier . multAdd ( * this - > A ,  * stepBoundedStayProbabilities ,  nullptr ,  * tmp ) ;  
			
		
	
		
			
				
					                std : : swap ( tmp ,  stepBoundedStayProbabilities ) ;  
			
		
	
		
			
				
					                for  ( ;  firstProb1EntryIt   ! =  stepBoundedStayProbabilities - > end  ( ) ;  + + firstProb1EntryIt  )  {  
			
		
	
		
			
				
					                for  ( ;  firstProb1Entry  ! =  stepBoundedStayProbabilities - > siz e( ) ;  + + firstProb1Entry )  {  
			
		
	
		
			
				
					                    static_assert ( NumberTraits < ValueType > : : IsExact  | |  std : : is_same < ValueType ,  double > : : value ,  " Considered ValueType not handled. " ) ;  
			
		
	
		
			
				
					                    if  ( NumberTraits < ValueType > : : IsExact )  {  
			
		
	
		
			
				
					                        if  ( storm : : utility : : isOne ( * firstProb1EntryIt ) )  {  
			
		
	
		
			
				
					                        if  ( storm : : utility : : isOne ( stepBoundedStayProbabilities - > at ( firstProb1Entry ) ) )  {  
			
		
	
		
			
				
					                            break ;  
			
		
	
		
			
				
					                        }  
			
		
	
		
			
				
					                    }  else  {  
			
		
	
		
			
				
					                        if  ( storm : : utility : : isAlmostOne ( storm : : utility : : convertNumber < double > ( * firstProb1EntryIt ) ) )  {  
			
		
	
		
			
				
					                        if  ( storm : : utility : : isAlmostOne ( storm : : utility : : convertNumber < double > ( stepBoundedStayProbabilities - > at ( firstProb1Entry ) ) ) )  {  
			
		
	
		
			
				
					                            break ;  
			
		
	
		
			
				
					                        }  
			
		
	
		
			
				
					                    }  
			
		
	
		
			
				
					                }  
			
		
	
		
			
				
					                if  ( firstProb1EntryIt   = =  stepBoundedStayProbabilities - > end  ( ) )  {  
			
		
	
		
			
				
					                if  ( firstProb1Entry  = =  stepBoundedStayProbabilities - > siz e( ) )  {  
			
		
	
		
			
				
					                    auto  valIt  =  stepBoundedValues - > begin ( ) ;  
			
		
	
		
			
				
					                    auto  valIte  =  stepBoundedValues - > end ( ) ;  
			
		
	
		
			
				
					                    auto  probIt  =  stepBoundedStayProbabilities - > begin ( ) ;  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -625,6 +623,7 @@ namespace storm { 
			
		
	
		
			
				
					                    }  
			
		
	
		
			
				
					                    STORM_LOG_ASSERT ( ! relative ,  " Relative termination criterion not implemented currently. " ) ;  
			
		
	
		
			
				
					                    converged  =  largestStayProb  *  ( upperValueBound  -  lowerValueBound )  <  precision ;  
			
		
	
		
			
				
					                    STORM_LOG_INFO_COND ( ! converged ,  " Lower value bound:  "  < <  lowerValueBound  < <  "  Upper value bound:  "  < <  upperValueBound  < <  "  Largest stay prob.:  "  < <  largestStayProb ) ;  
			
		
	
		
			
				
					                }  
			
		
	
		
			
				
					                 
			
		
	
		
			
				
					                // Potentially show progress.