From 2f382c791daa529ed998c35d017703d52ab46d9d Mon Sep 17 00:00:00 2001
From: weiyu <weiyuluo1232@gmail.com>
Date: Wed, 18 Dec 2019 16:05:37 -0800
Subject: [PATCH] Bug fix

---
 funcnode.cc | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/funcnode.cc b/funcnode.cc
index 26e8f59e..49a3c01d 100644
--- a/funcnode.cc
+++ b/funcnode.cc
@@ -554,10 +554,16 @@ SnapVector<struct half_pred_expr *> * half_pred_expressions)
 bool FuncNode::amend_predicate_expr(Predicate * curr_pred, FuncInst * next_inst, ModelAction * next_act)
 {
 	ModelVector<Predicate *> * children = curr_pred->get_children();
-	ASSERT(children->size() == 1);
 
-	// there should only be only child
-	Predicate * unset_pred = (*children)[0];
+	Predicate * unset_pred = NULL;
+	for (uint i = 0; i < children->size(); i++) {
+		Predicate * child = (*children)[i];
+		if (child->get_func_inst() == next_inst) {
+			unset_pred = child;
+			break;
+		}
+	}
+
 	uint64_t read_val = next_act->get_reads_from_value();
 
 	// only generate NULLITY predicate when it is actually NULL.
-- 
2.34.1