@ -45,8 +45,16 @@ namespace storm { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            STORM_LOG_THROW ( this - > getModel ( ) . isClosed ( ) ,  storm : : exceptions : : InvalidPropertyException ,  " Unable to compute time-bounded reachability probabilities in non-closed Markov automaton. " ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            std : : unique_ptr < CheckResult >  rightResultPointer  =  this - > check ( pathFormula . getRightSubformula ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            ExplicitQualitativeCheckResult  const &  rightResult  =  rightResultPointer - > asExplicitQualitativeCheckResult ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            std : : vector < ValueType >  result  =  storm : : modelchecker : : helper : : SparseMarkovAutomatonCslHelper < ValueType > : : computeBoundedUntilProbabilities ( checkTask . getOptimizationDirection ( ) ,  this - > getModel ( ) . getTransitionMatrix ( ) ,  this - > getModel ( ) . getExitRates ( ) ,  this - > getModel ( ) . getMarkovianStates ( ) ,  rightResult . getTruthValuesVector ( ) ,  pathFormula . getIntervalBounds ( ) ,  * minMaxLinearEquationSolverFactory ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            double  lowerBound  =  0 ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            double  upperBound  =  0 ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if  ( ! pathFormula . hasDiscreteTimeBound ( ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                std : : pair < double ,  double >  const &  intervalBounds  =   pathFormula . getIntervalBounds ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                lowerBound  =  intervalBounds . first ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                upperBound  =  intervalBounds . second ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  else  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                upperBound  =  pathFormula . getDiscreteTimeBound ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            std : : vector < ValueType >  result  =  storm : : modelchecker : : helper : : SparseMarkovAutomatonCslHelper < ValueType > : : computeBoundedUntilProbabilities ( checkTask . getOptimizationDirection ( ) ,  this - > getModel ( ) . getTransitionMatrix ( ) ,  this - > getModel ( ) . getExitRates ( ) ,  this - > getModel ( ) . getMarkovianStates ( ) ,  rightResult . getTruthValuesVector ( ) ,  lowerBound ,  upperBound ,  * minMaxLinearEquationSolverFactory ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return  std : : unique_ptr < CheckResult > ( new  ExplicitQuantitativeCheckResult < ValueType > ( std : : move ( result ) ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }