@@ -218,7 +218,7 @@ where
218
218
changeInt = 0
219
219
or
220
220
// 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
222
222
mayBeReturnValue ( fn , changeInt )
223
223
) and
224
224
exp = div and
@@ -236,6 +236,7 @@ where
236
236
) and
237
237
(
238
238
divVal = div .getRV ( ) and
239
+ divFc .getArgument ( posArg ) != findVal .getAnExpr ( ) and
239
240
(
240
241
// Function return value can be zero.
241
242
mayBeReturnZero ( fn ) and
@@ -245,13 +246,14 @@ where
245
246
changeInt2 = 0
246
247
or
247
248
// 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
249
251
mayBeReturnValue ( fn , changeInt ) and
250
252
changeInt2 = 0
251
253
)
252
254
or
253
255
// 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
255
257
changeInt2 = changeInt and
256
258
mayBeReturnValue ( fn , changeInt ) and
257
259
divFc .getArgument ( posArg ) = findVal .getAnExpr ( )
0 commit comments