uint8 ok1 = 250; int ok2 = 0; /* ERRORS */ uint8 aa = 100 + 200 + 50; uint8 ab = ok1 + 6; uint8 ac = ok1 - 251; uint8 ad = (0xe bitxor 0x1) << 5; int8 ba = 120 + 8; int8 bb = (0 - 1) + -128; /* ERRORS */ uint16 da = 65534 + 2; uint16 db = 10 + 1 - 12; int16 ea = 32766 + 2; int16 eb = -32767 - 2; int16 ec = (-32768 + 1) - 2; /* ERRORS */ uint32 ha = 4294967294 + 2; uint32 hb = 4294967295 - 1234567890 - 3060399406; int32 ia = 2147483646 + 2; int32 ib = -2 - 2147483647; int32 ic = -2 + (1 -2147483648); /* ERRORS */ uint64 la = 1 + 18446744073709551615; uint64 lb = 0x9fffffffffffffff << 1; int64 ma = 2 + (9223372036854775807 - 1); int64 mb = ((-9223372036854775808 + 0) + 1) - 2; /* ERRORS */ uint16 shifted1 = (340282366920938463463374607431768211455 >> 111 as uint128) typeassert uint16; uint16 shifted2 = 0x00000000000000000000000000000001 << 16; uint32 toobig1 = 18446744073709551615 as uint64 typeassert uint32; uint32 toobig2 = 4294967296 as uint64 typeassert uint32;