Hi,

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.

Extract:
   support_rec(r, supportSet);
   bdd_unmark(r);

   bdd_disable_reorder();

   for (n=supportMax ; n>=supportMin ; --n)
      if (supportSet[n] == supportID)
      {
register BDD tmp;
bdd_addref(res);
tmp = bdd_makenode(n, 0, res);
bdd_delref(res);
res = tmp;
      }
   
   bdd_enable_reorder();

   return res;
}

Kind regards
Karel