@@ -185,7 +185,9 @@ def get_input_expression(var_line, inputs):
185185 return [comparison_line ]
186186
187187 def get_bvdd_node_expression (sid_line , bvdd , sbdd , index = 0 ):
188- if isinstance (bvdd , bool ) or isinstance (bvdd , int ):
188+ if bvdd is None :
189+ return None
190+ elif isinstance (bvdd , bool ) or isinstance (bvdd , int ):
189191 return Constd (btor2 .Parser .next_nid (), sid_line , int (bvdd ),
190192 "domain-propagated value" , 0 )
191193 elif bvdd .is_dont_care ():
@@ -205,9 +207,12 @@ def get_bvdd_node_expression(sid_line, bvdd, sbdd, index = 0):
205207 if sbdd :
206208 assert 0 <= inputs < 256
207209 inputs = 2 ** inputs
210+ output_line = Values .get_bvdd_node_expression (sid_line , output , sbdd , index + 1 )
211+ if output_line is None :
212+ continue
208213 exp_line = Ite (btor2 .Parser .next_nid (), sid_line ,
209214 Values .get_input_expression (var_line , inputs )[0 ],
210- Values . get_bvdd_node_expression ( sid_line , output , sbdd , index + 1 ) ,
215+ output_line ,
211216 exp_line ,
212217 var_line .comment , var_line .line_no )
213218 return exp_line
0 commit comments