In reply to amir_sharfu:
A dist constraint also behaves like a set membership inside operator constraint. The value on the LHS must be in the set of values on the RHS.
In your second constraint, the set of values on the RHS are 0 and 1, and the possible values on the LHS expression can only be 0 or 1. So this constraint does not constrain any values, just affects their distribution.
In your first constraint, the expressions on the RHS can only result in a 0 or 1, so that means the value on the LHS is constraint to only be 0 or 1. So addr can only be 0 or 1. It's distribution does not make any sense.