for (int v = rn.level() - 1; v > LEVEL_r; --v) {
int v = rn.isOne()||rn.isZero() ? f.varNum() - 1 : rn.level() - 1; for ( ; v > LEVEL_r; --v) {
        private boolean gotoNext() {            BDD r;            for (;;) {                boolean lo_empty = loStack.isEmpty();                if (lo_empty) {                    if (hiStack.isEmpty()) {                        return false;                    }                    r = (BDD) hiStack.removeLast();                } else {                    r = (BDD) loStack.removeLast();                }                int LEVEL_r = r.level();                allsatProfile[useLevel?LEVEL_r:f.level2Var(LEVEL_r)] =                    lo_empty ? (byte)1 : (byte)0;                BDD rn = lo_empty ? r.high() : r.low();                for (int v = rn.level() - 1; v > LEVEL_r; --v) {                    allsatProfile[useLevel?v:f.level2Var(v)] = -1;                }                if (!lo_empty) {                    hiStack.addLast(r);                } else {                    r.free();                }                if (rn.isOne()) {                    rn.free();                    return true;                }                if (rn.isZero()) {                    rn.free();                    continue;                }                loStack.addLast(rn);            }        }