top.interleaved = false;
    void bdd_reorder(int method) {        BddTree top;        int savemethod = bddreordermethod;        int savetimes = bddreordertimes;        bddreordermethod = method;        bddreordertimes = 1;        if ((top = bddtree_new(-1)) != null) {            if (reorder_init() >= 0) {                                usednum_before = bddnodesize - bddfreenum;                        top.first = 0;                top.last = bdd_varnum() - 1;                top.fixed = false;                top.next = null;                top.nextlevel = vartree;                        reorder_block(top, method);                vartree = top.nextlevel;                free(top);                        usednum_after = bddnodesize - bddfreenum;                        reorder_done();                bddreordermethod = savemethod;                bddreordertimes = savetimes;            }        }    }