Hi, In PRE, function compute_antic_aux uses bitmap_set_subtract to compute value/expression set subtraction.
The comment of bitmap_set_subtract says it subtracts all the values and expressions contained in ORIG from DEST. But the implementation as following --------------------------------------------------- static bitmap_set_t bitmap_set_subtract (bitmap_set_t dest, bitmap_set_t orig) { bitmap_set_t result = bitmap_set_new (); bitmap_iterator bi; unsigned int i; bitmap_and_compl (&result->expressions, &dest->expressions, &orig->expressions); FOR_EACH_EXPR_ID_IN_SET (result, i, bi) { pre_expr expr = expression_for_id (i); unsigned int value_id = get_expr_value_id (expr); bitmap_set_bit (&result->values, value_id); } return result; } Does it just subtract the expressions, rather than values. And It resets values according to the resulting expression. I am a little confused here. Any explanation? Thanks very much. -- Best Regards.