Skip to content

Commit 2b3068d

Browse files
committed
parameter eval order
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
1 parent 3a2bbf4 commit 2b3068d

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

‎src/ast/rewriter/seq_rewriter.cpp‎

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4393,9 +4393,10 @@ br_status seq_rewriter::mk_str_in_regexp(expr* a, expr* b, expr_ref& result) {
43934393
expr_ref len_hd(m_autil.mk_int(re().min_length(hd)), m());
43944394
expr_ref len_a(str().mk_length(a), m());
43954395
expr_ref len_tl(m_autil.mk_sub(len_a, len_hd), m());
4396-
result = m().mk_and(m_autil.mk_ge(len_a, len_hd),
4397-
re().mk_in_re(str().mk_substr(a, zero(), len_hd), hd),
4398-
re().mk_in_re(str().mk_substr(a, len_hd, len_tl), tl));
4396+
auto ge_len = m_autil.mk_ge(len_a, len_hd);
4397+
auto prefix = re().mk_in_re(str().mk_substr(a, zero(), len_hd), hd);
4398+
auto suffix = re().mk_in_re(str().mk_substr(a, len_hd, len_tl), tl);
4399+
result = m().mk_and(ge_len, prefix, suffix);
43994400
return BR_REWRITE_FULL;
44004401
}
44014402
if (get_re_head_tail_reversed(b, hd, tl)) {
@@ -4404,10 +4405,11 @@ br_status seq_rewriter::mk_str_in_regexp(expr* a, expr* b, expr_ref& result) {
44044405
expr_ref len_a(str().mk_length(a), m());
44054406
expr_ref len_hd(m_autil.mk_sub(len_a, len_tl), m());
44064407
expr* s = nullptr;
4407-
result = m().mk_and(m_autil.mk_ge(len_a, len_tl),
4408-
re().mk_in_re(str().mk_substr(a, zero(), len_hd), hd),
4409-
(re().is_to_re(tl, s) ? m().mk_eq(s, str().mk_substr(a, len_hd, len_tl)) :
4410-
re().mk_in_re(str().mk_substr(a, len_hd, len_tl), tl)));
4408+
auto ge_len = m_autil.mk_ge(len_a, len_tl);
4409+
auto prefix = re().mk_in_re(str().mk_substr(a, zero(), len_hd), hd);
4410+
auto tail_seq = str().mk_substr(a, len_hd, len_tl);
4411+
auto tail = (re().is_to_re(tl, s) ? m().mk_eq(s, tail_seq) : re().mk_in_re(tail_seq, tl));
4412+
result = m().mk_and(ge_len, prefix, tail);
44114413
return BR_REWRITE_FULL;
44124414
}
44134415

0 commit comments

Comments
 (0)