41     if (clause->getExecutionPlan() != 
nullptr) {
 
   46     std::vector<unsigned int> newOrdering = sips.getReordering(clause);
 
   49     bool changeNeeded = 
false;
 
   50     for (
unsigned int i = 0; 
i < newOrdering.size(); 
i++) {
 
   51         if (newOrdering[
i] != 
i) {
 
   57     return changeNeeded ? 
reorderAtoms(clause, newOrdering) : nullptr;
 
   68     std::string sipsChosen = 
"all-bound";
 
   75     std::vector<Clause*> clausesToRemove;
 
   79         if (newClause != 
nullptr) {
 
   81             clausesToRemove.push_back(clause);
 
   86     changed |= !clausesToRemove.empty();
 
   87     for (
auto* clause : clausesToRemove) {
 
   97         std::vector<Clause*> clausesToRemove;
 
  100             if (newClause != 
nullptr) {
 
  102                 clausesToRemove.push_back(clause);
 
  103                 program.
addClause(Own<Clause>(newClause));
 
  107         changed |= !clausesToRemove.empty();
 
  108         for (
auto* clause : clausesToRemove) {