Format:
-[no-]expr-reductionenable/disable expression reduction
Default: enabled
Purpose: eliminate or refactor many simple operations and identities:
x +/- 0 --> x
x - 0 --> x
0 - x --> -x
x - x --> 0
x * 0 --> 0
x * 1 --> x
x * (-1) --> -x
x / 1 --> x
0 / x --> 0
x / (-1) --> -x
x % 0 --> 0
x % 1 --> 0
x < 0, x unsigned --> 0
x <= 0, x unsigned --> x == 0
x >=0, x unsigned --> 1
x > 0, x unsigned --> x != 0
x & 0 --> 0
x & x --> x
x | 0 --> x
x | x --> x
x ^ 0 --> x
x ^ x --> 0
-x, x is single bit --> x
0 << x --> 0
x << 0 --> x
x << C, where C is >= bit size of x --> x