Is it possible that the bdd_disable_reorder() in bdd_support() in bddop.c should happen before support_rec()?
Because, support_rec stores the levels of all the variables of the bdd in supportSet. And it's probably bad if those levels change before the support BDD is constructed.
for (n=supportMax ; n>=supportMin ; --n)
if (supportSet[n] == supportID)
register BDD tmp;
tmp = bdd_makenode(n, 0, res);
res = tmp;