// expect: 1/1/1/1/7/7/2/2/4/4/7/7/8/8/4/4/-3/-3/-2/-2/3/3/-3/-3/12/12/-8/-8/87/87/-2/-2/3/3/ // first operator ^ followed by each other binary operator; operands chosen so that the two groupings differ include rt; void pn(int x) { rt.put_n(x); rt.put_c(10); } fn main() { pn(5 ^ -8 || 9); { int a = 5, b = -8, c = 9; pn(a ^ b || c); } pn(-2 ^ 5 && -3); { int a = -2, b = 5, c = -3; pn(a ^ b && c); } pn(7 ^ 4 | 4); { int a = 7, b = 4, c = 4; pn(a ^ b | c); } pn(7 ^ -1 & 5); { int a = 7, b = -1, c = 5; pn(a ^ b & c); } pn(4 ^ 4 == 6); { int a = 4, b = 4, c = 6; pn(a ^ b == c); } pn(6 ^ -8 != 12); { int a = 6, b = -8, c = 12; pn(a ^ b != c); } pn(8 ^ -1 < -1); { int a = 8, b = -1, c = -1; pn(a ^ b < c); } pn(4 ^ 2 > 5); { int a = 4, b = 2, c = 5; pn(a ^ b > c); } pn(-3 ^ 8 <= 6); { int a = -3, b = 8, c = 6; pn(a ^ b <= c); } pn(-2 ^ -8 >= 1); { int a = -2, b = -8, c = 1; pn(a ^ b >= c); } pn(3 ^ 0 << 2); { int a = 3, b = 0, c = 2; pn(a ^ b << c); } pn(2 ^ -2 >> 2); { int a = 2, b = -2, c = 2; pn(a ^ b >> c); } pn(9 ^ -2 + 7); { int a = 9, b = -2, c = 7; pn(a ^ b + c); } pn(3 ^ -8 - -3); { int a = 3, b = -8, c = -3; pn(a ^ b - c); } pn(6 ^ 9 * 9); { int a = 6, b = 9, c = 9; pn(a ^ b * c); } pn(-2 ^ -2 / -8); { int a = -2, b = -2, c = -8; pn(a ^ b / c); } pn(3 ^ 12 % -3); { int a = 3, b = 12, c = -3; pn(a ^ b % c); } return 0; }