if (hiStack.isEmpty()) return false; r = (BDD) hiStack.getLast();
if (hiStack.isEmpty()) { return false; } r = (BDD) hiStack.removeLast();
        private boolean gotoNext() {            BDD r;            for (;;) {                boolean lo_empty = loStack.isEmpty();                if (lo_empty) {                    if (hiStack.isEmpty()) return false;                    r = (BDD) hiStack.getLast();                } else {                    r = (BDD) loStack.getLast();                }                int LEVEL_r = r.level();                allsatProfile[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[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);            }        }