1typedef	  signed int	sint;
2typedef	unsigned int	uint;
3
4sint seq(sint p, sint a) { return (123 == p) == (p == 123); }
5sint sne(sint p, sint a) { return (123 != p) == (p != 123); }
6
7sint slt(sint p, sint a) { return (123 >  p) == (p <  123); }
8sint sle(sint p, sint a) { return (123 >= p) == (p <= 123); }
9sint sge(sint p, sint a) { return (123 <= p) == (p >= 123); }
10sint sgt(sint p, sint a) { return (123 <  p) == (p >  123); }
11
12uint ueq(uint p, uint a) { return (123 == p) == (p == 123); }
13uint une(uint p, uint a) { return (123 != p) == (p != 123); }
14
15uint ubt(uint p, uint a) { return (123 >  p) == (p <  123); }
16uint ube(uint p, uint a) { return (123 >= p) == (p <= 123); }
17uint uae(uint p, uint a) { return (123 <= p) == (p >= 123); }
18uint uat(uint p, uint a) { return (123 <  p) == (p >  123); }
19
20/*
21 * check-name: canonical-cmp
22 * check-description: check that constants move rightside
23 * check-command: test-linearize -Wno-decl $file
24 *
25 * check-output-ignore
26 * check-output-excludes: \\$123,
27 */
28