diff --git a/src/tgbaalgos/powerset.cc b/src/tgbaalgos/powerset.cc
index ca257cf00..50ca8bbad 100644
--- a/src/tgbaalgos/powerset.cc
+++ b/src/tgbaalgos/powerset.cc
@@ -21,7 +21,6 @@
// along with this program. If not, see .
#include
-#include
#include
#include
#include "powerset.hh"
@@ -46,7 +45,7 @@ namespace spot
{
typedef power_map::power_state power_state;
typedef std::map power_set;
- typedef std::deque todo_list;
+ typedef std::vector todo_list;
power_set seen;
todo_list todo;
@@ -63,12 +62,12 @@ namespace spot
while (!todo.empty())
{
- power_state src = todo.front();
- todo.pop_front();
+ power_state src = todo.back();
+ todo.pop_back();
// Compute all variables occurring on outgoing arcs.
bdd all_vars = bddtrue;
for (auto s: src)
- for (auto i: aut->out(s))
+ for (auto& i: aut->out(s))
all_vars &= bdd_support(i.cond);
bdd all_conds = bddtrue;