+ "(0x101 & 0x100) == 0x100"
+
+ true_statement
+ "(0x101 | 0x10100) == 0x10101"
+
+ true_statement
+ "(0xF00F0F ^ 0xFF0F00) == 0x0F000F"
+
+ true_statement
+ "(1 << 1) == 2"
+
+ true_statement
+ "(4 >> 1) == 2"
+
+ true_statement
+ "(1 << 8) == 256"
+
+ true_statement
+ "(262144 >> 16) == 4"
+
+ true_statement
+ "(~0 & 0xffff) == 0xffff"
+
+ true_statement
+ "(~0 & 0xffffffff) == 0xffffffff"
+
+ true_statement
+ "(~0 & 0xffffffffffffffff) == 0xffffffffffffffff"
+
+ true_statement
+ "-1==~0"
+
+ true_statement # unsigned bitwise ops
+ "~0>>4==0x0fffffffffffffff"
+
+ has_no_event
+ "1<<-1"
+
+ has_no_event
+ "1<<10000"
+
+ true_statement # comparator is signed, shift is unsigned
+ "(1<<63) < 0"
+
+ true_statement
+ "(1<<2!=4)==0" # operator priority: shift before equality
+
+ true_statement
+ "1&3==1" # operator priority: masks before equality
+
+ true_statement
+ "(3|1==3)==1" # operator priority: masks before equality
+
+ true_statement
+ "(2^1==3)==1" # operator priority: masks before equality