|  | @ -895,7 +895,6 @@ namespace storm { | 
		
	
		
			
				|  |  |                     if (action.isInputEnabled()) { |  |  |                     if (action.isInputEnabled()) { | 
		
	
		
			
				|  |  |                         // If the action is input-enabled, we add self-loops to all states.
 |  |  |                         // If the action is input-enabled, we add self-loops to all states.
 | 
		
	
		
			
				|  |  |                         transitions *= actionGuard.ite(action.transitions, encodeIndex(0, action.getLowestLocalNondeterminismVariable(), action.getHighestLocalNondeterminismVariable() - action.getLowestLocalNondeterminismVariable(), this->variables) * actionIdentityPair.second); |  |  |                         transitions *= actionGuard.ite(action.transitions, encodeIndex(0, action.getLowestLocalNondeterminismVariable(), action.getHighestLocalNondeterminismVariable() - action.getLowestLocalNondeterminismVariable(), this->variables) * actionIdentityPair.second); | 
		
	
		
			
				|  |  |                         actionGuard.ite(action.transitions, encodeIndex(0, action.getLowestLocalNondeterminismVariable(), action.getHighestLocalNondeterminismVariable() - action.getLowestLocalNondeterminismVariable(), this->variables) * actionIdentityPair.second).exportToDot("this.dot"); |  |  |  | 
		
	
		
			
				|  |  |                     } else { |  |  |                     } else { | 
		
	
		
			
				|  |  |                         transitions *= action.transitions; |  |  |                         transitions *= action.transitions; | 
		
	
		
			
				|  |  |                     } |  |  |                     } | 
		
	
	
		
			
				|  | @ -1107,7 +1106,8 @@ namespace storm { | 
		
	
		
			
				|  |  |                     } |  |  |                     } | 
		
	
		
			
				|  |  |                      |  |  |                      | 
		
	
		
			
				|  |  |                     // Add the source location and the guard.
 |  |  |                     // Add the source location and the guard.
 | 
		
	
		
			
				|  |  |                     transitions *= this->variables.manager->getEncoding(this->variables.automatonToLocationDdVariableMap.at(automaton.getName()).first, edge.getSourceLocationIndex()).template toAdd<ValueType>() * guard; |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                     storm::dd::Add<Type, ValueType> sourceLocationAndGuard = this->variables.manager->getEncoding(this->variables.automatonToLocationDdVariableMap.at(automaton.getName()).first, edge.getSourceLocationIndex()).template toAdd<ValueType>() * guard; | 
		
	
		
			
				|  |  |  |  |  |                     transitions *= sourceLocationAndGuard; | 
		
	
		
			
				|  |  |                      |  |  |                      | 
		
	
		
			
				|  |  |                     // If we multiply the ranges of global variables, make sure everything stays within its bounds.
 |  |  |                     // If we multiply the ranges of global variables, make sure everything stays within its bounds.
 | 
		
	
		
			
				|  |  |                     if (!globalVariablesInSomeDestination.empty()) { |  |  |                     if (!globalVariablesInSomeDestination.empty()) { | 
		
	
	
		
			
				|  | @ -1124,7 +1124,9 @@ namespace storm { | 
		
	
		
			
				|  |  |                     // Finally treat the transient assignments.
 |  |  |                     // Finally treat the transient assignments.
 | 
		
	
		
			
				|  |  |                     std::map<storm::expressions::Variable, storm::dd::Add<Type, ValueType>> transientEdgeAssignments; |  |  |                     std::map<storm::expressions::Variable, storm::dd::Add<Type, ValueType>> transientEdgeAssignments; | 
		
	
		
			
				|  |  |                     if (!this->transientVariables.empty()) { |  |  |                     if (!this->transientVariables.empty()) { | 
		
	
		
			
				|  |  |                         performTransientAssignments(edge.getAssignments().getTransientAssignments(), [this, &transientEdgeAssignments, &guard] (storm::jani::Assignment const& assignment) { transientEdgeAssignments[assignment.getExpressionVariable()] = guard * this->variables.rowExpressionAdapter->translateExpression(assignment.getAssignedExpression()); } ); |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                         performTransientAssignments(edge.getAssignments().getTransientAssignments(), [this, &transientEdgeAssignments, &guard, &sourceLocationAndGuard] (storm::jani::Assignment const& assignment) { | 
		
	
		
			
				|  |  |  |  |  |                             transientEdgeAssignments[assignment.getExpressionVariable()] = sourceLocationAndGuard * this->variables.rowExpressionAdapter->translateExpression(assignment.getAssignedExpression()); | 
		
	
		
			
				|  |  |  |  |  |                         } ); | 
		
	
		
			
				|  |  |                     } |  |  |                     } | 
		
	
		
			
				|  |  |                      |  |  |                      | 
		
	
		
			
				|  |  |                     return EdgeDd(isMarkovian, guard, guard * transitions, transientEdgeAssignments, globalVariablesInSomeDestination); |  |  |                     return EdgeDd(isMarkovian, guard, guard * transitions, transientEdgeAssignments, globalVariablesInSomeDestination); | 
		
	
	
		
			
				|  | 
 |