@@ -218,7 +218,7 @@ where
218218 changeInt = 0
219219 or
220220 // Denominator can be sum or difference.
221- changeInt = getValueOperand ( div .getRV ( ) , findVal .getAnExpr ( ) , _) and
221+ pragma [ only_bind_into ] ( changeInt ) = getValueOperand ( div .getRV ( ) , findVal .getAnExpr ( ) , _) and
222222 mayBeReturnValue ( fn , changeInt )
223223 ) and
224224 exp = div and
@@ -236,6 +236,7 @@ where
236236 ) and
237237 (
238238 divVal = div .getRV ( ) and
239+ divFc .getArgument ( posArg ) != findVal .getAnExpr ( ) and
239240 (
240241 // Function return value can be zero.
241242 mayBeReturnZero ( fn ) and
@@ -245,13 +246,14 @@ where
245246 changeInt2 = 0
246247 or
247248 // Denominator can be sum or difference.
248- changeInt = getValueOperand ( divFc .getArgument ( posArg ) , findVal .getAnExpr ( ) , _) and
249+ pragma [ only_bind_into ] ( changeInt ) =
250+ getValueOperand ( divFc .getArgument ( posArg ) , findVal .getAnExpr ( ) , _) and
249251 mayBeReturnValue ( fn , changeInt ) and
250252 changeInt2 = 0
251253 )
252254 or
253255 // Look for a situation where the difference or subtraction is considered as an argument, and it can be used in the same way.
254- changeInt = getValueOperand ( div .getRV ( ) , divVal , _) and
256+ pragma [ only_bind_into ] ( changeInt ) = getValueOperand ( div .getRV ( ) , divVal , _) and
255257 changeInt2 = changeInt and
256258 mayBeReturnValue ( fn , changeInt ) and
257259 divFc .getArgument ( posArg ) = findVal .getAnExpr ( )
0 commit comments