diff --git a/test/ikc3/integer_band.out.expected b/test/ikc3/integer_band.out.expected
index b776081..1da02cd 100644
--- a/test/ikc3/integer_band.out.expected
+++ b/test/ikc3/integer_band.out.expected
@@ -4,33 +4,33 @@
-170141183460469231731687303715884105728
-170141183460469231731687303715884105728 & -9223372036854775808
-170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & (S64) -9223372036854775807
+-170141183460469231731687303715884105728 & -9223372036854775807
-170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & (S64) -2147483648
+-170141183460469231731687303715884105728 & -2147483648
-170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & (S32) -2147483647
+-170141183460469231731687303715884105728 & -2147483647
-170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & (S32) -32768
+-170141183460469231731687303715884105728 & -32768
-170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & (S16) -32767
+-170141183460469231731687303715884105728 & -32767
-170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & (S16) -128
+-170141183460469231731687303715884105728 & -128
-170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & (S8) -127
+-170141183460469231731687303715884105728 & -127
-170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & (U8) 255
+-170141183460469231731687303715884105728 & 255
0
--170141183460469231731687303715884105728 & (U16) 256
+-170141183460469231731687303715884105728 & 256
0
--170141183460469231731687303715884105728 & (U16) 65535
+-170141183460469231731687303715884105728 & 65535
0
--170141183460469231731687303715884105728 & (U32) 65536
+-170141183460469231731687303715884105728 & 65536
0
--170141183460469231731687303715884105728 & (U32) 4294967295
+-170141183460469231731687303715884105728 & 4294967295
0
--170141183460469231731687303715884105728 & (U64) 4294967296
+-170141183460469231731687303715884105728 & 4294967296
0
--170141183460469231731687303715884105728 & (U64) 18446744073709551615
+-170141183460469231731687303715884105728 & 18446744073709551615
0
-170141183460469231731687303715884105728 & 18446744073709551616
0
@@ -44,33 +44,33 @@
-170141183460469231731687303715884105727
-170141183460469231731687303715884105727 & -9223372036854775808
-170141183460469231731687303715884105728
--170141183460469231731687303715884105727 & (S64) -9223372036854775807
+-170141183460469231731687303715884105727 & -9223372036854775807
-170141183460469231731687303715884105727
--170141183460469231731687303715884105727 & (S64) -2147483648
+-170141183460469231731687303715884105727 & -2147483648
-170141183460469231731687303715884105728
--170141183460469231731687303715884105727 & (S32) -2147483647
+-170141183460469231731687303715884105727 & -2147483647
-170141183460469231731687303715884105727
--170141183460469231731687303715884105727 & (S32) -32768
+-170141183460469231731687303715884105727 & -32768
-170141183460469231731687303715884105728
--170141183460469231731687303715884105727 & (S16) -32767
+-170141183460469231731687303715884105727 & -32767
-170141183460469231731687303715884105727
--170141183460469231731687303715884105727 & (S16) -128
+-170141183460469231731687303715884105727 & -128
-170141183460469231731687303715884105728
--170141183460469231731687303715884105727 & (S8) -127
+-170141183460469231731687303715884105727 & -127
-170141183460469231731687303715884105727
--170141183460469231731687303715884105727 & (U8) 255
+-170141183460469231731687303715884105727 & 255
1
--170141183460469231731687303715884105727 & (U16) 256
+-170141183460469231731687303715884105727 & 256
0
--170141183460469231731687303715884105727 & (U16) 65535
+-170141183460469231731687303715884105727 & 65535
1
--170141183460469231731687303715884105727 & (U32) 65536
+-170141183460469231731687303715884105727 & 65536
0
--170141183460469231731687303715884105727 & (U32) 4294967295
+-170141183460469231731687303715884105727 & 4294967295
1
--170141183460469231731687303715884105727 & (U64) 4294967296
+-170141183460469231731687303715884105727 & 4294967296
0
--170141183460469231731687303715884105727 & (U64) 18446744073709551615
+-170141183460469231731687303715884105727 & 18446744073709551615
1
-170141183460469231731687303715884105727 & 18446744073709551616
0
@@ -84,33 +84,33 @@
-170141183460469231731687303715884105728
-9223372036854775808 & -9223372036854775808
-9223372036854775808
--9223372036854775808 & (S64) -9223372036854775807
+-9223372036854775808 & -9223372036854775807
-9223372036854775808
--9223372036854775808 & (S64) -2147483648
+-9223372036854775808 & -2147483648
-9223372036854775808
--9223372036854775808 & (S32) -2147483647
+-9223372036854775808 & -2147483647
-9223372036854775808
--9223372036854775808 & (S32) -32768
+-9223372036854775808 & -32768
-9223372036854775808
--9223372036854775808 & (S16) -32767
+-9223372036854775808 & -32767
-9223372036854775808
--9223372036854775808 & (S16) -128
+-9223372036854775808 & -128
-9223372036854775808
--9223372036854775808 & (S8) -127
+-9223372036854775808 & -127
-9223372036854775808
--9223372036854775808 & (U8) 255
+-9223372036854775808 & 255
0
--9223372036854775808 & (U16) 256
+-9223372036854775808 & 256
0
--9223372036854775808 & (U16) 65535
+-9223372036854775808 & 65535
0
--9223372036854775808 & (U32) 65536
+-9223372036854775808 & 65536
0
--9223372036854775808 & (U32) 4294967295
+-9223372036854775808 & 4294967295
0
--9223372036854775808 & (U64) 4294967296
+-9223372036854775808 & 4294967296
0
--9223372036854775808 & (U64) 18446744073709551615
+-9223372036854775808 & 18446744073709551615
9223372036854775808
-9223372036854775808 & 18446744073709551616
18446744073709551616
@@ -118,599 +118,599 @@
340282366920938463454151235394913435648
-9223372036854775808 & 340282366920938463463374607431768211456
340282366920938463463374607431768211456
-(S64) -9223372036854775807 & -170141183460469231731687303715884105728
+-9223372036854775807 & -170141183460469231731687303715884105728
-170141183460469231731687303715884105728
-(S64) -9223372036854775807 & -170141183460469231731687303715884105727
+-9223372036854775807 & -170141183460469231731687303715884105727
-170141183460469231731687303715884105727
-(S64) -9223372036854775807 & -9223372036854775808
+-9223372036854775807 & -9223372036854775808
-9223372036854775808
-(S64) -9223372036854775807 & (S64) -9223372036854775807
-(S64) -9223372036854775807
-(S64) -9223372036854775807 & (S64) -2147483648
-(S64) -9223372036854775808
-(S64) -9223372036854775807 & (S32) -2147483647
-(S64) -9223372036854775807
-(S64) -9223372036854775807 & (S32) -32768
-(S64) -9223372036854775808
-(S64) -9223372036854775807 & (S16) -32767
-(S64) -9223372036854775807
-(S64) -9223372036854775807 & (S16) -128
-(S64) -9223372036854775808
-(S64) -9223372036854775807 & (S8) -127
-(S64) -9223372036854775807
-(S64) -9223372036854775807 & (U8) 255
-(S64) 1
-(S64) -9223372036854775807 & (U16) 256
-(S64) 0
-(S64) -9223372036854775807 & (U16) 65535
-(S64) 1
-(S64) -9223372036854775807 & (U32) 65536
-(S64) 0
-(S64) -9223372036854775807 & (U32) 4294967295
-(S64) 1
-(S64) -9223372036854775807 & (U64) 4294967296
-0
-(S64) -9223372036854775807 & (U64) 18446744073709551615
+-9223372036854775807 & -9223372036854775807
+-9223372036854775807
+-9223372036854775807 & -2147483648
+-9223372036854775808
+-9223372036854775807 & -2147483647
+-9223372036854775807
+-9223372036854775807 & -32768
+-9223372036854775808
+-9223372036854775807 & -32767
+-9223372036854775807
+-9223372036854775807 & -128
+-9223372036854775808
+-9223372036854775807 & -127
+-9223372036854775807
+-9223372036854775807 & 255
+1
+-9223372036854775807 & 256
+0
+-9223372036854775807 & 65535
+1
+-9223372036854775807 & 65536
+0
+-9223372036854775807 & 4294967295
+1
+-9223372036854775807 & 4294967296
+0
+-9223372036854775807 & 18446744073709551615
9223372036854775809
-(S64) -9223372036854775807 & 18446744073709551616
+-9223372036854775807 & 18446744073709551616
18446744073709551616
-(S64) -9223372036854775807 & 340282366920938463463374607431768211455
+-9223372036854775807 & 340282366920938463463374607431768211455
340282366920938463454151235394913435649
-(S64) -9223372036854775807 & 340282366920938463463374607431768211456
+-9223372036854775807 & 340282366920938463463374607431768211456
340282366920938463463374607431768211456
-(S64) -2147483648 & -170141183460469231731687303715884105728
+-2147483648 & -170141183460469231731687303715884105728
-170141183460469231731687303715884105728
-(S64) -2147483648 & -170141183460469231731687303715884105727
+-2147483648 & -170141183460469231731687303715884105727
-170141183460469231731687303715884105728
-(S64) -2147483648 & -9223372036854775808
+-2147483648 & -9223372036854775808
+-9223372036854775808
+-2147483648 & -9223372036854775807
-9223372036854775808
-(S64) -2147483648 & (S64) -9223372036854775807
-(S64) -9223372036854775808
-(S64) -2147483648 & (S64) -2147483648
-(S64) -2147483648
-(S64) -2147483648 & (S32) -2147483647
-(S64) -2147483648
-(S64) -2147483648 & (S32) -32768
-(S64) -2147483648
-(S64) -2147483648 & (S16) -32767
-(S64) -2147483648
-(S64) -2147483648 & (S16) -128
-(S64) -2147483648
-(S64) -2147483648 & (S8) -127
-(S64) -2147483648
-(S64) -2147483648 & (U8) 255
-(S64) 0
-(S64) -2147483648 & (U16) 256
-(S64) 0
-(S64) -2147483648 & (U16) 65535
-(S64) 0
-(S64) -2147483648 & (U32) 65536
-(S64) 0
-(S64) -2147483648 & (U32) 4294967295
-(S64) 2147483648
-(S64) -2147483648 & (U64) 4294967296
+-2147483648 & -2147483648
+-2147483648
+-2147483648 & -2147483647
+-2147483648
+-2147483648 & -32768
+-2147483648
+-2147483648 & -32767
+-2147483648
+-2147483648 & -128
+-2147483648
+-2147483648 & -127
+-2147483648
+-2147483648 & 255
+0
+-2147483648 & 256
+0
+-2147483648 & 65535
+0
+-2147483648 & 65536
+0
+-2147483648 & 4294967295
+2147483648
+-2147483648 & 4294967296
4294967296
-(S64) -2147483648 & (U64) 18446744073709551615
+-2147483648 & 18446744073709551615
18446744071562067968
-(S64) -2147483648 & 18446744073709551616
+-2147483648 & 18446744073709551616
18446744073709551616
-(S64) -2147483648 & 340282366920938463463374607431768211455
+-2147483648 & 340282366920938463463374607431768211455
340282366920938463463374607429620727808
-(S64) -2147483648 & 340282366920938463463374607431768211456
+-2147483648 & 340282366920938463463374607431768211456
340282366920938463463374607431768211456
-(S32) -2147483647 & -170141183460469231731687303715884105728
+-2147483647 & -170141183460469231731687303715884105728
-170141183460469231731687303715884105728
-(S32) -2147483647 & -170141183460469231731687303715884105727
+-2147483647 & -170141183460469231731687303715884105727
-170141183460469231731687303715884105727
-(S32) -2147483647 & -9223372036854775808
+-2147483647 & -9223372036854775808
-9223372036854775808
-(S32) -2147483647 & (S64) -9223372036854775807
-(S64) -9223372036854775807
-(S32) -2147483647 & (S64) -2147483648
-(S64) -2147483648
-(S32) -2147483647 & (S32) -2147483647
-(S32) -2147483647
-(S32) -2147483647 & (S32) -32768
-(S32) -2147483648
-(S32) -2147483647 & (S16) -32767
-(S32) -2147483647
-(S32) -2147483647 & (S16) -128
-(S32) -2147483648
-(S32) -2147483647 & (S8) -127
-(S32) -2147483647
-(S32) -2147483647 & (U8) 255
-(S32) 1
-(S32) -2147483647 & (U16) 256
-(S32) 0
-(S32) -2147483647 & (U16) 65535
-(S32) 1
-(S32) -2147483647 & (U32) 65536
-(S64) 0
-(S32) -2147483647 & (U32) 4294967295
-(S64) 2147483649
-(S32) -2147483647 & (U64) 4294967296
+-2147483647 & -9223372036854775807
+-9223372036854775807
+-2147483647 & -2147483648
+-2147483648
+-2147483647 & -2147483647
+-2147483647
+-2147483647 & -32768
+-2147483648
+-2147483647 & -32767
+-2147483647
+-2147483647 & -128
+-2147483648
+-2147483647 & -127
+-2147483647
+-2147483647 & 255
+1
+-2147483647 & 256
+0
+-2147483647 & 65535
+1
+-2147483647 & 65536
+0
+-2147483647 & 4294967295
+2147483649
+-2147483647 & 4294967296
4294967296
-(S32) -2147483647 & (U64) 18446744073709551615
+-2147483647 & 18446744073709551615
18446744071562067969
-(S32) -2147483647 & 18446744073709551616
+-2147483647 & 18446744073709551616
18446744073709551616
-(S32) -2147483647 & 340282366920938463463374607431768211455
+-2147483647 & 340282366920938463463374607431768211455
340282366920938463463374607429620727809
-(S32) -2147483647 & 340282366920938463463374607431768211456
+-2147483647 & 340282366920938463463374607431768211456
340282366920938463463374607431768211456
-(S32) -32768 & -170141183460469231731687303715884105728
+-32768 & -170141183460469231731687303715884105728
-170141183460469231731687303715884105728
-(S32) -32768 & -170141183460469231731687303715884105727
+-32768 & -170141183460469231731687303715884105727
-170141183460469231731687303715884105728
-(S32) -32768 & -9223372036854775808
+-32768 & -9223372036854775808
+-9223372036854775808
+-32768 & -9223372036854775807
-9223372036854775808
-(S32) -32768 & (S64) -9223372036854775807
-(S64) -9223372036854775808
-(S32) -32768 & (S64) -2147483648
-(S64) -2147483648
-(S32) -32768 & (S32) -2147483647
-(S32) -2147483648
-(S32) -32768 & (S32) -32768
-(S32) -32768
-(S32) -32768 & (S16) -32767
-(S32) -32768
-(S32) -32768 & (S16) -128
-(S32) -32768
-(S32) -32768 & (S8) -127
-(S32) -32768
-(S32) -32768 & (U8) 255
-(S32) 0
-(S32) -32768 & (U16) 256
-(S32) 0
-(S32) -32768 & (U16) 65535
-(S32) 32768
-(S32) -32768 & (U32) 65536
-(S64) 65536
-(S32) -32768 & (U32) 4294967295
-(S64) 4294934528
-(S32) -32768 & (U64) 4294967296
+-32768 & -2147483648
+-2147483648
+-32768 & -2147483647
+-2147483648
+-32768 & -32768
+-32768
+-32768 & -32767
+-32768
+-32768 & -128
+-32768
+-32768 & -127
+-32768
+-32768 & 255
+0
+-32768 & 256
+0
+-32768 & 65535
+32768
+-32768 & 65536
+65536
+-32768 & 4294967295
+4294934528
+-32768 & 4294967296
4294967296
-(S32) -32768 & (U64) 18446744073709551615
+-32768 & 18446744073709551615
18446744073709518848
-(S32) -32768 & 18446744073709551616
+-32768 & 18446744073709551616
18446744073709551616
-(S32) -32768 & 340282366920938463463374607431768211455
+-32768 & 340282366920938463463374607431768211455
340282366920938463463374607431768178688
-(S32) -32768 & 340282366920938463463374607431768211456
+-32768 & 340282366920938463463374607431768211456
340282366920938463463374607431768211456
-(S16) -32767 & -170141183460469231731687303715884105728
+-32767 & -170141183460469231731687303715884105728
-170141183460469231731687303715884105728
-(S16) -32767 & -170141183460469231731687303715884105727
+-32767 & -170141183460469231731687303715884105727
-170141183460469231731687303715884105727
-(S16) -32767 & -9223372036854775808
+-32767 & -9223372036854775808
-9223372036854775808
-(S16) -32767 & (S64) -9223372036854775807
-(S64) -9223372036854775807
-(S16) -32767 & (S64) -2147483648
-(S64) -2147483648
-(S16) -32767 & (S32) -2147483647
-(S32) -2147483647
-(S16) -32767 & (S32) -32768
-(S32) -32768
-(S16) -32767 & (S16) -32767
-(S16) -32767
-(S16) -32767 & (S16) -128
-(S16) -32768
-(S16) -32767 & (S8) -127
-(S16) -32767
-(S16) -32767 & (U8) 255
-(S16) 1
-(S16) -32767 & (U16) 256
-(S32) 0
-(S16) -32767 & (U16) 65535
-(S32) 32769
-(S16) -32767 & (U32) 65536
-(S64) 65536
-(S16) -32767 & (U32) 4294967295
-(S64) 4294934529
-(S16) -32767 & (U64) 4294967296
+-32767 & -9223372036854775807
+-9223372036854775807
+-32767 & -2147483648
+-2147483648
+-32767 & -2147483647
+-2147483647
+-32767 & -32768
+-32768
+-32767 & -32767
+-32767
+-32767 & -128
+-32768
+-32767 & -127
+-32767
+-32767 & 255
+1
+-32767 & 256
+0
+-32767 & 65535
+32769
+-32767 & 65536
+65536
+-32767 & 4294967295
+4294934529
+-32767 & 4294967296
4294967296
-(S16) -32767 & (U64) 18446744073709551615
+-32767 & 18446744073709551615
18446744073709518849
-(S16) -32767 & 18446744073709551616
+-32767 & 18446744073709551616
18446744073709551616
-(S16) -32767 & 340282366920938463463374607431768211455
+-32767 & 340282366920938463463374607431768211455
340282366920938463463374607431768178689
-(S16) -32767 & 340282366920938463463374607431768211456
+-32767 & 340282366920938463463374607431768211456
340282366920938463463374607431768211456
-(S16) -128 & -170141183460469231731687303715884105728
+-128 & -170141183460469231731687303715884105728
-170141183460469231731687303715884105728
-(S16) -128 & -170141183460469231731687303715884105727
+-128 & -170141183460469231731687303715884105727
-170141183460469231731687303715884105728
-(S16) -128 & -9223372036854775808
+-128 & -9223372036854775808
-9223372036854775808
-(S16) -128 & (S64) -9223372036854775807
-(S64) -9223372036854775808
-(S16) -128 & (S64) -2147483648
-(S64) -2147483648
-(S16) -128 & (S32) -2147483647
-(S32) -2147483648
-(S16) -128 & (S32) -32768
-(S32) -32768
-(S16) -128 & (S16) -32767
-(S16) -32768
-(S16) -128 & (S16) -128
-(S16) -128
-(S16) -128 & (S8) -127
-(S16) -128
-(S16) -128 & (U8) 255
-(S16) 128
-(S16) -128 & (U16) 256
-(S32) 256
-(S16) -128 & (U16) 65535
-(S32) 65408
-(S16) -128 & (U32) 65536
-(S64) 65536
-(S16) -128 & (U32) 4294967295
-(S64) 4294967168
-(S16) -128 & (U64) 4294967296
+-128 & -9223372036854775807
+-9223372036854775808
+-128 & -2147483648
+-2147483648
+-128 & -2147483647
+-2147483648
+-128 & -32768
+-32768
+-128 & -32767
+-32768
+-128 & -128
+-128
+-128 & -127
+-128
+-128 & 255
+128
+-128 & 256
+256
+-128 & 65535
+65408
+-128 & 65536
+65536
+-128 & 4294967295
+4294967168
+-128 & 4294967296
4294967296
-(S16) -128 & (U64) 18446744073709551615
+-128 & 18446744073709551615
18446744073709551488
-(S16) -128 & 18446744073709551616
+-128 & 18446744073709551616
18446744073709551616
-(S16) -128 & 340282366920938463463374607431768211455
+-128 & 340282366920938463463374607431768211455
340282366920938463463374607431768211328
-(S16) -128 & 340282366920938463463374607431768211456
+-128 & 340282366920938463463374607431768211456
340282366920938463463374607431768211456
-(S8) -127 & -170141183460469231731687303715884105728
+-127 & -170141183460469231731687303715884105728
-170141183460469231731687303715884105728
-(S8) -127 & -170141183460469231731687303715884105727
+-127 & -170141183460469231731687303715884105727
-170141183460469231731687303715884105727
-(S8) -127 & -9223372036854775808
+-127 & -9223372036854775808
-9223372036854775808
-(S8) -127 & (S64) -9223372036854775807
-(S64) -9223372036854775807
-(S8) -127 & (S64) -2147483648
-(S64) -2147483648
-(S8) -127 & (S32) -2147483647
-(S32) -2147483647
-(S8) -127 & (S32) -32768
-(S32) -32768
-(S8) -127 & (S16) -32767
-(S16) -32767
-(S8) -127 & (S16) -128
-(S16) -128
-(S8) -127 & (S8) -127
-(S8) -127
-(S8) -127 & (U8) 255
-(S16) 129
-(S8) -127 & (U16) 256
-(S32) 256
-(S8) -127 & (U16) 65535
-(S32) 65409
-(S8) -127 & (U32) 65536
-(S64) 65536
-(S8) -127 & (U32) 4294967295
-(S64) 4294967169
-(S8) -127 & (U64) 4294967296
+-127 & -9223372036854775807
+-9223372036854775807
+-127 & -2147483648
+-2147483648
+-127 & -2147483647
+-2147483647
+-127 & -32768
+-32768
+-127 & -32767
+-32767
+-127 & -128
+-128
+-127 & -127
+-127
+-127 & 255
+129
+-127 & 256
+256
+-127 & 65535
+65409
+-127 & 65536
+65536
+-127 & 4294967295
+4294967169
+-127 & 4294967296
4294967296
-(S8) -127 & (U64) 18446744073709551615
+-127 & 18446744073709551615
18446744073709551489
-(S8) -127 & 18446744073709551616
+-127 & 18446744073709551616
18446744073709551616
-(S8) -127 & 340282366920938463463374607431768211455
+-127 & 340282366920938463463374607431768211455
340282366920938463463374607431768211329
-(S8) -127 & 340282366920938463463374607431768211456
+-127 & 340282366920938463463374607431768211456
340282366920938463463374607431768211456
-(U8) 255 & -170141183460469231731687303715884105728
-(U8) 0
-(U8) 255 & -170141183460469231731687303715884105727
-(U8) 1
-(U8) 255 & -9223372036854775808
-(U8) 0
-(U8) 255 & (S64) -9223372036854775807
-(U8) 1
-(U8) 255 & (S64) -2147483648
-(U8) 0
-(U8) 255 & (S32) -2147483647
-(U8) 1
-(U8) 255 & (S32) -32768
-(U8) 0
-(U8) 255 & (S16) -32767
-(U8) 1
-(U8) 255 & (S16) -128
-(U8) 128
-(U8) 255 & (S8) -127
-(U8) 129
-(U8) 255 & (U8) 255
-(U8) 255
-(U8) 255 & (U16) 256
-(U8) 0
-(U8) 255 & (U16) 65535
-(U8) 255
-(U8) 255 & (U32) 65536
-(U8) 0
-(U8) 255 & (U32) 4294967295
-(U8) 255
-(U8) 255 & (U64) 4294967296
-(U8) 0
-(U8) 255 & (U64) 18446744073709551615
-(U8) 255
-(U8) 255 & 18446744073709551616
-(U8) 0
-(U8) 255 & 340282366920938463463374607431768211455
-(U8) 255
-(U8) 255 & 340282366920938463463374607431768211456
-(U8) 0
-(U16) 256 & -170141183460469231731687303715884105728
-(U16) 0
-(U16) 256 & -170141183460469231731687303715884105727
-(U16) 0
-(U16) 256 & -9223372036854775808
-(U16) 0
-(U16) 256 & (S64) -9223372036854775807
-(U16) 0
-(U16) 256 & (S64) -2147483648
-(U16) 0
-(U16) 256 & (S32) -2147483647
-(U16) 0
-(U16) 256 & (S32) -32768
-(U16) 0
-(U16) 256 & (S16) -32767
-(U16) 0
-(U16) 256 & (S16) -128
-(U16) 256
-(U16) 256 & (S8) -127
-(U16) 256
-(U16) 256 & (U8) 255
-(U16) 0
-(U16) 256 & (U16) 256
-(U16) 256
-(U16) 256 & (U16) 65535
-(U16) 256
-(U16) 256 & (U32) 65536
-(U16) 0
-(U16) 256 & (U32) 4294967295
-(U16) 256
-(U16) 256 & (U64) 4294967296
-(U16) 0
-(U16) 256 & (U64) 18446744073709551615
-(U16) 256
-(U16) 256 & 18446744073709551616
-(U16) 0
-(U16) 256 & 340282366920938463463374607431768211455
-(U16) 256
-(U16) 256 & 340282366920938463463374607431768211456
-(U16) 0
-(U16) 65535 & -170141183460469231731687303715884105728
-(U16) 0
-(U16) 65535 & -170141183460469231731687303715884105727
-(U16) 1
-(U16) 65535 & -9223372036854775808
-(U16) 0
-(U16) 65535 & (S64) -9223372036854775807
-(U16) 1
-(U16) 65535 & (S64) -2147483648
-(U16) 0
-(U16) 65535 & (S32) -2147483647
-(U16) 1
-(U16) 65535 & (S32) -32768
-(U16) 32768
-(U16) 65535 & (S16) -32767
-(U16) 32769
-(U16) 65535 & (S16) -128
-(U16) 65408
-(U16) 65535 & (S8) -127
-(U16) 65409
-(U16) 65535 & (U8) 255
-(U16) 255
-(U16) 65535 & (U16) 256
-(U16) 256
-(U16) 65535 & (U16) 65535
-(U16) 65535
-(U16) 65535 & (U32) 65536
-(U16) 0
-(U16) 65535 & (U32) 4294967295
-(U16) 65535
-(U16) 65535 & (U64) 4294967296
-(U16) 0
-(U16) 65535 & (U64) 18446744073709551615
-(U16) 65535
-(U16) 65535 & 18446744073709551616
-(U16) 0
-(U16) 65535 & 340282366920938463463374607431768211455
-(U16) 65535
-(U16) 65535 & 340282366920938463463374607431768211456
-(U16) 0
-(U32) 65536 & -170141183460469231731687303715884105728
-(U32) 0
-(U32) 65536 & -170141183460469231731687303715884105727
-(U32) 0
-(U32) 65536 & -9223372036854775808
-(U32) 0
-(U32) 65536 & (S64) -9223372036854775807
-(U32) 0
-(U32) 65536 & (S64) -2147483648
-(U32) 0
-(U32) 65536 & (S32) -2147483647
-(U32) 0
-(U32) 65536 & (S32) -32768
-(U32) 65536
-(U32) 65536 & (S16) -32767
-(U32) 65536
-(U32) 65536 & (S16) -128
-(U32) 65536
-(U32) 65536 & (S8) -127
-(U32) 65536
-(U32) 65536 & (U8) 255
-(U32) 0
-(U32) 65536 & (U16) 256
-(U32) 0
-(U32) 65536 & (U16) 65535
-(U32) 0
-(U32) 65536 & (U32) 65536
-(U32) 65536
-(U32) 65536 & (U32) 4294967295
-(U32) 65536
-(U32) 65536 & (U64) 4294967296
-(U32) 0
-(U32) 65536 & (U64) 18446744073709551615
-(U32) 65536
-(U32) 65536 & 18446744073709551616
-(U32) 0
-(U32) 65536 & 340282366920938463463374607431768211455
-(U32) 65536
-(U32) 65536 & 340282366920938463463374607431768211456
-(U32) 0
-(U32) 4294967295 & -170141183460469231731687303715884105728
-(U32) 0
-(U32) 4294967295 & -170141183460469231731687303715884105727
-(U32) 1
-(U32) 4294967295 & -9223372036854775808
-(U32) 0
-(U32) 4294967295 & (S64) -9223372036854775807
-(U32) 1
-(U32) 4294967295 & (S64) -2147483648
-(U32) 2147483648
-(U32) 4294967295 & (S32) -2147483647
-(U32) 2147483649
-(U32) 4294967295 & (S32) -32768
-(U32) 4294934528
-(U32) 4294967295 & (S16) -32767
-(U32) 4294934529
-(U32) 4294967295 & (S16) -128
-(U32) 4294967168
-(U32) 4294967295 & (S8) -127
-(U32) 4294967169
-(U32) 4294967295 & (U8) 255
-(U32) 255
-(U32) 4294967295 & (U16) 256
-(U32) 256
-(U32) 4294967295 & (U16) 65535
-(U32) 65535
-(U32) 4294967295 & (U32) 65536
-(U32) 65536
-(U32) 4294967295 & (U32) 4294967295
-(U32) 4294967295
-(U32) 4294967295 & (U64) 4294967296
-(U32) 0
-(U32) 4294967295 & (U64) 18446744073709551615
-(U32) 4294967295
-(U32) 4294967295 & 18446744073709551616
-(U32) 0
-(U32) 4294967295 & 340282366920938463463374607431768211455
-(U32) 4294967295
-(U32) 4294967295 & 340282366920938463463374607431768211456
-(U32) 0
-(U64) 4294967296 & -170141183460469231731687303715884105728
-(U64) 0
-(U64) 4294967296 & -170141183460469231731687303715884105727
-(U64) 0
-(U64) 4294967296 & -9223372036854775808
-(U64) 0
-(U64) 4294967296 & (S64) -9223372036854775807
-(U64) 0
-(U64) 4294967296 & (S64) -2147483648
-(U64) 4294967296
-(U64) 4294967296 & (S32) -2147483647
-(U64) 4294967296
-(U64) 4294967296 & (S32) -32768
-(U64) 4294967296
-(U64) 4294967296 & (S16) -32767
-(U64) 4294967296
-(U64) 4294967296 & (S16) -128
-(U64) 4294967296
-(U64) 4294967296 & (S8) -127
-(U64) 4294967296
-(U64) 4294967296 & (U8) 255
-(U64) 0
-(U64) 4294967296 & (U16) 256
-(U64) 0
-(U64) 4294967296 & (U16) 65535
-(U64) 0
-(U64) 4294967296 & (U32) 65536
-(U64) 0
-(U64) 4294967296 & (U32) 4294967295
-(U64) 0
-(U64) 4294967296 & (U64) 4294967296
-(U64) 4294967296
-(U64) 4294967296 & (U64) 18446744073709551615
-(U64) 4294967296
-(U64) 4294967296 & 18446744073709551616
-(U64) 0
-(U64) 4294967296 & 340282366920938463463374607431768211455
-(U64) 4294967296
-(U64) 4294967296 & 340282366920938463463374607431768211456
-(U64) 0
-(U64) 18446744073709551615 & -170141183460469231731687303715884105728
-(U64) 0
-(U64) 18446744073709551615 & -170141183460469231731687303715884105727
-(U64) 1
-(U64) 18446744073709551615 & -9223372036854775808
-(U64) 9223372036854775808
-(U64) 18446744073709551615 & (S64) -9223372036854775807
-(U64) 9223372036854775809
-(U64) 18446744073709551615 & (S64) -2147483648
-(U64) 18446744071562067968
-(U64) 18446744073709551615 & (S32) -2147483647
-(U64) 18446744071562067969
-(U64) 18446744073709551615 & (S32) -32768
-(U64) 18446744073709518848
-(U64) 18446744073709551615 & (S16) -32767
-(U64) 18446744073709518849
-(U64) 18446744073709551615 & (S16) -128
-(U64) 18446744073709551488
-(U64) 18446744073709551615 & (S8) -127
-(U64) 18446744073709551489
-(U64) 18446744073709551615 & (U8) 255
-(U64) 255
-(U64) 18446744073709551615 & (U16) 256
-(U64) 256
-(U64) 18446744073709551615 & (U16) 65535
-(U64) 65535
-(U64) 18446744073709551615 & (U32) 65536
-(U64) 65536
-(U64) 18446744073709551615 & (U32) 4294967295
-(U64) 4294967295
-(U64) 18446744073709551615 & (U64) 4294967296
-(U64) 4294967296
-(U64) 18446744073709551615 & (U64) 18446744073709551615
-(U64) 18446744073709551615
-(U64) 18446744073709551615 & 18446744073709551616
-(U64) 0
-(U64) 18446744073709551615 & 340282366920938463463374607431768211455
-(U64) 18446744073709551615
-(U64) 18446744073709551615 & 340282366920938463463374607431768211456
-(U64) 0
+255 & -170141183460469231731687303715884105728
+0
+255 & -170141183460469231731687303715884105727
+1
+255 & -9223372036854775808
+0
+255 & -9223372036854775807
+1
+255 & -2147483648
+0
+255 & -2147483647
+1
+255 & -32768
+0
+255 & -32767
+1
+255 & -128
+128
+255 & -127
+129
+255 & 255
+255
+255 & 256
+0
+255 & 65535
+255
+255 & 65536
+0
+255 & 4294967295
+255
+255 & 4294967296
+0
+255 & 18446744073709551615
+255
+255 & 18446744073709551616
+0
+255 & 340282366920938463463374607431768211455
+255
+255 & 340282366920938463463374607431768211456
+0
+256 & -170141183460469231731687303715884105728
+0
+256 & -170141183460469231731687303715884105727
+0
+256 & -9223372036854775808
+0
+256 & -9223372036854775807
+0
+256 & -2147483648
+0
+256 & -2147483647
+0
+256 & -32768
+0
+256 & -32767
+0
+256 & -128
+256
+256 & -127
+256
+256 & 255
+0
+256 & 256
+256
+256 & 65535
+256
+256 & 65536
+0
+256 & 4294967295
+256
+256 & 4294967296
+0
+256 & 18446744073709551615
+256
+256 & 18446744073709551616
+0
+256 & 340282366920938463463374607431768211455
+256
+256 & 340282366920938463463374607431768211456
+0
+65535 & -170141183460469231731687303715884105728
+0
+65535 & -170141183460469231731687303715884105727
+1
+65535 & -9223372036854775808
+0
+65535 & -9223372036854775807
+1
+65535 & -2147483648
+0
+65535 & -2147483647
+1
+65535 & -32768
+32768
+65535 & -32767
+32769
+65535 & -128
+65408
+65535 & -127
+65409
+65535 & 255
+255
+65535 & 256
+256
+65535 & 65535
+65535
+65535 & 65536
+0
+65535 & 4294967295
+65535
+65535 & 4294967296
+0
+65535 & 18446744073709551615
+65535
+65535 & 18446744073709551616
+0
+65535 & 340282366920938463463374607431768211455
+65535
+65535 & 340282366920938463463374607431768211456
+0
+65536 & -170141183460469231731687303715884105728
+0
+65536 & -170141183460469231731687303715884105727
+0
+65536 & -9223372036854775808
+0
+65536 & -9223372036854775807
+0
+65536 & -2147483648
+0
+65536 & -2147483647
+0
+65536 & -32768
+65536
+65536 & -32767
+65536
+65536 & -128
+65536
+65536 & -127
+65536
+65536 & 255
+0
+65536 & 256
+0
+65536 & 65535
+0
+65536 & 65536
+65536
+65536 & 4294967295
+65536
+65536 & 4294967296
+0
+65536 & 18446744073709551615
+65536
+65536 & 18446744073709551616
+0
+65536 & 340282366920938463463374607431768211455
+65536
+65536 & 340282366920938463463374607431768211456
+0
+4294967295 & -170141183460469231731687303715884105728
+0
+4294967295 & -170141183460469231731687303715884105727
+1
+4294967295 & -9223372036854775808
+0
+4294967295 & -9223372036854775807
+1
+4294967295 & -2147483648
+2147483648
+4294967295 & -2147483647
+2147483649
+4294967295 & -32768
+4294934528
+4294967295 & -32767
+4294934529
+4294967295 & -128
+4294967168
+4294967295 & -127
+4294967169
+4294967295 & 255
+255
+4294967295 & 256
+256
+4294967295 & 65535
+65535
+4294967295 & 65536
+65536
+4294967295 & 4294967295
+4294967295
+4294967295 & 4294967296
+0
+4294967295 & 18446744073709551615
+4294967295
+4294967295 & 18446744073709551616
+0
+4294967295 & 340282366920938463463374607431768211455
+4294967295
+4294967295 & 340282366920938463463374607431768211456
+0
+4294967296 & -170141183460469231731687303715884105728
+0
+4294967296 & -170141183460469231731687303715884105727
+0
+4294967296 & -9223372036854775808
+0
+4294967296 & -9223372036854775807
+0
+4294967296 & -2147483648
+4294967296
+4294967296 & -2147483647
+4294967296
+4294967296 & -32768
+4294967296
+4294967296 & -32767
+4294967296
+4294967296 & -128
+4294967296
+4294967296 & -127
+4294967296
+4294967296 & 255
+0
+4294967296 & 256
+0
+4294967296 & 65535
+0
+4294967296 & 65536
+0
+4294967296 & 4294967295
+0
+4294967296 & 4294967296
+4294967296
+4294967296 & 18446744073709551615
+4294967296
+4294967296 & 18446744073709551616
+0
+4294967296 & 340282366920938463463374607431768211455
+4294967296
+4294967296 & 340282366920938463463374607431768211456
+0
+18446744073709551615 & -170141183460469231731687303715884105728
+0
+18446744073709551615 & -170141183460469231731687303715884105727
+1
+18446744073709551615 & -9223372036854775808
+9223372036854775808
+18446744073709551615 & -9223372036854775807
+9223372036854775809
+18446744073709551615 & -2147483648
+18446744071562067968
+18446744073709551615 & -2147483647
+18446744071562067969
+18446744073709551615 & -32768
+18446744073709518848
+18446744073709551615 & -32767
+18446744073709518849
+18446744073709551615 & -128
+18446744073709551488
+18446744073709551615 & -127
+18446744073709551489
+18446744073709551615 & 255
+255
+18446744073709551615 & 256
+256
+18446744073709551615 & 65535
+65535
+18446744073709551615 & 65536
+65536
+18446744073709551615 & 4294967295
+4294967295
+18446744073709551615 & 4294967296
+4294967296
+18446744073709551615 & 18446744073709551615
+18446744073709551615
+18446744073709551615 & 18446744073709551616
+0
+18446744073709551615 & 340282366920938463463374607431768211455
+18446744073709551615
+18446744073709551615 & 340282366920938463463374607431768211456
+0
18446744073709551616 & -170141183460469231731687303715884105728
0
18446744073709551616 & -170141183460469231731687303715884105727
0
18446744073709551616 & -9223372036854775808
18446744073709551616
-18446744073709551616 & (S64) -9223372036854775807
+18446744073709551616 & -9223372036854775807
18446744073709551616
-18446744073709551616 & (S64) -2147483648
+18446744073709551616 & -2147483648
18446744073709551616
-18446744073709551616 & (S32) -2147483647
+18446744073709551616 & -2147483647
18446744073709551616
-18446744073709551616 & (S32) -32768
+18446744073709551616 & -32768
18446744073709551616
-18446744073709551616 & (S16) -32767
+18446744073709551616 & -32767
18446744073709551616
-18446744073709551616 & (S16) -128
+18446744073709551616 & -128
18446744073709551616
-18446744073709551616 & (S8) -127
+18446744073709551616 & -127
18446744073709551616
-18446744073709551616 & (U8) 255
+18446744073709551616 & 255
0
-18446744073709551616 & (U16) 256
+18446744073709551616 & 256
0
-18446744073709551616 & (U16) 65535
+18446744073709551616 & 65535
0
-18446744073709551616 & (U32) 65536
+18446744073709551616 & 65536
0
-18446744073709551616 & (U32) 4294967295
+18446744073709551616 & 4294967295
0
-18446744073709551616 & (U64) 4294967296
+18446744073709551616 & 4294967296
0
-18446744073709551616 & (U64) 18446744073709551615
+18446744073709551616 & 18446744073709551615
0
18446744073709551616 & 18446744073709551616
18446744073709551616
@@ -724,33 +724,33 @@
170141183460469231731687303715884105729
340282366920938463463374607431768211455 & -9223372036854775808
340282366920938463454151235394913435648
-340282366920938463463374607431768211455 & (S64) -9223372036854775807
+340282366920938463463374607431768211455 & -9223372036854775807
340282366920938463454151235394913435649
-340282366920938463463374607431768211455 & (S64) -2147483648
+340282366920938463463374607431768211455 & -2147483648
340282366920938463463374607429620727808
-340282366920938463463374607431768211455 & (S32) -2147483647
+340282366920938463463374607431768211455 & -2147483647
340282366920938463463374607429620727809
-340282366920938463463374607431768211455 & (S32) -32768
+340282366920938463463374607431768211455 & -32768
340282366920938463463374607431768178688
-340282366920938463463374607431768211455 & (S16) -32767
+340282366920938463463374607431768211455 & -32767
340282366920938463463374607431768178689
-340282366920938463463374607431768211455 & (S16) -128
+340282366920938463463374607431768211455 & -128
340282366920938463463374607431768211328
-340282366920938463463374607431768211455 & (S8) -127
+340282366920938463463374607431768211455 & -127
340282366920938463463374607431768211329
-340282366920938463463374607431768211455 & (U8) 255
+340282366920938463463374607431768211455 & 255
255
-340282366920938463463374607431768211455 & (U16) 256
+340282366920938463463374607431768211455 & 256
256
-340282366920938463463374607431768211455 & (U16) 65535
+340282366920938463463374607431768211455 & 65535
65535
-340282366920938463463374607431768211455 & (U32) 65536
+340282366920938463463374607431768211455 & 65536
65536
-340282366920938463463374607431768211455 & (U32) 4294967295
+340282366920938463463374607431768211455 & 4294967295
4294967295
-340282366920938463463374607431768211455 & (U64) 4294967296
+340282366920938463463374607431768211455 & 4294967296
4294967296
-340282366920938463463374607431768211455 & (U64) 18446744073709551615
+340282366920938463463374607431768211455 & 18446744073709551615
18446744073709551615
340282366920938463463374607431768211455 & 18446744073709551616
18446744073709551616
@@ -764,33 +764,33 @@
340282366920938463463374607431768211456
340282366920938463463374607431768211456 & -9223372036854775808
340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & (S64) -9223372036854775807
+340282366920938463463374607431768211456 & -9223372036854775807
340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & (S64) -2147483648
+340282366920938463463374607431768211456 & -2147483648
340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & (S32) -2147483647
+340282366920938463463374607431768211456 & -2147483647
340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & (S32) -32768
+340282366920938463463374607431768211456 & -32768
340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & (S16) -32767
+340282366920938463463374607431768211456 & -32767
340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & (S16) -128
+340282366920938463463374607431768211456 & -128
340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & (S8) -127
+340282366920938463463374607431768211456 & -127
340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & (U8) 255
+340282366920938463463374607431768211456 & 255
0
-340282366920938463463374607431768211456 & (U16) 256
+340282366920938463463374607431768211456 & 256
0
-340282366920938463463374607431768211456 & (U16) 65535
+340282366920938463463374607431768211456 & 65535
0
-340282366920938463463374607431768211456 & (U32) 65536
+340282366920938463463374607431768211456 & 65536
0
-340282366920938463463374607431768211456 & (U32) 4294967295
+340282366920938463463374607431768211456 & 4294967295
0
-340282366920938463463374607431768211456 & (U64) 4294967296
+340282366920938463463374607431768211456 & 4294967296
0
-340282366920938463463374607431768211456 & (U64) 18446744073709551615
+340282366920938463463374607431768211456 & 18446744073709551615
0
340282366920938463463374607431768211456 & 18446744073709551616
0
diff --git a/test/ikc3/integer_bnot.out.expected b/test/ikc3/integer_bnot.out.expected
index ba24006..dbc152d 100644
--- a/test/ikc3/integer_bnot.out.expected
+++ b/test/ikc3/integer_bnot.out.expected
@@ -4,34 +4,34 @@
170141183460469231731687303715884105726
~ -9223372036854775808
9223372036854775807
-~ (S64) -9223372036854775807
-(S64) 9223372036854775806
-~ (S64) -2147483648
-(S64) 2147483647
-~ (S32) -2147483647
-(S32) 2147483646
-~ (S32) -32768
-(S32) 32767
-~ (S16) -32767
-(S16) 32766
-~ (S16) -128
-(S16) 127
-~ (S8) -127
-(S8) 126
-~ (U8) 255
-(U8) 0
-~ (U16) 256
-(U16) 65279
-~ (U16) 65535
-(U16) 0
-~ (U32) 65536
-(U32) 4294901759
-~ (U32) 4294967295
-(U32) 0
-~ (U64) 4294967296
-(U64) 18446744069414584319
-~ (U64) 18446744073709551615
-(U64) 0
+~ -9223372036854775807
+9223372036854775806
+~ -2147483648
+2147483647
+~ -2147483647
+2147483646
+~ -32768
+32767
+~ -32767
+32766
+~ -128
+127
+~ -127
+126
+~ 255
+0
+~ 256
+65279
+~ 65535
+0
+~ 65536
+4294901759
+~ 4294967295
+0
+~ 4294967296
+18446744069414584319
+~ 18446744073709551615
+0
~ 18446744073709551616
-18446744073709551617
~ 340282366920938463463374607431768211455
diff --git a/test/ikc3/integer_bor-2.out.expected b/test/ikc3/integer_bor-2.out.expected
index 214d9ec..c0fa0ba 100644
--- a/test/ikc3/integer_bor-2.out.expected
+++ b/test/ikc3/integer_bor-2.out.expected
@@ -4,33 +4,33 @@
-170141183460469231731687303715884105727
-170141183460469231731687303715884105728 bor -9223372036854775808
-9223372036854775808
--170141183460469231731687303715884105728 bor (S64) -9223372036854775807
+-170141183460469231731687303715884105728 bor -9223372036854775807
-9223372036854775807
--170141183460469231731687303715884105728 bor (S64) -2147483648
+-170141183460469231731687303715884105728 bor -2147483648
-2147483648
--170141183460469231731687303715884105728 bor (S32) -2147483647
+-170141183460469231731687303715884105728 bor -2147483647
-2147483647
--170141183460469231731687303715884105728 bor (S32) -32768
+-170141183460469231731687303715884105728 bor -32768
-32768
--170141183460469231731687303715884105728 bor (S16) -32767
+-170141183460469231731687303715884105728 bor -32767
-32767
--170141183460469231731687303715884105728 bor (S16) -128
+-170141183460469231731687303715884105728 bor -128
-128
--170141183460469231731687303715884105728 bor (S8) -127
+-170141183460469231731687303715884105728 bor -127
-127
--170141183460469231731687303715884105728 bor (U8) 255
+-170141183460469231731687303715884105728 bor 255
-170141183460469231731687303715884105473
--170141183460469231731687303715884105728 bor (U16) 256
+-170141183460469231731687303715884105728 bor 256
-170141183460469231731687303715884105472
--170141183460469231731687303715884105728 bor (U16) 65535
+-170141183460469231731687303715884105728 bor 65535
-170141183460469231731687303715884040193
--170141183460469231731687303715884105728 bor (U32) 65536
+-170141183460469231731687303715884105728 bor 65536
-170141183460469231731687303715884040192
--170141183460469231731687303715884105728 bor (U32) 4294967295
+-170141183460469231731687303715884105728 bor 4294967295
-170141183460469231731687303711589138433
--170141183460469231731687303715884105728 bor (U64) 4294967296
+-170141183460469231731687303715884105728 bor 4294967296
-170141183460469231731687303711589138432
--170141183460469231731687303715884105728 bor (U64) 18446744073709551615
+-170141183460469231731687303715884105728 bor 18446744073709551615
-170141183460469231713240559642174554113
-170141183460469231731687303715884105728 bor 18446744073709551616
-170141183460469231713240559642174554112
@@ -44,33 +44,33 @@
-170141183460469231731687303715884105727
-170141183460469231731687303715884105727 bor -9223372036854775808
-9223372036854775807
--170141183460469231731687303715884105727 bor (S64) -9223372036854775807
+-170141183460469231731687303715884105727 bor -9223372036854775807
-9223372036854775807
--170141183460469231731687303715884105727 bor (S64) -2147483648
+-170141183460469231731687303715884105727 bor -2147483648
-2147483647
--170141183460469231731687303715884105727 bor (S32) -2147483647
+-170141183460469231731687303715884105727 bor -2147483647
-2147483647
--170141183460469231731687303715884105727 bor (S32) -32768
+-170141183460469231731687303715884105727 bor -32768
-32767
--170141183460469231731687303715884105727 bor (S16) -32767
+-170141183460469231731687303715884105727 bor -32767
-32767
--170141183460469231731687303715884105727 bor (S16) -128
+-170141183460469231731687303715884105727 bor -128
-127
--170141183460469231731687303715884105727 bor (S8) -127
+-170141183460469231731687303715884105727 bor -127
-127
--170141183460469231731687303715884105727 bor (U8) 255
+-170141183460469231731687303715884105727 bor 255
-170141183460469231731687303715884105473
--170141183460469231731687303715884105727 bor (U16) 256
+-170141183460469231731687303715884105727 bor 256
-170141183460469231731687303715884105471
--170141183460469231731687303715884105727 bor (U16) 65535
+-170141183460469231731687303715884105727 bor 65535
-170141183460469231731687303715884040193
--170141183460469231731687303715884105727 bor (U32) 65536
+-170141183460469231731687303715884105727 bor 65536
-170141183460469231731687303715884040191
--170141183460469231731687303715884105727 bor (U32) 4294967295
+-170141183460469231731687303715884105727 bor 4294967295
-170141183460469231731687303711589138433
--170141183460469231731687303715884105727 bor (U64) 4294967296
+-170141183460469231731687303715884105727 bor 4294967296
-170141183460469231731687303711589138431
--170141183460469231731687303715884105727 bor (U64) 18446744073709551615
+-170141183460469231731687303715884105727 bor 18446744073709551615
-170141183460469231713240559642174554113
-170141183460469231731687303715884105727 bor 18446744073709551616
-170141183460469231713240559642174554111
@@ -84,33 +84,33 @@
-9223372036854775807
-9223372036854775808 bor -9223372036854775808
-9223372036854775808
--9223372036854775808 bor (S64) -9223372036854775807
+-9223372036854775808 bor -9223372036854775807
-9223372036854775807
--9223372036854775808 bor (S64) -2147483648
+-9223372036854775808 bor -2147483648
-2147483648
--9223372036854775808 bor (S32) -2147483647
+-9223372036854775808 bor -2147483647
-2147483647
--9223372036854775808 bor (S32) -32768
+-9223372036854775808 bor -32768
-32768
--9223372036854775808 bor (S16) -32767
+-9223372036854775808 bor -32767
-32767
--9223372036854775808 bor (S16) -128
+-9223372036854775808 bor -128
-128
--9223372036854775808 bor (S8) -127
+-9223372036854775808 bor -127
-127
--9223372036854775808 bor (U8) 255
+-9223372036854775808 bor 255
-9223372036854775553
--9223372036854775808 bor (U16) 256
+-9223372036854775808 bor 256
-9223372036854775552
--9223372036854775808 bor (U16) 65535
+-9223372036854775808 bor 65535
-9223372036854710273
--9223372036854775808 bor (U32) 65536
+-9223372036854775808 bor 65536
-9223372036854710272
--9223372036854775808 bor (U32) 4294967295
+-9223372036854775808 bor 4294967295
-9223372032559808513
--9223372036854775808 bor (U64) 4294967296
+-9223372036854775808 bor 4294967296
-9223372032559808512
--9223372036854775808 bor (U64) 18446744073709551615
+-9223372036854775808 bor 18446744073709551615
-1
-9223372036854775808 bor 18446744073709551616
-9223372036854775808
@@ -118,565 +118,565 @@
-1
-9223372036854775808 bor 340282366920938463463374607431768211456
-9223372036854775808
-(S64) -9223372036854775807 bor -170141183460469231731687303715884105728
+-9223372036854775807 bor -170141183460469231731687303715884105728
-9223372036854775807
-(S64) -9223372036854775807 bor -170141183460469231731687303715884105727
+-9223372036854775807 bor -170141183460469231731687303715884105727
-9223372036854775807
-(S64) -9223372036854775807 bor -9223372036854775808
+-9223372036854775807 bor -9223372036854775808
-9223372036854775807
-(S64) -9223372036854775807 bor (S64) -9223372036854775807
-(S64) -9223372036854775807
-(S64) -9223372036854775807 bor (S64) -2147483648
-(S64) -2147483647
-(S64) -9223372036854775807 bor (S32) -2147483647
-(S64) -2147483647
-(S64) -9223372036854775807 bor (S32) -32768
-(S64) -32767
-(S64) -9223372036854775807 bor (S16) -32767
-(S64) -32767
-(S64) -9223372036854775807 bor (S16) -128
-(S64) -127
-(S64) -9223372036854775807 bor (S8) -127
-(S64) -127
-(S64) -9223372036854775807 bor (U8) 255
-(S64) -9223372036854775553
-(S64) -9223372036854775807 bor (U16) 256
-(S64) -9223372036854775551
-(S64) -9223372036854775807 bor (U16) 65535
-(S64) -9223372036854710273
-(S64) -9223372036854775807 bor (U32) 65536
-(S64) -9223372036854710271
-(S64) -9223372036854775807 bor (U32) 4294967295
-(S64) -9223372032559808513
-(S64) -9223372036854775807 bor (U64) 4294967296
+-9223372036854775807 bor -9223372036854775807
+-9223372036854775807
+-9223372036854775807 bor -2147483648
+-2147483647
+-9223372036854775807 bor -2147483647
+-2147483647
+-9223372036854775807 bor -32768
+-32767
+-9223372036854775807 bor -32767
+-32767
+-9223372036854775807 bor -128
+-127
+-9223372036854775807 bor -127
+-127
+-9223372036854775807 bor 255
+-9223372036854775553
+-9223372036854775807 bor 256
+-9223372036854775551
+-9223372036854775807 bor 65535
+-9223372036854710273
+-9223372036854775807 bor 65536
+-9223372036854710271
+-9223372036854775807 bor 4294967295
+-9223372032559808513
+-9223372036854775807 bor 4294967296
-9223372032559808511
-(S64) -9223372036854775807 bor (U64) 18446744073709551615
+-9223372036854775807 bor 18446744073709551615
-1
-(S64) -9223372036854775807 bor 18446744073709551616
+-9223372036854775807 bor 18446744073709551616
-9223372036854775807
-(S64) -9223372036854775807 bor 340282366920938463463374607431768211455
+-9223372036854775807 bor 340282366920938463463374607431768211455
-1
-(S64) -9223372036854775807 bor 340282366920938463463374607431768211456
+-9223372036854775807 bor 340282366920938463463374607431768211456
-9223372036854775807
-(S64) -2147483648 bor -170141183460469231731687303715884105728
+-2147483648 bor -170141183460469231731687303715884105728
-2147483648
-(S64) -2147483648 bor -170141183460469231731687303715884105727
+-2147483648 bor -170141183460469231731687303715884105727
-2147483647
-(S64) -2147483648 bor -9223372036854775808
+-2147483648 bor -9223372036854775808
-2147483648
-(S64) -2147483648 bor (S64) -9223372036854775807
-(S64) -2147483647
-(S64) -2147483648 bor (S64) -2147483648
-(S64) -2147483648
-(S64) -2147483648 bor (S32) -2147483647
-(S64) -2147483647
-(S64) -2147483648 bor (S32) -32768
-(S64) -32768
-(S64) -2147483648 bor (S16) -32767
-(S64) -32767
-(S64) -2147483648 bor (S16) -128
-(S64) -128
-(S64) -2147483648 bor (S8) -127
-(S64) -127
-(S64) -2147483648 bor (U8) 255
-(S64) -2147483393
-(S64) -2147483648 bor (U16) 256
-(S64) -2147483392
-(S64) -2147483648 bor (U16) 65535
-(S64) -2147418113
-(S64) -2147483648 bor (U32) 65536
-(S64) -2147418112
-(S64) -2147483648 bor (U32) 4294967295
-(S64) -1
-(S64) -2147483648 bor (U64) 4294967296
+-2147483648 bor -9223372036854775807
+-2147483647
+-2147483648 bor -2147483648
+-2147483648
+-2147483648 bor -2147483647
+-2147483647
+-2147483648 bor -32768
+-32768
+-2147483648 bor -32767
+-32767
+-2147483648 bor -128
+-128
+-2147483648 bor -127
+-127
+-2147483648 bor 255
+-2147483393
+-2147483648 bor 256
+-2147483392
+-2147483648 bor 65535
+-2147418113
+-2147483648 bor 65536
+-2147418112
+-2147483648 bor 4294967295
+-1
+-2147483648 bor 4294967296
-2147483648
-(S64) -2147483648 bor (U64) 18446744073709551615
+-2147483648 bor 18446744073709551615
-1
-(S64) -2147483648 bor 18446744073709551616
+-2147483648 bor 18446744073709551616
-2147483648
-(S64) -2147483648 bor 340282366920938463463374607431768211455
+-2147483648 bor 340282366920938463463374607431768211455
-1
-(S64) -2147483648 bor 340282366920938463463374607431768211456
+-2147483648 bor 340282366920938463463374607431768211456
-2147483648
-(S32) -2147483647 bor -170141183460469231731687303715884105728
+-2147483647 bor -170141183460469231731687303715884105728
-2147483647
-(S32) -2147483647 bor -170141183460469231731687303715884105727
+-2147483647 bor -170141183460469231731687303715884105727
-2147483647
-(S32) -2147483647 bor -9223372036854775808
+-2147483647 bor -9223372036854775808
-2147483647
-(S32) -2147483647 bor (S64) -9223372036854775807
-(S64) -2147483647
-(S32) -2147483647 bor (S64) -2147483648
-(S64) -2147483647
-(S32) -2147483647 bor (S32) -2147483647
-(S32) -2147483647
-(S32) -2147483647 bor (S32) -32768
-(S32) -32767
-(S32) -2147483647 bor (S16) -32767
-(S32) -32767
-(S32) -2147483647 bor (S16) -128
-(S32) -127
-(S32) -2147483647 bor (S8) -127
-(S32) -127
-(S32) -2147483647 bor (U8) 255
-(S32) -2147483393
-(S32) -2147483647 bor (U16) 256
-(S32) -2147483391
-(S32) -2147483647 bor (U16) 65535
-(S32) -2147418113
-(S32) -2147483647 bor (U32) 65536
-(S64) -2147418111
-(S32) -2147483647 bor (U32) 4294967295
-(S64) -1
-(S32) -2147483647 bor (U64) 4294967296
+-2147483647 bor -9223372036854775807
-2147483647
-(S32) -2147483647 bor (U64) 18446744073709551615
+-2147483647 bor -2147483648
+-2147483647
+-2147483647 bor -2147483647
+-2147483647
+-2147483647 bor -32768
+-32767
+-2147483647 bor -32767
+-32767
+-2147483647 bor -128
+-127
+-2147483647 bor -127
+-127
+-2147483647 bor 255
+-2147483393
+-2147483647 bor 256
+-2147483391
+-2147483647 bor 65535
+-2147418113
+-2147483647 bor 65536
+-2147418111
+-2147483647 bor 4294967295
+-1
+-2147483647 bor 4294967296
+-2147483647
+-2147483647 bor 18446744073709551615
-1
-(S32) -2147483647 bor 18446744073709551616
+-2147483647 bor 18446744073709551616
-2147483647
-(S32) -2147483647 bor 340282366920938463463374607431768211455
+-2147483647 bor 340282366920938463463374607431768211455
-1
-(S32) -2147483647 bor 340282366920938463463374607431768211456
+-2147483647 bor 340282366920938463463374607431768211456
-2147483647
-(S32) -32768 bor -170141183460469231731687303715884105728
+-32768 bor -170141183460469231731687303715884105728
-32768
-(S32) -32768 bor -170141183460469231731687303715884105727
+-32768 bor -170141183460469231731687303715884105727
-32767
-(S32) -32768 bor -9223372036854775808
+-32768 bor -9223372036854775808
-32768
-(S32) -32768 bor (S64) -9223372036854775807
-(S64) -32767
-(S32) -32768 bor (S64) -2147483648
-(S64) -32768
-(S32) -32768 bor (S32) -2147483647
-(S32) -32767
-(S32) -32768 bor (S32) -32768
-(S32) -32768
-(S32) -32768 bor (S16) -32767
-(S32) -32767
-(S32) -32768 bor (S16) -128
-(S32) -128
-(S32) -32768 bor (S8) -127
-(S32) -127
-(S32) -32768 bor (U8) 255
-(S32) -32513
-(S32) -32768 bor (U16) 256
-(S32) -32512
-(S32) -32768 bor (U16) 65535
-(S32) -1
-(S32) -32768 bor (U32) 65536
-(S64) -32768
-(S32) -32768 bor (U32) 4294967295
-(S64) -1
-(S32) -32768 bor (U64) 4294967296
+-32768 bor -9223372036854775807
+-32767
+-32768 bor -2147483648
-32768
-(S32) -32768 bor (U64) 18446744073709551615
+-32768 bor -2147483647
+-32767
+-32768 bor -32768
+-32768
+-32768 bor -32767
+-32767
+-32768 bor -128
+-128
+-32768 bor -127
+-127
+-32768 bor 255
+-32513
+-32768 bor 256
+-32512
+-32768 bor 65535
-1
-(S32) -32768 bor 18446744073709551616
+-32768 bor 65536
-32768
-(S32) -32768 bor 340282366920938463463374607431768211455
+-32768 bor 4294967295
-1
-(S32) -32768 bor 340282366920938463463374607431768211456
+-32768 bor 4294967296
-32768
-(S16) -32767 bor -170141183460469231731687303715884105728
+-32768 bor 18446744073709551615
+-1
+-32768 bor 18446744073709551616
+-32768
+-32768 bor 340282366920938463463374607431768211455
+-1
+-32768 bor 340282366920938463463374607431768211456
+-32768
+-32767 bor -170141183460469231731687303715884105728
+-32767
+-32767 bor -170141183460469231731687303715884105727
+-32767
+-32767 bor -9223372036854775808
-32767
-(S16) -32767 bor -170141183460469231731687303715884105727
+-32767 bor -9223372036854775807
-32767
-(S16) -32767 bor -9223372036854775808
+-32767 bor -2147483648
-32767
-(S16) -32767 bor (S64) -9223372036854775807
-(S64) -32767
-(S16) -32767 bor (S64) -2147483648
-(S64) -32767
-(S16) -32767 bor (S32) -2147483647
-(S32) -32767
-(S16) -32767 bor (S32) -32768
-(S32) -32767
-(S16) -32767 bor (S16) -32767
-(S16) -32767
-(S16) -32767 bor (S16) -128
-(S16) -127
-(S16) -32767 bor (S8) -127
-(S16) -127
-(S16) -32767 bor (U8) 255
-(S16) -32513
-(S16) -32767 bor (U16) 256
-(S32) -32511
-(S16) -32767 bor (U16) 65535
-(S32) -1
-(S16) -32767 bor (U32) 65536
-(S64) -32767
-(S16) -32767 bor (U32) 4294967295
-(S64) -1
-(S16) -32767 bor (U64) 4294967296
+-32767 bor -2147483647
-32767
-(S16) -32767 bor (U64) 18446744073709551615
+-32767 bor -32768
+-32767
+-32767 bor -32767
+-32767
+-32767 bor -128
+-127
+-32767 bor -127
+-127
+-32767 bor 255
+-32513
+-32767 bor 256
+-32511
+-32767 bor 65535
+-1
+-32767 bor 65536
+-32767
+-32767 bor 4294967295
-1
-(S16) -32767 bor 18446744073709551616
+-32767 bor 4294967296
-32767
-(S16) -32767 bor 340282366920938463463374607431768211455
+-32767 bor 18446744073709551615
-1
-(S16) -32767 bor 340282366920938463463374607431768211456
+-32767 bor 18446744073709551616
-32767
-(S16) -128 bor -170141183460469231731687303715884105728
+-32767 bor 340282366920938463463374607431768211455
+-1
+-32767 bor 340282366920938463463374607431768211456
+-32767
+-128 bor -170141183460469231731687303715884105728
+-128
+-128 bor -170141183460469231731687303715884105727
+-127
+-128 bor -9223372036854775808
+-128
+-128 bor -9223372036854775807
+-127
+-128 bor -2147483648
-128
-(S16) -128 bor -170141183460469231731687303715884105727
+-128 bor -2147483647
-127
-(S16) -128 bor -9223372036854775808
+-128 bor -32768
-128
-(S16) -128 bor (S64) -9223372036854775807
-(S64) -127
-(S16) -128 bor (S64) -2147483648
-(S64) -128
-(S16) -128 bor (S32) -2147483647
-(S32) -127
-(S16) -128 bor (S32) -32768
-(S32) -128
-(S16) -128 bor (S16) -32767
-(S16) -127
-(S16) -128 bor (S16) -128
-(S16) -128
-(S16) -128 bor (S8) -127
-(S16) -127
-(S16) -128 bor (U8) 255
-(S16) -1
-(S16) -128 bor (U16) 256
-(S32) -128
-(S16) -128 bor (U16) 65535
-(S32) -1
-(S16) -128 bor (U32) 65536
-(S64) -128
-(S16) -128 bor (U32) 4294967295
-(S64) -1
-(S16) -128 bor (U64) 4294967296
+-128 bor -32767
+-127
+-128 bor -128
-128
-(S16) -128 bor (U64) 18446744073709551615
+-128 bor -127
+-127
+-128 bor 255
-1
-(S16) -128 bor 18446744073709551616
+-128 bor 256
-128
-(S16) -128 bor 340282366920938463463374607431768211455
+-128 bor 65535
-1
-(S16) -128 bor 340282366920938463463374607431768211456
+-128 bor 65536
-128
-(S8) -127 bor -170141183460469231731687303715884105728
--127
-(S8) -127 bor -170141183460469231731687303715884105727
--127
-(S8) -127 bor -9223372036854775808
--127
-(S8) -127 bor (S64) -9223372036854775807
-(S64) -127
-(S8) -127 bor (S64) -2147483648
-(S64) -127
-(S8) -127 bor (S32) -2147483647
-(S32) -127
-(S8) -127 bor (S32) -32768
-(S32) -127
-(S8) -127 bor (S16) -32767
-(S16) -127
-(S8) -127 bor (S16) -128
-(S16) -127
-(S8) -127 bor (S8) -127
-(S8) -127
-(S8) -127 bor (U8) 255
-(S16) -1
-(S8) -127 bor (U16) 256
-(S32) -127
-(S8) -127 bor (U16) 65535
-(S32) -1
-(S8) -127 bor (U32) 65536
-(S64) -127
-(S8) -127 bor (U32) 4294967295
-(S64) -1
-(S8) -127 bor (U64) 4294967296
--127
-(S8) -127 bor (U64) 18446744073709551615
--1
-(S8) -127 bor 18446744073709551616
--127
-(S8) -127 bor 340282366920938463463374607431768211455
--1
-(S8) -127 bor 340282366920938463463374607431768211456
--127
-(U8) 255 bor -170141183460469231731687303715884105728
+-128 bor 4294967295
+-1
+-128 bor 4294967296
+-128
+-128 bor 18446744073709551615
+-1
+-128 bor 18446744073709551616
+-128
+-128 bor 340282366920938463463374607431768211455
+-1
+-128 bor 340282366920938463463374607431768211456
+-128
+-127 bor -170141183460469231731687303715884105728
+-127
+-127 bor -170141183460469231731687303715884105727
+-127
+-127 bor -9223372036854775808
+-127
+-127 bor -9223372036854775807
+-127
+-127 bor -2147483648
+-127
+-127 bor -2147483647
+-127
+-127 bor -32768
+-127
+-127 bor -32767
+-127
+-127 bor -128
+-127
+-127 bor -127
+-127
+-127 bor 255
+-1
+-127 bor 256
+-127
+-127 bor 65535
+-1
+-127 bor 65536
+-127
+-127 bor 4294967295
+-1
+-127 bor 4294967296
+-127
+-127 bor 18446744073709551615
+-1
+-127 bor 18446744073709551616
+-127
+-127 bor 340282366920938463463374607431768211455
+-1
+-127 bor 340282366920938463463374607431768211456
+-127
+255 bor -170141183460469231731687303715884105728
-170141183460469231731687303715884105473
-(U8) 255 bor -170141183460469231731687303715884105727
+255 bor -170141183460469231731687303715884105727
-170141183460469231731687303715884105473
-(U8) 255 bor -9223372036854775808
+255 bor -9223372036854775808
-9223372036854775553
-(U8) 255 bor (S64) -9223372036854775807
-(S64) -9223372036854775553
-(U8) 255 bor (S64) -2147483648
-(S64) -2147483393
-(U8) 255 bor (S32) -2147483647
-(S32) -2147483393
-(U8) 255 bor (S32) -32768
-(S32) -32513
-(U8) 255 bor (S16) -32767
-(S16) -32513
-(U8) 255 bor (S16) -128
-(S16) -1
-(U8) 255 bor (S8) -127
-(S16) -1
-(U8) 255 bor (U8) 255
-(U8) 255
-(U8) 255 bor (U16) 256
-(U16) 511
-(U8) 255 bor (U16) 65535
-(U16) 65535
-(U8) 255 bor (U32) 65536
-(U32) 65791
-(U8) 255 bor (U32) 4294967295
-(U32) 4294967295
-(U8) 255 bor (U64) 4294967296
-(U64) 4294967551
-(U8) 255 bor (U64) 18446744073709551615
-(U64) 18446744073709551615
-(U8) 255 bor 18446744073709551616
+255 bor -9223372036854775807
+-9223372036854775553
+255 bor -2147483648
+-2147483393
+255 bor -2147483647
+-2147483393
+255 bor -32768
+-32513
+255 bor -32767
+-32513
+255 bor -128
+-1
+255 bor -127
+-1
+255 bor 255
+255
+255 bor 256
+511
+255 bor 65535
+65535
+255 bor 65536
+65791
+255 bor 4294967295
+4294967295
+255 bor 4294967296
+4294967551
+255 bor 18446744073709551615
+18446744073709551615
+255 bor 18446744073709551616
18446744073709551871
-(U8) 255 bor 340282366920938463463374607431768211455
+255 bor 340282366920938463463374607431768211455
340282366920938463463374607431768211455
-(U8) 255 bor 340282366920938463463374607431768211456
+255 bor 340282366920938463463374607431768211456
340282366920938463463374607431768211711
-(U16) 256 bor -170141183460469231731687303715884105728
+256 bor -170141183460469231731687303715884105728
-170141183460469231731687303715884105472
-(U16) 256 bor -170141183460469231731687303715884105727
+256 bor -170141183460469231731687303715884105727
-170141183460469231731687303715884105471
-(U16) 256 bor -9223372036854775808
+256 bor -9223372036854775808
-9223372036854775552
-(U16) 256 bor (S64) -9223372036854775807
-(S64) -9223372036854775551
-(U16) 256 bor (S64) -2147483648
-(S64) -2147483392
-(U16) 256 bor (S32) -2147483647
-(S32) -2147483391
-(U16) 256 bor (S32) -32768
-(S32) -32512
-(U16) 256 bor (S16) -32767
-(S32) -32511
-(U16) 256 bor (S16) -128
-(S32) -128
-(U16) 256 bor (S8) -127
-(S32) -127
-(U16) 256 bor (U8) 255
-(U16) 511
-(U16) 256 bor (U16) 256
-(U16) 256
-(U16) 256 bor (U16) 65535
-(U16) 65535
-(U16) 256 bor (U32) 65536
-(U32) 65792
-(U16) 256 bor (U32) 4294967295
-(U32) 4294967295
-(U16) 256 bor (U64) 4294967296
-(U64) 4294967552
-(U16) 256 bor (U64) 18446744073709551615
-(U64) 18446744073709551615
-(U16) 256 bor 18446744073709551616
+256 bor -9223372036854775807
+-9223372036854775551
+256 bor -2147483648
+-2147483392
+256 bor -2147483647
+-2147483391
+256 bor -32768
+-32512
+256 bor -32767
+-32511
+256 bor -128
+-128
+256 bor -127
+-127
+256 bor 255
+511
+256 bor 256
+256
+256 bor 65535
+65535
+256 bor 65536
+65792
+256 bor 4294967295
+4294967295
+256 bor 4294967296
+4294967552
+256 bor 18446744073709551615
+18446744073709551615
+256 bor 18446744073709551616
18446744073709551872
-(U16) 256 bor 340282366920938463463374607431768211455
+256 bor 340282366920938463463374607431768211455
340282366920938463463374607431768211455
-(U16) 256 bor 340282366920938463463374607431768211456
+256 bor 340282366920938463463374607431768211456
340282366920938463463374607431768211712
-(U16) 65535 bor -170141183460469231731687303715884105728
+65535 bor -170141183460469231731687303715884105728
-170141183460469231731687303715884040193
-(U16) 65535 bor -170141183460469231731687303715884105727
+65535 bor -170141183460469231731687303715884105727
-170141183460469231731687303715884040193
-(U16) 65535 bor -9223372036854775808
+65535 bor -9223372036854775808
-9223372036854710273
-(U16) 65535 bor (S64) -9223372036854775807
-(S64) -9223372036854710273
-(U16) 65535 bor (S64) -2147483648
-(S64) -2147418113
-(U16) 65535 bor (S32) -2147483647
-(S32) -2147418113
-(U16) 65535 bor (S32) -32768
-(S32) -1
-(U16) 65535 bor (S16) -32767
-(S32) -1
-(U16) 65535 bor (S16) -128
-(S32) -1
-(U16) 65535 bor (S8) -127
-(S32) -1
-(U16) 65535 bor (U8) 255
-(U16) 65535
-(U16) 65535 bor (U16) 256
-(U16) 65535
-(U16) 65535 bor (U16) 65535
-(U16) 65535
-(U16) 65535 bor (U32) 65536
-(U32) 131071
-(U16) 65535 bor (U32) 4294967295
-(U32) 4294967295
-(U16) 65535 bor (U64) 4294967296
-(U64) 4295032831
-(U16) 65535 bor (U64) 18446744073709551615
-(U64) 18446744073709551615
-(U16) 65535 bor 18446744073709551616
+65535 bor -9223372036854775807
+-9223372036854710273
+65535 bor -2147483648
+-2147418113
+65535 bor -2147483647
+-2147418113
+65535 bor -32768
+-1
+65535 bor -32767
+-1
+65535 bor -128
+-1
+65535 bor -127
+-1
+65535 bor 255
+65535
+65535 bor 256
+65535
+65535 bor 65535
+65535
+65535 bor 65536
+131071
+65535 bor 4294967295
+4294967295
+65535 bor 4294967296
+4295032831
+65535 bor 18446744073709551615
+18446744073709551615
+65535 bor 18446744073709551616
18446744073709617151
-(U16) 65535 bor 340282366920938463463374607431768211455
+65535 bor 340282366920938463463374607431768211455
340282366920938463463374607431768211455
-(U16) 65535 bor 340282366920938463463374607431768211456
+65535 bor 340282366920938463463374607431768211456
340282366920938463463374607431768276991
-(U32) 65536 bor -170141183460469231731687303715884105728
+65536 bor -170141183460469231731687303715884105728
-170141183460469231731687303715884040192
-(U32) 65536 bor -170141183460469231731687303715884105727
+65536 bor -170141183460469231731687303715884105727
-170141183460469231731687303715884040191
-(U32) 65536 bor -9223372036854775808
+65536 bor -9223372036854775808
-9223372036854710272
-(U32) 65536 bor (S64) -9223372036854775807
-(S64) -9223372036854710271
-(U32) 65536 bor (S64) -2147483648
-(S64) -2147418112
-(U32) 65536 bor (S32) -2147483647
-(S64) -2147418111
-(U32) 65536 bor (S32) -32768
-(S64) -32768
-(U32) 65536 bor (S16) -32767
-(S64) -32767
-(U32) 65536 bor (S16) -128
-(S64) -128
-(U32) 65536 bor (S8) -127
-(S64) -127
-(U32) 65536 bor (U8) 255
-(U32) 65791
-(U32) 65536 bor (U16) 256
-(U32) 65792
-(U32) 65536 bor (U16) 65535
-(U32) 131071
-(U32) 65536 bor (U32) 65536
-(U32) 65536
-(U32) 65536 bor (U32) 4294967295
-(U32) 4294967295
-(U32) 65536 bor (U64) 4294967296
-(U64) 4295032832
-(U32) 65536 bor (U64) 18446744073709551615
-(U64) 18446744073709551615
-(U32) 65536 bor 18446744073709551616
+65536 bor -9223372036854775807
+-9223372036854710271
+65536 bor -2147483648
+-2147418112
+65536 bor -2147483647
+-2147418111
+65536 bor -32768
+-32768
+65536 bor -32767
+-32767
+65536 bor -128
+-128
+65536 bor -127
+-127
+65536 bor 255
+65791
+65536 bor 256
+65792
+65536 bor 65535
+131071
+65536 bor 65536
+65536
+65536 bor 4294967295
+4294967295
+65536 bor 4294967296
+4295032832
+65536 bor 18446744073709551615
+18446744073709551615
+65536 bor 18446744073709551616
18446744073709617152
-(U32) 65536 bor 340282366920938463463374607431768211455
+65536 bor 340282366920938463463374607431768211455
340282366920938463463374607431768211455
-(U32) 65536 bor 340282366920938463463374607431768211456
+65536 bor 340282366920938463463374607431768211456
340282366920938463463374607431768276992
-(U32) 4294967295 bor -170141183460469231731687303715884105728
+4294967295 bor -170141183460469231731687303715884105728
-170141183460469231731687303711589138433
-(U32) 4294967295 bor -170141183460469231731687303715884105727
+4294967295 bor -170141183460469231731687303715884105727
-170141183460469231731687303711589138433
-(U32) 4294967295 bor -9223372036854775808
+4294967295 bor -9223372036854775808
-9223372032559808513
-(U32) 4294967295 bor (S64) -9223372036854775807
-(S64) -9223372032559808513
-(U32) 4294967295 bor (S64) -2147483648
-(S64) -1
-(U32) 4294967295 bor (S32) -2147483647
-(S64) -1
-(U32) 4294967295 bor (S32) -32768
-(S64) -1
-(U32) 4294967295 bor (S16) -32767
-(S64) -1
-(U32) 4294967295 bor (S16) -128
-(S64) -1
-(U32) 4294967295 bor (S8) -127
-(S64) -1
-(U32) 4294967295 bor (U8) 255
-(U32) 4294967295
-(U32) 4294967295 bor (U16) 256
-(U32) 4294967295
-(U32) 4294967295 bor (U16) 65535
-(U32) 4294967295
-(U32) 4294967295 bor (U32) 65536
-(U32) 4294967295
-(U32) 4294967295 bor (U32) 4294967295
-(U32) 4294967295
-(U32) 4294967295 bor (U64) 4294967296
-(U64) 8589934591
-(U32) 4294967295 bor (U64) 18446744073709551615
-(U64) 18446744073709551615
-(U32) 4294967295 bor 18446744073709551616
+4294967295 bor -9223372036854775807
+-9223372032559808513
+4294967295 bor -2147483648
+-1
+4294967295 bor -2147483647
+-1
+4294967295 bor -32768
+-1
+4294967295 bor -32767
+-1
+4294967295 bor -128
+-1
+4294967295 bor -127
+-1
+4294967295 bor 255
+4294967295
+4294967295 bor 256
+4294967295
+4294967295 bor 65535
+4294967295
+4294967295 bor 65536
+4294967295
+4294967295 bor 4294967295
+4294967295
+4294967295 bor 4294967296
+8589934591
+4294967295 bor 18446744073709551615
+18446744073709551615
+4294967295 bor 18446744073709551616
18446744078004518911
-(U32) 4294967295 bor 340282366920938463463374607431768211455
+4294967295 bor 340282366920938463463374607431768211455
340282366920938463463374607431768211455
-(U32) 4294967295 bor 340282366920938463463374607431768211456
+4294967295 bor 340282366920938463463374607431768211456
340282366920938463463374607436063178751
-(U64) 4294967296 bor -170141183460469231731687303715884105728
+4294967296 bor -170141183460469231731687303715884105728
-170141183460469231731687303711589138432
-(U64) 4294967296 bor -170141183460469231731687303715884105727
+4294967296 bor -170141183460469231731687303715884105727
-170141183460469231731687303711589138431
-(U64) 4294967296 bor -9223372036854775808
+4294967296 bor -9223372036854775808
-9223372032559808512
-(U64) 4294967296 bor (S64) -9223372036854775807
+4294967296 bor -9223372036854775807
-9223372032559808511
-(U64) 4294967296 bor (S64) -2147483648
+4294967296 bor -2147483648
-2147483648
-(U64) 4294967296 bor (S32) -2147483647
+4294967296 bor -2147483647
-2147483647
-(U64) 4294967296 bor (S32) -32768
+4294967296 bor -32768
-32768
-(U64) 4294967296 bor (S16) -32767
+4294967296 bor -32767
-32767
-(U64) 4294967296 bor (S16) -128
+4294967296 bor -128
-128
-(U64) 4294967296 bor (S8) -127
+4294967296 bor -127
-127
-(U64) 4294967296 bor (U8) 255
+4294967296 bor 255
4294967551
-(U64) 4294967296 bor (U16) 256
+4294967296 bor 256
4294967552
-(U64) 4294967296 bor (U16) 65535
+4294967296 bor 65535
4295032831
-(U64) 4294967296 bor (U32) 65536
+4294967296 bor 65536
4295032832
-(U64) 4294967296 bor (U32) 4294967295
+4294967296 bor 4294967295
8589934591
-(U64) 4294967296 bor (U64) 4294967296
+4294967296 bor 4294967296
4294967296
-(U64) 4294967296 bor (U64) 18446744073709551615
+4294967296 bor 18446744073709551615
18446744073709551615
-(U64) 4294967296 bor 18446744073709551616
+4294967296 bor 18446744073709551616
18446744078004518912
-(U64) 4294967296 bor 340282366920938463463374607431768211455
+4294967296 bor 340282366920938463463374607431768211455
340282366920938463463374607431768211455
-(U64) 4294967296 bor 340282366920938463463374607431768211456
+4294967296 bor 340282366920938463463374607431768211456
340282366920938463463374607436063178752
-(U64) 18446744073709551615 bor -170141183460469231731687303715884105728
+18446744073709551615 bor -170141183460469231731687303715884105728
-170141183460469231713240559642174554113
-(U64) 18446744073709551615 bor -170141183460469231731687303715884105727
+18446744073709551615 bor -170141183460469231731687303715884105727
-170141183460469231713240559642174554113
-(U64) 18446744073709551615 bor -9223372036854775808
+18446744073709551615 bor -9223372036854775808
-1
-(U64) 18446744073709551615 bor (S64) -9223372036854775807
+18446744073709551615 bor -9223372036854775807
-1
-(U64) 18446744073709551615 bor (S64) -2147483648
+18446744073709551615 bor -2147483648
-1
-(U64) 18446744073709551615 bor (S32) -2147483647
+18446744073709551615 bor -2147483647
-1
-(U64) 18446744073709551615 bor (S32) -32768
+18446744073709551615 bor -32768
-1
-(U64) 18446744073709551615 bor (S16) -32767
+18446744073709551615 bor -32767
-1
-(U64) 18446744073709551615 bor (S16) -128
+18446744073709551615 bor -128
-1
-(U64) 18446744073709551615 bor (S8) -127
+18446744073709551615 bor -127
-1
-(U64) 18446744073709551615 bor (U8) 255
+18446744073709551615 bor 255
18446744073709551615
-(U64) 18446744073709551615 bor (U16) 256
+18446744073709551615 bor 256
18446744073709551615
-(U64) 18446744073709551615 bor (U16) 65535
+18446744073709551615 bor 65535
18446744073709551615
-(U64) 18446744073709551615 bor (U32) 65536
+18446744073709551615 bor 65536
18446744073709551615
-(U64) 18446744073709551615 bor (U32) 4294967295
+18446744073709551615 bor 4294967295
18446744073709551615
-(U64) 18446744073709551615 bor (U64) 4294967296
+18446744073709551615 bor 4294967296
18446744073709551615
-(U64) 18446744073709551615 bor (U64) 18446744073709551615
+18446744073709551615 bor 18446744073709551615
18446744073709551615
-(U64) 18446744073709551615 bor 18446744073709551616
+18446744073709551615 bor 18446744073709551616
36893488147419103231
-(U64) 18446744073709551615 bor 340282366920938463463374607431768211455
+18446744073709551615 bor 340282366920938463463374607431768211455
340282366920938463463374607431768211455
-(U64) 18446744073709551615 bor 340282366920938463463374607431768211456
+18446744073709551615 bor 340282366920938463463374607431768211456
340282366920938463481821351505477763071
18446744073709551616 bor -170141183460469231731687303715884105728
-170141183460469231713240559642174554112
@@ -684,33 +684,33 @@
-170141183460469231713240559642174554111
18446744073709551616 bor -9223372036854775808
-9223372036854775808
-18446744073709551616 bor (S64) -9223372036854775807
+18446744073709551616 bor -9223372036854775807
-9223372036854775807
-18446744073709551616 bor (S64) -2147483648
+18446744073709551616 bor -2147483648
-2147483648
-18446744073709551616 bor (S32) -2147483647
+18446744073709551616 bor -2147483647
-2147483647
-18446744073709551616 bor (S32) -32768
+18446744073709551616 bor -32768
-32768
-18446744073709551616 bor (S16) -32767
+18446744073709551616 bor -32767
-32767
-18446744073709551616 bor (S16) -128
+18446744073709551616 bor -128
-128
-18446744073709551616 bor (S8) -127
+18446744073709551616 bor -127
-127
-18446744073709551616 bor (U8) 255
+18446744073709551616 bor 255
18446744073709551871
-18446744073709551616 bor (U16) 256
+18446744073709551616 bor 256
18446744073709551872
-18446744073709551616 bor (U16) 65535
+18446744073709551616 bor 65535
18446744073709617151
-18446744073709551616 bor (U32) 65536
+18446744073709551616 bor 65536
18446744073709617152
-18446744073709551616 bor (U32) 4294967295
+18446744073709551616 bor 4294967295
18446744078004518911
-18446744073709551616 bor (U64) 4294967296
+18446744073709551616 bor 4294967296
18446744078004518912
-18446744073709551616 bor (U64) 18446744073709551615
+18446744073709551616 bor 18446744073709551615
36893488147419103231
18446744073709551616 bor 18446744073709551616
18446744073709551616
@@ -724,33 +724,33 @@
-1
340282366920938463463374607431768211455 bor -9223372036854775808
-1
-340282366920938463463374607431768211455 bor (S64) -9223372036854775807
+340282366920938463463374607431768211455 bor -9223372036854775807
-1
-340282366920938463463374607431768211455 bor (S64) -2147483648
+340282366920938463463374607431768211455 bor -2147483648
-1
-340282366920938463463374607431768211455 bor (S32) -2147483647
+340282366920938463463374607431768211455 bor -2147483647
-1
-340282366920938463463374607431768211455 bor (S32) -32768
+340282366920938463463374607431768211455 bor -32768
-1
-340282366920938463463374607431768211455 bor (S16) -32767
+340282366920938463463374607431768211455 bor -32767
-1
-340282366920938463463374607431768211455 bor (S16) -128
+340282366920938463463374607431768211455 bor -128
-1
-340282366920938463463374607431768211455 bor (S8) -127
+340282366920938463463374607431768211455 bor -127
-1
-340282366920938463463374607431768211455 bor (U8) 255
+340282366920938463463374607431768211455 bor 255
340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor (U16) 256
+340282366920938463463374607431768211455 bor 256
340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor (U16) 65535
+340282366920938463463374607431768211455 bor 65535
340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor (U32) 65536
+340282366920938463463374607431768211455 bor 65536
340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor (U32) 4294967295
+340282366920938463463374607431768211455 bor 4294967295
340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor (U64) 4294967296
+340282366920938463463374607431768211455 bor 4294967296
340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor (U64) 18446744073709551615
+340282366920938463463374607431768211455 bor 18446744073709551615
340282366920938463463374607431768211455
340282366920938463463374607431768211455 bor 18446744073709551616
340282366920938463463374607431768211455
@@ -764,33 +764,33 @@
-170141183460469231731687303715884105727
340282366920938463463374607431768211456 bor -9223372036854775808
-9223372036854775808
-340282366920938463463374607431768211456 bor (S64) -9223372036854775807
+340282366920938463463374607431768211456 bor -9223372036854775807
-9223372036854775807
-340282366920938463463374607431768211456 bor (S64) -2147483648
+340282366920938463463374607431768211456 bor -2147483648
-2147483648
-340282366920938463463374607431768211456 bor (S32) -2147483647
+340282366920938463463374607431768211456 bor -2147483647
-2147483647
-340282366920938463463374607431768211456 bor (S32) -32768
+340282366920938463463374607431768211456 bor -32768
-32768
-340282366920938463463374607431768211456 bor (S16) -32767
+340282366920938463463374607431768211456 bor -32767
-32767
-340282366920938463463374607431768211456 bor (S16) -128
+340282366920938463463374607431768211456 bor -128
-128
-340282366920938463463374607431768211456 bor (S8) -127
+340282366920938463463374607431768211456 bor -127
-127
-340282366920938463463374607431768211456 bor (U8) 255
+340282366920938463463374607431768211456 bor 255
340282366920938463463374607431768211711
-340282366920938463463374607431768211456 bor (U16) 256
+340282366920938463463374607431768211456 bor 256
340282366920938463463374607431768211712
-340282366920938463463374607431768211456 bor (U16) 65535
+340282366920938463463374607431768211456 bor 65535
340282366920938463463374607431768276991
-340282366920938463463374607431768211456 bor (U32) 65536
+340282366920938463463374607431768211456 bor 65536
340282366920938463463374607431768276992
-340282366920938463463374607431768211456 bor (U32) 4294967295
+340282366920938463463374607431768211456 bor 4294967295
340282366920938463463374607436063178751
-340282366920938463463374607431768211456 bor (U64) 4294967296
+340282366920938463463374607431768211456 bor 4294967296
340282366920938463463374607436063178752
-340282366920938463463374607431768211456 bor (U64) 18446744073709551615
+340282366920938463463374607431768211456 bor 18446744073709551615
340282366920938463481821351505477763071
340282366920938463463374607431768211456 bor 18446744073709551616
340282366920938463481821351505477763072
diff --git a/test/ikc3/integer_bxor.out.expected b/test/ikc3/integer_bxor.out.expected
index 09a08fb..835766b 100644
--- a/test/ikc3/integer_bxor.out.expected
+++ b/test/ikc3/integer_bxor.out.expected
@@ -4,33 +4,33 @@
1
-170141183460469231731687303715884105728 ^ -9223372036854775808
170141183460469231722463931679029329920
--170141183460469231731687303715884105728 ^ (S64) -9223372036854775807
+-170141183460469231731687303715884105728 ^ -9223372036854775807
170141183460469231722463931679029329921
--170141183460469231731687303715884105728 ^ (S64) -2147483648
+-170141183460469231731687303715884105728 ^ -2147483648
170141183460469231731687303713736622080
--170141183460469231731687303715884105728 ^ (S32) -2147483647
+-170141183460469231731687303715884105728 ^ -2147483647
170141183460469231731687303713736622081
--170141183460469231731687303715884105728 ^ (S32) -32768
+-170141183460469231731687303715884105728 ^ -32768
170141183460469231731687303715884072960
--170141183460469231731687303715884105728 ^ (S16) -32767
+-170141183460469231731687303715884105728 ^ -32767
170141183460469231731687303715884072961
--170141183460469231731687303715884105728 ^ (S16) -128
+-170141183460469231731687303715884105728 ^ -128
170141183460469231731687303715884105600
--170141183460469231731687303715884105728 ^ (S8) -127
+-170141183460469231731687303715884105728 ^ -127
170141183460469231731687303715884105601
--170141183460469231731687303715884105728 ^ (U8) 255
+-170141183460469231731687303715884105728 ^ 255
-170141183460469231731687303715884105473
--170141183460469231731687303715884105728 ^ (U16) 256
+-170141183460469231731687303715884105728 ^ 256
-170141183460469231731687303715884105472
--170141183460469231731687303715884105728 ^ (U16) 65535
+-170141183460469231731687303715884105728 ^ 65535
-170141183460469231731687303715884040193
--170141183460469231731687303715884105728 ^ (U32) 65536
+-170141183460469231731687303715884105728 ^ 65536
-170141183460469231731687303715884040192
--170141183460469231731687303715884105728 ^ (U32) 4294967295
+-170141183460469231731687303715884105728 ^ 4294967295
-170141183460469231731687303711589138433
--170141183460469231731687303715884105728 ^ (U64) 4294967296
+-170141183460469231731687303715884105728 ^ 4294967296
-170141183460469231731687303711589138432
--170141183460469231731687303715884105728 ^ (U64) 18446744073709551615
+-170141183460469231731687303715884105728 ^ 18446744073709551615
-170141183460469231713240559642174554113
-170141183460469231731687303715884105728 ^ 18446744073709551616
-170141183460469231713240559642174554112
@@ -44,33 +44,33 @@
0
-170141183460469231731687303715884105727 ^ -9223372036854775808
170141183460469231722463931679029329921
--170141183460469231731687303715884105727 ^ (S64) -9223372036854775807
+-170141183460469231731687303715884105727 ^ -9223372036854775807
170141183460469231722463931679029329920
--170141183460469231731687303715884105727 ^ (S64) -2147483648
+-170141183460469231731687303715884105727 ^ -2147483648
170141183460469231731687303713736622081
--170141183460469231731687303715884105727 ^ (S32) -2147483647
+-170141183460469231731687303715884105727 ^ -2147483647
170141183460469231731687303713736622080
--170141183460469231731687303715884105727 ^ (S32) -32768
+-170141183460469231731687303715884105727 ^ -32768
170141183460469231731687303715884072961
--170141183460469231731687303715884105727 ^ (S16) -32767
+-170141183460469231731687303715884105727 ^ -32767
170141183460469231731687303715884072960
--170141183460469231731687303715884105727 ^ (S16) -128
+-170141183460469231731687303715884105727 ^ -128
170141183460469231731687303715884105601
--170141183460469231731687303715884105727 ^ (S8) -127
+-170141183460469231731687303715884105727 ^ -127
170141183460469231731687303715884105600
--170141183460469231731687303715884105727 ^ (U8) 255
+-170141183460469231731687303715884105727 ^ 255
-170141183460469231731687303715884105474
--170141183460469231731687303715884105727 ^ (U16) 256
+-170141183460469231731687303715884105727 ^ 256
-170141183460469231731687303715884105471
--170141183460469231731687303715884105727 ^ (U16) 65535
+-170141183460469231731687303715884105727 ^ 65535
-170141183460469231731687303715884040194
--170141183460469231731687303715884105727 ^ (U32) 65536
+-170141183460469231731687303715884105727 ^ 65536
-170141183460469231731687303715884040191
--170141183460469231731687303715884105727 ^ (U32) 4294967295
+-170141183460469231731687303715884105727 ^ 4294967295
-170141183460469231731687303711589138434
--170141183460469231731687303715884105727 ^ (U64) 4294967296
+-170141183460469231731687303715884105727 ^ 4294967296
-170141183460469231731687303711589138431
--170141183460469231731687303715884105727 ^ (U64) 18446744073709551615
+-170141183460469231731687303715884105727 ^ 18446744073709551615
-170141183460469231713240559642174554114
-170141183460469231731687303715884105727 ^ 18446744073709551616
-170141183460469231713240559642174554111
@@ -84,33 +84,33 @@
170141183460469231722463931679029329921
-9223372036854775808 ^ -9223372036854775808
0
--9223372036854775808 ^ (S64) -9223372036854775807
+-9223372036854775808 ^ -9223372036854775807
1
--9223372036854775808 ^ (S64) -2147483648
+-9223372036854775808 ^ -2147483648
9223372034707292160
--9223372036854775808 ^ (S32) -2147483647
+-9223372036854775808 ^ -2147483647
9223372034707292161
--9223372036854775808 ^ (S32) -32768
+-9223372036854775808 ^ -32768
9223372036854743040
--9223372036854775808 ^ (S16) -32767
+-9223372036854775808 ^ -32767
9223372036854743041
--9223372036854775808 ^ (S16) -128
+-9223372036854775808 ^ -128
9223372036854775680
--9223372036854775808 ^ (S8) -127
+-9223372036854775808 ^ -127
9223372036854775681
--9223372036854775808 ^ (U8) 255
+-9223372036854775808 ^ 255
-9223372036854775553
--9223372036854775808 ^ (U16) 256
+-9223372036854775808 ^ 256
-9223372036854775552
--9223372036854775808 ^ (U16) 65535
+-9223372036854775808 ^ 65535
-9223372036854710273
--9223372036854775808 ^ (U32) 65536
+-9223372036854775808 ^ 65536
-9223372036854710272
--9223372036854775808 ^ (U32) 4294967295
+-9223372036854775808 ^ 4294967295
-9223372032559808513
--9223372036854775808 ^ (U64) 4294967296
+-9223372036854775808 ^ 4294967296
-9223372032559808512
--9223372036854775808 ^ (U64) 18446744073709551615
+-9223372036854775808 ^ 18446744073709551615
-9223372036854775809
-9223372036854775808 ^ 18446744073709551616
-27670116110564327424
@@ -118,565 +118,565 @@
-340282366920938463454151235394913435649
-9223372036854775808 ^ 340282366920938463463374607431768211456
-340282366920938463472597979468622987264
-(S64) -9223372036854775807 ^ -170141183460469231731687303715884105728
+-9223372036854775807 ^ -170141183460469231731687303715884105728
170141183460469231722463931679029329921
-(S64) -9223372036854775807 ^ -170141183460469231731687303715884105727
+-9223372036854775807 ^ -170141183460469231731687303715884105727
170141183460469231722463931679029329920
-(S64) -9223372036854775807 ^ -9223372036854775808
+-9223372036854775807 ^ -9223372036854775808
1
-(S64) -9223372036854775807 ^ (S64) -9223372036854775807
-(S64) 0
-(S64) -9223372036854775807 ^ (S64) -2147483648
-(S64) 9223372034707292161
-(S64) -9223372036854775807 ^ (S32) -2147483647
-(S64) 9223372034707292160
-(S64) -9223372036854775807 ^ (S32) -32768
-(S64) 9223372036854743041
-(S64) -9223372036854775807 ^ (S16) -32767
-(S64) 9223372036854743040
-(S64) -9223372036854775807 ^ (S16) -128
-(S64) 9223372036854775681
-(S64) -9223372036854775807 ^ (S8) -127
-(S64) 9223372036854775680
-(S64) -9223372036854775807 ^ (U8) 255
-(S64) -9223372036854775554
-(S64) -9223372036854775807 ^ (U16) 256
-(S64) -9223372036854775551
-(S64) -9223372036854775807 ^ (U16) 65535
-(S64) -9223372036854710274
-(S64) -9223372036854775807 ^ (U32) 65536
-(S64) -9223372036854710271
-(S64) -9223372036854775807 ^ (U32) 4294967295
-(S64) -9223372032559808514
-(S64) -9223372036854775807 ^ (U64) 4294967296
+-9223372036854775807 ^ -9223372036854775807
+0
+-9223372036854775807 ^ -2147483648
+9223372034707292161
+-9223372036854775807 ^ -2147483647
+9223372034707292160
+-9223372036854775807 ^ -32768
+9223372036854743041
+-9223372036854775807 ^ -32767
+9223372036854743040
+-9223372036854775807 ^ -128
+9223372036854775681
+-9223372036854775807 ^ -127
+9223372036854775680
+-9223372036854775807 ^ 255
+-9223372036854775554
+-9223372036854775807 ^ 256
+-9223372036854775551
+-9223372036854775807 ^ 65535
+-9223372036854710274
+-9223372036854775807 ^ 65536
+-9223372036854710271
+-9223372036854775807 ^ 4294967295
+-9223372032559808514
+-9223372036854775807 ^ 4294967296
-9223372032559808511
-(S64) -9223372036854775807 ^ (U64) 18446744073709551615
+-9223372036854775807 ^ 18446744073709551615
-9223372036854775810
-(S64) -9223372036854775807 ^ 18446744073709551616
+-9223372036854775807 ^ 18446744073709551616
-27670116110564327423
-(S64) -9223372036854775807 ^ 340282366920938463463374607431768211455
+-9223372036854775807 ^ 340282366920938463463374607431768211455
-340282366920938463454151235394913435650
-(S64) -9223372036854775807 ^ 340282366920938463463374607431768211456
+-9223372036854775807 ^ 340282366920938463463374607431768211456
-340282366920938463472597979468622987263
-(S64) -2147483648 ^ -170141183460469231731687303715884105728
+-2147483648 ^ -170141183460469231731687303715884105728
170141183460469231731687303713736622080
-(S64) -2147483648 ^ -170141183460469231731687303715884105727
+-2147483648 ^ -170141183460469231731687303715884105727
170141183460469231731687303713736622081
-(S64) -2147483648 ^ -9223372036854775808
+-2147483648 ^ -9223372036854775808
9223372034707292160
-(S64) -2147483648 ^ (S64) -9223372036854775807
-(S64) 9223372034707292161
-(S64) -2147483648 ^ (S64) -2147483648
-(S64) 0
-(S64) -2147483648 ^ (S32) -2147483647
-(S64) 1
-(S64) -2147483648 ^ (S32) -32768
-(S64) 2147450880
-(S64) -2147483648 ^ (S16) -32767
-(S64) 2147450881
-(S64) -2147483648 ^ (S16) -128
-(S64) 2147483520
-(S64) -2147483648 ^ (S8) -127
-(S64) 2147483521
-(S64) -2147483648 ^ (U8) 255
-(S64) -2147483393
-(S64) -2147483648 ^ (U16) 256
-(S64) -2147483392
-(S64) -2147483648 ^ (U16) 65535
-(S64) -2147418113
-(S64) -2147483648 ^ (U32) 65536
-(S64) -2147418112
-(S64) -2147483648 ^ (U32) 4294967295
-(S64) -2147483649
-(S64) -2147483648 ^ (U64) 4294967296
+-2147483648 ^ -9223372036854775807
+9223372034707292161
+-2147483648 ^ -2147483648
+0
+-2147483648 ^ -2147483647
+1
+-2147483648 ^ -32768
+2147450880
+-2147483648 ^ -32767
+2147450881
+-2147483648 ^ -128
+2147483520
+-2147483648 ^ -127
+2147483521
+-2147483648 ^ 255
+-2147483393
+-2147483648 ^ 256
+-2147483392
+-2147483648 ^ 65535
+-2147418113
+-2147483648 ^ 65536
+-2147418112
+-2147483648 ^ 4294967295
+-2147483649
+-2147483648 ^ 4294967296
-6442450944
-(S64) -2147483648 ^ (U64) 18446744073709551615
+-2147483648 ^ 18446744073709551615
-18446744071562067969
-(S64) -2147483648 ^ 18446744073709551616
+-2147483648 ^ 18446744073709551616
-18446744075857035264
-(S64) -2147483648 ^ 340282366920938463463374607431768211455
+-2147483648 ^ 340282366920938463463374607431768211455
-340282366920938463463374607429620727809
-(S64) -2147483648 ^ 340282366920938463463374607431768211456
+-2147483648 ^ 340282366920938463463374607431768211456
-340282366920938463463374607433915695104
-(S32) -2147483647 ^ -170141183460469231731687303715884105728
+-2147483647 ^ -170141183460469231731687303715884105728
170141183460469231731687303713736622081
-(S32) -2147483647 ^ -170141183460469231731687303715884105727
+-2147483647 ^ -170141183460469231731687303715884105727
170141183460469231731687303713736622080
-(S32) -2147483647 ^ -9223372036854775808
+-2147483647 ^ -9223372036854775808
9223372034707292161
-(S32) -2147483647 ^ (S64) -9223372036854775807
-(S64) 9223372034707292160
-(S32) -2147483647 ^ (S64) -2147483648
-(S64) 1
-(S32) -2147483647 ^ (S32) -2147483647
-(S32) 0
-(S32) -2147483647 ^ (S32) -32768
-(S32) 2147450881
-(S32) -2147483647 ^ (S16) -32767
-(S32) 2147450880
-(S32) -2147483647 ^ (S16) -128
-(S32) 2147483521
-(S32) -2147483647 ^ (S8) -127
-(S32) 2147483520
-(S32) -2147483647 ^ (U8) 255
-(S32) -2147483394
-(S32) -2147483647 ^ (U16) 256
-(S32) -2147483391
-(S32) -2147483647 ^ (U16) 65535
-(S32) -2147418114
-(S32) -2147483647 ^ (U32) 65536
-(S64) -2147418111
-(S32) -2147483647 ^ (U32) 4294967295
-(S64) -2147483650
-(S32) -2147483647 ^ (U64) 4294967296
+-2147483647 ^ -9223372036854775807
+9223372034707292160
+-2147483647 ^ -2147483648
+1
+-2147483647 ^ -2147483647
+0
+-2147483647 ^ -32768
+2147450881
+-2147483647 ^ -32767
+2147450880
+-2147483647 ^ -128
+2147483521
+-2147483647 ^ -127
+2147483520
+-2147483647 ^ 255
+-2147483394
+-2147483647 ^ 256
+-2147483391
+-2147483647 ^ 65535
+-2147418114
+-2147483647 ^ 65536
+-2147418111
+-2147483647 ^ 4294967295
+-2147483650
+-2147483647 ^ 4294967296
-6442450943
-(S32) -2147483647 ^ (U64) 18446744073709551615
+-2147483647 ^ 18446744073709551615
-18446744071562067970
-(S32) -2147483647 ^ 18446744073709551616
+-2147483647 ^ 18446744073709551616
-18446744075857035263
-(S32) -2147483647 ^ 340282366920938463463374607431768211455
+-2147483647 ^ 340282366920938463463374607431768211455
-340282366920938463463374607429620727810
-(S32) -2147483647 ^ 340282366920938463463374607431768211456
+-2147483647 ^ 340282366920938463463374607431768211456
-340282366920938463463374607433915695103
-(S32) -32768 ^ -170141183460469231731687303715884105728
+-32768 ^ -170141183460469231731687303715884105728
170141183460469231731687303715884072960
-(S32) -32768 ^ -170141183460469231731687303715884105727
+-32768 ^ -170141183460469231731687303715884105727
170141183460469231731687303715884072961
-(S32) -32768 ^ -9223372036854775808
+-32768 ^ -9223372036854775808
9223372036854743040
-(S32) -32768 ^ (S64) -9223372036854775807
-(S64) 9223372036854743041
-(S32) -32768 ^ (S64) -2147483648
-(S64) 2147450880
-(S32) -32768 ^ (S32) -2147483647
-(S32) 2147450881
-(S32) -32768 ^ (S32) -32768
-(S32) 0
-(S32) -32768 ^ (S16) -32767
-(S32) 1
-(S32) -32768 ^ (S16) -128
-(S32) 32640
-(S32) -32768 ^ (S8) -127
-(S32) 32641
-(S32) -32768 ^ (U8) 255
-(S32) -32513
-(S32) -32768 ^ (U16) 256
-(S32) -32512
-(S32) -32768 ^ (U16) 65535
-(S32) -32769
-(S32) -32768 ^ (U32) 65536
-(S64) -98304
-(S32) -32768 ^ (U32) 4294967295
-(S64) -4294934529
-(S32) -32768 ^ (U64) 4294967296
+-32768 ^ -9223372036854775807
+9223372036854743041
+-32768 ^ -2147483648
+2147450880
+-32768 ^ -2147483647
+2147450881
+-32768 ^ -32768
+0
+-32768 ^ -32767
+1
+-32768 ^ -128
+32640
+-32768 ^ -127
+32641
+-32768 ^ 255
+-32513
+-32768 ^ 256
+-32512
+-32768 ^ 65535
+-32769
+-32768 ^ 65536
+-98304
+-32768 ^ 4294967295
+-4294934529
+-32768 ^ 4294967296
-4295000064
-(S32) -32768 ^ (U64) 18446744073709551615
+-32768 ^ 18446744073709551615
-18446744073709518849
-(S32) -32768 ^ 18446744073709551616
+-32768 ^ 18446744073709551616
-18446744073709584384
-(S32) -32768 ^ 340282366920938463463374607431768211455
+-32768 ^ 340282366920938463463374607431768211455
-340282366920938463463374607431768178689
-(S32) -32768 ^ 340282366920938463463374607431768211456
+-32768 ^ 340282366920938463463374607431768211456
-340282366920938463463374607431768244224
-(S16) -32767 ^ -170141183460469231731687303715884105728
+-32767 ^ -170141183460469231731687303715884105728
170141183460469231731687303715884072961
-(S16) -32767 ^ -170141183460469231731687303715884105727
+-32767 ^ -170141183460469231731687303715884105727
170141183460469231731687303715884072960
-(S16) -32767 ^ -9223372036854775808
+-32767 ^ -9223372036854775808
9223372036854743041
-(S16) -32767 ^ (S64) -9223372036854775807
-(S64) 9223372036854743040
-(S16) -32767 ^ (S64) -2147483648
-(S64) 2147450881
-(S16) -32767 ^ (S32) -2147483647
-(S32) 2147450880
-(S16) -32767 ^ (S32) -32768
-(S32) 1
-(S16) -32767 ^ (S16) -32767
-(S16) 0
-(S16) -32767 ^ (S16) -128
-(S16) 32641
-(S16) -32767 ^ (S8) -127
-(S16) 32640
-(S16) -32767 ^ (U8) 255
-(S16) -32514
-(S16) -32767 ^ (U16) 256
-(S32) -32511
-(S16) -32767 ^ (U16) 65535
-(S32) -32770
-(S16) -32767 ^ (U32) 65536
-(S64) -98303
-(S16) -32767 ^ (U32) 4294967295
-(S64) -4294934530
-(S16) -32767 ^ (U64) 4294967296
+-32767 ^ -9223372036854775807
+9223372036854743040
+-32767 ^ -2147483648
+2147450881
+-32767 ^ -2147483647
+2147450880
+-32767 ^ -32768
+1
+-32767 ^ -32767
+0
+-32767 ^ -128
+32641
+-32767 ^ -127
+32640
+-32767 ^ 255
+-32514
+-32767 ^ 256
+-32511
+-32767 ^ 65535
+-32770
+-32767 ^ 65536
+-98303
+-32767 ^ 4294967295
+-4294934530
+-32767 ^ 4294967296
-4295000063
-(S16) -32767 ^ (U64) 18446744073709551615
+-32767 ^ 18446744073709551615
-18446744073709518850
-(S16) -32767 ^ 18446744073709551616
+-32767 ^ 18446744073709551616
-18446744073709584383
-(S16) -32767 ^ 340282366920938463463374607431768211455
+-32767 ^ 340282366920938463463374607431768211455
-340282366920938463463374607431768178690
-(S16) -32767 ^ 340282366920938463463374607431768211456
+-32767 ^ 340282366920938463463374607431768211456
-340282366920938463463374607431768244223
-(S16) -128 ^ -170141183460469231731687303715884105728
+-128 ^ -170141183460469231731687303715884105728
170141183460469231731687303715884105600
-(S16) -128 ^ -170141183460469231731687303715884105727
+-128 ^ -170141183460469231731687303715884105727
170141183460469231731687303715884105601
-(S16) -128 ^ -9223372036854775808
+-128 ^ -9223372036854775808
9223372036854775680
-(S16) -128 ^ (S64) -9223372036854775807
-(S64) 9223372036854775681
-(S16) -128 ^ (S64) -2147483648
-(S64) 2147483520
-(S16) -128 ^ (S32) -2147483647
-(S32) 2147483521
-(S16) -128 ^ (S32) -32768
-(S32) 32640
-(S16) -128 ^ (S16) -32767
-(S16) 32641
-(S16) -128 ^ (S16) -128
-(S16) 0
-(S16) -128 ^ (S8) -127
-(S16) 1
-(S16) -128 ^ (U8) 255
-(S16) -129
-(S16) -128 ^ (U16) 256
-(S32) -384
-(S16) -128 ^ (U16) 65535
-(S32) -65409
-(S16) -128 ^ (U32) 65536
-(S64) -65664
-(S16) -128 ^ (U32) 4294967295
-(S64) -4294967169
-(S16) -128 ^ (U64) 4294967296
+-128 ^ -9223372036854775807
+9223372036854775681
+-128 ^ -2147483648
+2147483520
+-128 ^ -2147483647
+2147483521
+-128 ^ -32768
+32640
+-128 ^ -32767
+32641
+-128 ^ -128
+0
+-128 ^ -127
+1
+-128 ^ 255
+-129
+-128 ^ 256
+-384
+-128 ^ 65535
+-65409
+-128 ^ 65536
+-65664
+-128 ^ 4294967295
+-4294967169
+-128 ^ 4294967296
-4294967424
-(S16) -128 ^ (U64) 18446744073709551615
+-128 ^ 18446744073709551615
-18446744073709551489
-(S16) -128 ^ 18446744073709551616
+-128 ^ 18446744073709551616
-18446744073709551744
-(S16) -128 ^ 340282366920938463463374607431768211455
+-128 ^ 340282366920938463463374607431768211455
-340282366920938463463374607431768211329
-(S16) -128 ^ 340282366920938463463374607431768211456
+-128 ^ 340282366920938463463374607431768211456
-340282366920938463463374607431768211584
-(S8) -127 ^ -170141183460469231731687303715884105728
+-127 ^ -170141183460469231731687303715884105728
170141183460469231731687303715884105601
-(S8) -127 ^ -170141183460469231731687303715884105727
+-127 ^ -170141183460469231731687303715884105727
170141183460469231731687303715884105600
-(S8) -127 ^ -9223372036854775808
+-127 ^ -9223372036854775808
9223372036854775681
-(S8) -127 ^ (S64) -9223372036854775807
-(S64) 9223372036854775680
-(S8) -127 ^ (S64) -2147483648
-(S64) 2147483521
-(S8) -127 ^ (S32) -2147483647
-(S32) 2147483520
-(S8) -127 ^ (S32) -32768
-(S32) 32641
-(S8) -127 ^ (S16) -32767
-(S16) 32640
-(S8) -127 ^ (S16) -128
-(S16) 1
-(S8) -127 ^ (S8) -127
-(S8) 0
-(S8) -127 ^ (U8) 255
-(S16) -130
-(S8) -127 ^ (U16) 256
-(S32) -383
-(S8) -127 ^ (U16) 65535
-(S32) -65410
-(S8) -127 ^ (U32) 65536
-(S64) -65663
-(S8) -127 ^ (U32) 4294967295
-(S64) -4294967170
-(S8) -127 ^ (U64) 4294967296
+-127 ^ -9223372036854775807
+9223372036854775680
+-127 ^ -2147483648
+2147483521
+-127 ^ -2147483647
+2147483520
+-127 ^ -32768
+32641
+-127 ^ -32767
+32640
+-127 ^ -128
+1
+-127 ^ -127
+0
+-127 ^ 255
+-130
+-127 ^ 256
+-383
+-127 ^ 65535
+-65410
+-127 ^ 65536
+-65663
+-127 ^ 4294967295
+-4294967170
+-127 ^ 4294967296
-4294967423
-(S8) -127 ^ (U64) 18446744073709551615
+-127 ^ 18446744073709551615
-18446744073709551490
-(S8) -127 ^ 18446744073709551616
+-127 ^ 18446744073709551616
-18446744073709551743
-(S8) -127 ^ 340282366920938463463374607431768211455
+-127 ^ 340282366920938463463374607431768211455
-340282366920938463463374607431768211330
-(S8) -127 ^ 340282366920938463463374607431768211456
+-127 ^ 340282366920938463463374607431768211456
-340282366920938463463374607431768211583
-(U8) 255 ^ -170141183460469231731687303715884105728
+255 ^ -170141183460469231731687303715884105728
-170141183460469231731687303715884105473
-(U8) 255 ^ -170141183460469231731687303715884105727
+255 ^ -170141183460469231731687303715884105727
-170141183460469231731687303715884105474
-(U8) 255 ^ -9223372036854775808
+255 ^ -9223372036854775808
-9223372036854775553
-(U8) 255 ^ (S64) -9223372036854775807
-(S64) -9223372036854775554
-(U8) 255 ^ (S64) -2147483648
-(S64) -2147483393
-(U8) 255 ^ (S32) -2147483647
-(S32) -2147483394
-(U8) 255 ^ (S32) -32768
-(S32) -32513
-(U8) 255 ^ (S16) -32767
-(S16) -32514
-(U8) 255 ^ (S16) -128
-(S16) -129
-(U8) 255 ^ (S8) -127
-(S16) -130
-(U8) 255 ^ (U8) 255
-(U8) 0
-(U8) 255 ^ (U16) 256
-(U16) 511
-(U8) 255 ^ (U16) 65535
-(U16) 65280
-(U8) 255 ^ (U32) 65536
-(U32) 65791
-(U8) 255 ^ (U32) 4294967295
-(U32) 4294967040
-(U8) 255 ^ (U64) 4294967296
-(U64) 4294967551
-(U8) 255 ^ (U64) 18446744073709551615
-(U64) 18446744073709551360
-(U8) 255 ^ 18446744073709551616
+255 ^ -9223372036854775807
+-9223372036854775554
+255 ^ -2147483648
+-2147483393
+255 ^ -2147483647
+-2147483394
+255 ^ -32768
+-32513
+255 ^ -32767
+-32514
+255 ^ -128
+-129
+255 ^ -127
+-130
+255 ^ 255
+0
+255 ^ 256
+511
+255 ^ 65535
+65280
+255 ^ 65536
+65791
+255 ^ 4294967295
+4294967040
+255 ^ 4294967296
+4294967551
+255 ^ 18446744073709551615
+18446744073709551360
+255 ^ 18446744073709551616
18446744073709551871
-(U8) 255 ^ 340282366920938463463374607431768211455
+255 ^ 340282366920938463463374607431768211455
340282366920938463463374607431768211200
-(U8) 255 ^ 340282366920938463463374607431768211456
+255 ^ 340282366920938463463374607431768211456
340282366920938463463374607431768211711
-(U16) 256 ^ -170141183460469231731687303715884105728
+256 ^ -170141183460469231731687303715884105728
-170141183460469231731687303715884105472
-(U16) 256 ^ -170141183460469231731687303715884105727
+256 ^ -170141183460469231731687303715884105727
-170141183460469231731687303715884105471
-(U16) 256 ^ -9223372036854775808
+256 ^ -9223372036854775808
-9223372036854775552
-(U16) 256 ^ (S64) -9223372036854775807
-(S64) -9223372036854775551
-(U16) 256 ^ (S64) -2147483648
-(S64) -2147483392
-(U16) 256 ^ (S32) -2147483647
-(S32) -2147483391
-(U16) 256 ^ (S32) -32768
-(S32) -32512
-(U16) 256 ^ (S16) -32767
-(S32) -32511
-(U16) 256 ^ (S16) -128
-(S32) -384
-(U16) 256 ^ (S8) -127
-(S32) -383
-(U16) 256 ^ (U8) 255
-(U16) 511
-(U16) 256 ^ (U16) 256
-(U16) 0
-(U16) 256 ^ (U16) 65535
-(U16) 65279
-(U16) 256 ^ (U32) 65536
-(U32) 65792
-(U16) 256 ^ (U32) 4294967295
-(U32) 4294967039
-(U16) 256 ^ (U64) 4294967296
-(U64) 4294967552
-(U16) 256 ^ (U64) 18446744073709551615
-(U64) 18446744073709551359
-(U16) 256 ^ 18446744073709551616
+256 ^ -9223372036854775807
+-9223372036854775551
+256 ^ -2147483648
+-2147483392
+256 ^ -2147483647
+-2147483391
+256 ^ -32768
+-32512
+256 ^ -32767
+-32511
+256 ^ -128
+-384
+256 ^ -127
+-383
+256 ^ 255
+511
+256 ^ 256
+0
+256 ^ 65535
+65279
+256 ^ 65536
+65792
+256 ^ 4294967295
+4294967039
+256 ^ 4294967296
+4294967552
+256 ^ 18446744073709551615
+18446744073709551359
+256 ^ 18446744073709551616
18446744073709551872
-(U16) 256 ^ 340282366920938463463374607431768211455
+256 ^ 340282366920938463463374607431768211455
340282366920938463463374607431768211199
-(U16) 256 ^ 340282366920938463463374607431768211456
+256 ^ 340282366920938463463374607431768211456
340282366920938463463374607431768211712
-(U16) 65535 ^ -170141183460469231731687303715884105728
+65535 ^ -170141183460469231731687303715884105728
-170141183460469231731687303715884040193
-(U16) 65535 ^ -170141183460469231731687303715884105727
+65535 ^ -170141183460469231731687303715884105727
-170141183460469231731687303715884040194
-(U16) 65535 ^ -9223372036854775808
+65535 ^ -9223372036854775808
-9223372036854710273
-(U16) 65535 ^ (S64) -9223372036854775807
-(S64) -9223372036854710274
-(U16) 65535 ^ (S64) -2147483648
-(S64) -2147418113
-(U16) 65535 ^ (S32) -2147483647
-(S32) -2147418114
-(U16) 65535 ^ (S32) -32768
-(S32) -32769
-(U16) 65535 ^ (S16) -32767
-(S32) -32770
-(U16) 65535 ^ (S16) -128
-(S32) -65409
-(U16) 65535 ^ (S8) -127
-(S32) -65410
-(U16) 65535 ^ (U8) 255
-(U16) 65280
-(U16) 65535 ^ (U16) 256
-(U16) 65279
-(U16) 65535 ^ (U16) 65535
-(U16) 0
-(U16) 65535 ^ (U32) 65536
-(U32) 131071
-(U16) 65535 ^ (U32) 4294967295
-(U32) 4294901760
-(U16) 65535 ^ (U64) 4294967296
-(U64) 4295032831
-(U16) 65535 ^ (U64) 18446744073709551615
-(U64) 18446744073709486080
-(U16) 65535 ^ 18446744073709551616
+65535 ^ -9223372036854775807
+-9223372036854710274
+65535 ^ -2147483648
+-2147418113
+65535 ^ -2147483647
+-2147418114
+65535 ^ -32768
+-32769
+65535 ^ -32767
+-32770
+65535 ^ -128
+-65409
+65535 ^ -127
+-65410
+65535 ^ 255
+65280
+65535 ^ 256
+65279
+65535 ^ 65535
+0
+65535 ^ 65536
+131071
+65535 ^ 4294967295
+4294901760
+65535 ^ 4294967296
+4295032831
+65535 ^ 18446744073709551615
+18446744073709486080
+65535 ^ 18446744073709551616
18446744073709617151
-(U16) 65535 ^ 340282366920938463463374607431768211455
+65535 ^ 340282366920938463463374607431768211455
340282366920938463463374607431768145920
-(U16) 65535 ^ 340282366920938463463374607431768211456
+65535 ^ 340282366920938463463374607431768211456
340282366920938463463374607431768276991
-(U32) 65536 ^ -170141183460469231731687303715884105728
+65536 ^ -170141183460469231731687303715884105728
-170141183460469231731687303715884040192
-(U32) 65536 ^ -170141183460469231731687303715884105727
+65536 ^ -170141183460469231731687303715884105727
-170141183460469231731687303715884040191
-(U32) 65536 ^ -9223372036854775808
+65536 ^ -9223372036854775808
-9223372036854710272
-(U32) 65536 ^ (S64) -9223372036854775807
-(S64) -9223372036854710271
-(U32) 65536 ^ (S64) -2147483648
-(S64) -2147418112
-(U32) 65536 ^ (S32) -2147483647
-(S64) -2147418111
-(U32) 65536 ^ (S32) -32768
-(S64) -98304
-(U32) 65536 ^ (S16) -32767
-(S64) -98303
-(U32) 65536 ^ (S16) -128
-(S64) -65664
-(U32) 65536 ^ (S8) -127
-(S64) -65663
-(U32) 65536 ^ (U8) 255
-(U32) 65791
-(U32) 65536 ^ (U16) 256
-(U32) 65792
-(U32) 65536 ^ (U16) 65535
-(U32) 131071
-(U32) 65536 ^ (U32) 65536
-(U32) 0
-(U32) 65536 ^ (U32) 4294967295
-(U32) 4294901759
-(U32) 65536 ^ (U64) 4294967296
-(U64) 4295032832
-(U32) 65536 ^ (U64) 18446744073709551615
-(U64) 18446744073709486079
-(U32) 65536 ^ 18446744073709551616
+65536 ^ -9223372036854775807
+-9223372036854710271
+65536 ^ -2147483648
+-2147418112
+65536 ^ -2147483647
+-2147418111
+65536 ^ -32768
+-98304
+65536 ^ -32767
+-98303
+65536 ^ -128
+-65664
+65536 ^ -127
+-65663
+65536 ^ 255
+65791
+65536 ^ 256
+65792
+65536 ^ 65535
+131071
+65536 ^ 65536
+0
+65536 ^ 4294967295
+4294901759
+65536 ^ 4294967296
+4295032832
+65536 ^ 18446744073709551615
+18446744073709486079
+65536 ^ 18446744073709551616
18446744073709617152
-(U32) 65536 ^ 340282366920938463463374607431768211455
+65536 ^ 340282366920938463463374607431768211455
340282366920938463463374607431768145919
-(U32) 65536 ^ 340282366920938463463374607431768211456
+65536 ^ 340282366920938463463374607431768211456
340282366920938463463374607431768276992
-(U32) 4294967295 ^ -170141183460469231731687303715884105728
+4294967295 ^ -170141183460469231731687303715884105728
-170141183460469231731687303711589138433
-(U32) 4294967295 ^ -170141183460469231731687303715884105727
+4294967295 ^ -170141183460469231731687303715884105727
-170141183460469231731687303711589138434
-(U32) 4294967295 ^ -9223372036854775808
+4294967295 ^ -9223372036854775808
-9223372032559808513
-(U32) 4294967295 ^ (S64) -9223372036854775807
-(S64) -9223372032559808514
-(U32) 4294967295 ^ (S64) -2147483648
-(S64) -2147483649
-(U32) 4294967295 ^ (S32) -2147483647
-(S64) -2147483650
-(U32) 4294967295 ^ (S32) -32768
-(S64) -4294934529
-(U32) 4294967295 ^ (S16) -32767
-(S64) -4294934530
-(U32) 4294967295 ^ (S16) -128
-(S64) -4294967169
-(U32) 4294967295 ^ (S8) -127
-(S64) -4294967170
-(U32) 4294967295 ^ (U8) 255
-(U32) 4294967040
-(U32) 4294967295 ^ (U16) 256
-(U32) 4294967039
-(U32) 4294967295 ^ (U16) 65535
-(U32) 4294901760
-(U32) 4294967295 ^ (U32) 65536
-(U32) 4294901759
-(U32) 4294967295 ^ (U32) 4294967295
-(U32) 0
-(U32) 4294967295 ^ (U64) 4294967296
-(U64) 8589934591
-(U32) 4294967295 ^ (U64) 18446744073709551615
-(U64) 18446744069414584320
-(U32) 4294967295 ^ 18446744073709551616
+4294967295 ^ -9223372036854775807
+-9223372032559808514
+4294967295 ^ -2147483648
+-2147483649
+4294967295 ^ -2147483647
+-2147483650
+4294967295 ^ -32768
+-4294934529
+4294967295 ^ -32767
+-4294934530
+4294967295 ^ -128
+-4294967169
+4294967295 ^ -127
+-4294967170
+4294967295 ^ 255
+4294967040
+4294967295 ^ 256
+4294967039
+4294967295 ^ 65535
+4294901760
+4294967295 ^ 65536
+4294901759
+4294967295 ^ 4294967295
+0
+4294967295 ^ 4294967296
+8589934591
+4294967295 ^ 18446744073709551615
+18446744069414584320
+4294967295 ^ 18446744073709551616
18446744078004518911
-(U32) 4294967295 ^ 340282366920938463463374607431768211455
+4294967295 ^ 340282366920938463463374607431768211455
340282366920938463463374607427473244160
-(U32) 4294967295 ^ 340282366920938463463374607431768211456
+4294967295 ^ 340282366920938463463374607431768211456
340282366920938463463374607436063178751
-(U64) 4294967296 ^ -170141183460469231731687303715884105728
+4294967296 ^ -170141183460469231731687303715884105728
-170141183460469231731687303711589138432
-(U64) 4294967296 ^ -170141183460469231731687303715884105727
+4294967296 ^ -170141183460469231731687303715884105727
-170141183460469231731687303711589138431
-(U64) 4294967296 ^ -9223372036854775808
+4294967296 ^ -9223372036854775808
-9223372032559808512
-(U64) 4294967296 ^ (S64) -9223372036854775807
+4294967296 ^ -9223372036854775807
-9223372032559808511
-(U64) 4294967296 ^ (S64) -2147483648
+4294967296 ^ -2147483648
-6442450944
-(U64) 4294967296 ^ (S32) -2147483647
+4294967296 ^ -2147483647
-6442450943
-(U64) 4294967296 ^ (S32) -32768
+4294967296 ^ -32768
-4295000064
-(U64) 4294967296 ^ (S16) -32767
+4294967296 ^ -32767
-4295000063
-(U64) 4294967296 ^ (S16) -128
+4294967296 ^ -128
-4294967424
-(U64) 4294967296 ^ (S8) -127
+4294967296 ^ -127
-4294967423
-(U64) 4294967296 ^ (U8) 255
+4294967296 ^ 255
4294967551
-(U64) 4294967296 ^ (U16) 256
+4294967296 ^ 256
4294967552
-(U64) 4294967296 ^ (U16) 65535
+4294967296 ^ 65535
4295032831
-(U64) 4294967296 ^ (U32) 65536
+4294967296 ^ 65536
4295032832
-(U64) 4294967296 ^ (U32) 4294967295
+4294967296 ^ 4294967295
8589934591
-(U64) 4294967296 ^ (U64) 4294967296
+4294967296 ^ 4294967296
0
-(U64) 4294967296 ^ (U64) 18446744073709551615
+4294967296 ^ 18446744073709551615
18446744069414584319
-(U64) 4294967296 ^ 18446744073709551616
+4294967296 ^ 18446744073709551616
18446744078004518912
-(U64) 4294967296 ^ 340282366920938463463374607431768211455
+4294967296 ^ 340282366920938463463374607431768211455
340282366920938463463374607427473244159
-(U64) 4294967296 ^ 340282366920938463463374607431768211456
+4294967296 ^ 340282366920938463463374607431768211456
340282366920938463463374607436063178752
-(U64) 18446744073709551615 ^ -170141183460469231731687303715884105728
+18446744073709551615 ^ -170141183460469231731687303715884105728
-170141183460469231713240559642174554113
-(U64) 18446744073709551615 ^ -170141183460469231731687303715884105727
+18446744073709551615 ^ -170141183460469231731687303715884105727
-170141183460469231713240559642174554114
-(U64) 18446744073709551615 ^ -9223372036854775808
+18446744073709551615 ^ -9223372036854775808
-9223372036854775809
-(U64) 18446744073709551615 ^ (S64) -9223372036854775807
+18446744073709551615 ^ -9223372036854775807
-9223372036854775810
-(U64) 18446744073709551615 ^ (S64) -2147483648
+18446744073709551615 ^ -2147483648
-18446744071562067969
-(U64) 18446744073709551615 ^ (S32) -2147483647
+18446744073709551615 ^ -2147483647
-18446744071562067970
-(U64) 18446744073709551615 ^ (S32) -32768
+18446744073709551615 ^ -32768
-18446744073709518849
-(U64) 18446744073709551615 ^ (S16) -32767
+18446744073709551615 ^ -32767
-18446744073709518850
-(U64) 18446744073709551615 ^ (S16) -128
+18446744073709551615 ^ -128
-18446744073709551489
-(U64) 18446744073709551615 ^ (S8) -127
+18446744073709551615 ^ -127
-18446744073709551490
-(U64) 18446744073709551615 ^ (U8) 255
+18446744073709551615 ^ 255
18446744073709551360
-(U64) 18446744073709551615 ^ (U16) 256
+18446744073709551615 ^ 256
18446744073709551359
-(U64) 18446744073709551615 ^ (U16) 65535
+18446744073709551615 ^ 65535
18446744073709486080
-(U64) 18446744073709551615 ^ (U32) 65536
+18446744073709551615 ^ 65536
18446744073709486079
-(U64) 18446744073709551615 ^ (U32) 4294967295
+18446744073709551615 ^ 4294967295
18446744069414584320
-(U64) 18446744073709551615 ^ (U64) 4294967296
+18446744073709551615 ^ 4294967296
18446744069414584319
-(U64) 18446744073709551615 ^ (U64) 18446744073709551615
+18446744073709551615 ^ 18446744073709551615
0
-(U64) 18446744073709551615 ^ 18446744073709551616
+18446744073709551615 ^ 18446744073709551616
36893488147419103231
-(U64) 18446744073709551615 ^ 340282366920938463463374607431768211455
+18446744073709551615 ^ 340282366920938463463374607431768211455
340282366920938463444927863358058659840
-(U64) 18446744073709551615 ^ 340282366920938463463374607431768211456
+18446744073709551615 ^ 340282366920938463463374607431768211456
340282366920938463481821351505477763071
18446744073709551616 ^ -170141183460469231731687303715884105728
-170141183460469231713240559642174554112
@@ -684,33 +684,33 @@
-170141183460469231713240559642174554111
18446744073709551616 ^ -9223372036854775808
-27670116110564327424
-18446744073709551616 ^ (S64) -9223372036854775807
+18446744073709551616 ^ -9223372036854775807
-27670116110564327423
-18446744073709551616 ^ (S64) -2147483648
+18446744073709551616 ^ -2147483648
-18446744075857035264
-18446744073709551616 ^ (S32) -2147483647
+18446744073709551616 ^ -2147483647
-18446744075857035263
-18446744073709551616 ^ (S32) -32768
+18446744073709551616 ^ -32768
-18446744073709584384
-18446744073709551616 ^ (S16) -32767
+18446744073709551616 ^ -32767
-18446744073709584383
-18446744073709551616 ^ (S16) -128
+18446744073709551616 ^ -128
-18446744073709551744
-18446744073709551616 ^ (S8) -127
+18446744073709551616 ^ -127
-18446744073709551743
-18446744073709551616 ^ (U8) 255
+18446744073709551616 ^ 255
18446744073709551871
-18446744073709551616 ^ (U16) 256
+18446744073709551616 ^ 256
18446744073709551872
-18446744073709551616 ^ (U16) 65535
+18446744073709551616 ^ 65535
18446744073709617151
-18446744073709551616 ^ (U32) 65536
+18446744073709551616 ^ 65536
18446744073709617152
-18446744073709551616 ^ (U32) 4294967295
+18446744073709551616 ^ 4294967295
18446744078004518911
-18446744073709551616 ^ (U64) 4294967296
+18446744073709551616 ^ 4294967296
18446744078004518912
-18446744073709551616 ^ (U64) 18446744073709551615
+18446744073709551616 ^ 18446744073709551615
36893488147419103231
18446744073709551616 ^ 18446744073709551616
0
@@ -724,33 +724,33 @@
-170141183460469231731687303715884105730
340282366920938463463374607431768211455 ^ -9223372036854775808
-340282366920938463454151235394913435649
-340282366920938463463374607431768211455 ^ (S64) -9223372036854775807
+340282366920938463463374607431768211455 ^ -9223372036854775807
-340282366920938463454151235394913435650
-340282366920938463463374607431768211455 ^ (S64) -2147483648
+340282366920938463463374607431768211455 ^ -2147483648
-340282366920938463463374607429620727809
-340282366920938463463374607431768211455 ^ (S32) -2147483647
+340282366920938463463374607431768211455 ^ -2147483647
-340282366920938463463374607429620727810
-340282366920938463463374607431768211455 ^ (S32) -32768
+340282366920938463463374607431768211455 ^ -32768
-340282366920938463463374607431768178689
-340282366920938463463374607431768211455 ^ (S16) -32767
+340282366920938463463374607431768211455 ^ -32767
-340282366920938463463374607431768178690
-340282366920938463463374607431768211455 ^ (S16) -128
+340282366920938463463374607431768211455 ^ -128
-340282366920938463463374607431768211329
-340282366920938463463374607431768211455 ^ (S8) -127
+340282366920938463463374607431768211455 ^ -127
-340282366920938463463374607431768211330
-340282366920938463463374607431768211455 ^ (U8) 255
+340282366920938463463374607431768211455 ^ 255
340282366920938463463374607431768211200
-340282366920938463463374607431768211455 ^ (U16) 256
+340282366920938463463374607431768211455 ^ 256
340282366920938463463374607431768211199
-340282366920938463463374607431768211455 ^ (U16) 65535
+340282366920938463463374607431768211455 ^ 65535
340282366920938463463374607431768145920
-340282366920938463463374607431768211455 ^ (U32) 65536
+340282366920938463463374607431768211455 ^ 65536
340282366920938463463374607431768145919
-340282366920938463463374607431768211455 ^ (U32) 4294967295
+340282366920938463463374607431768211455 ^ 4294967295
340282366920938463463374607427473244160
-340282366920938463463374607431768211455 ^ (U64) 4294967296
+340282366920938463463374607431768211455 ^ 4294967296
340282366920938463463374607427473244159
-340282366920938463463374607431768211455 ^ (U64) 18446744073709551615
+340282366920938463463374607431768211455 ^ 18446744073709551615
340282366920938463444927863358058659840
340282366920938463463374607431768211455 ^ 18446744073709551616
340282366920938463444927863358058659839
@@ -764,33 +764,33 @@
-510423550381407695195061911147652317183
340282366920938463463374607431768211456 ^ -9223372036854775808
-340282366920938463472597979468622987264
-340282366920938463463374607431768211456 ^ (S64) -9223372036854775807
+340282366920938463463374607431768211456 ^ -9223372036854775807
-340282366920938463472597979468622987263
-340282366920938463463374607431768211456 ^ (S64) -2147483648
+340282366920938463463374607431768211456 ^ -2147483648
-340282366920938463463374607433915695104
-340282366920938463463374607431768211456 ^ (S32) -2147483647
+340282366920938463463374607431768211456 ^ -2147483647
-340282366920938463463374607433915695103
-340282366920938463463374607431768211456 ^ (S32) -32768
+340282366920938463463374607431768211456 ^ -32768
-340282366920938463463374607431768244224
-340282366920938463463374607431768211456 ^ (S16) -32767
+340282366920938463463374607431768211456 ^ -32767
-340282366920938463463374607431768244223
-340282366920938463463374607431768211456 ^ (S16) -128
+340282366920938463463374607431768211456 ^ -128
-340282366920938463463374607431768211584
-340282366920938463463374607431768211456 ^ (S8) -127
+340282366920938463463374607431768211456 ^ -127
-340282366920938463463374607431768211583
-340282366920938463463374607431768211456 ^ (U8) 255
+340282366920938463463374607431768211456 ^ 255
340282366920938463463374607431768211711
-340282366920938463463374607431768211456 ^ (U16) 256
+340282366920938463463374607431768211456 ^ 256
340282366920938463463374607431768211712
-340282366920938463463374607431768211456 ^ (U16) 65535
+340282366920938463463374607431768211456 ^ 65535
340282366920938463463374607431768276991
-340282366920938463463374607431768211456 ^ (U32) 65536
+340282366920938463463374607431768211456 ^ 65536
340282366920938463463374607431768276992
-340282366920938463463374607431768211456 ^ (U32) 4294967295
+340282366920938463463374607431768211456 ^ 4294967295
340282366920938463463374607436063178751
-340282366920938463463374607431768211456 ^ (U64) 4294967296
+340282366920938463463374607431768211456 ^ 4294967296
340282366920938463463374607436063178752
-340282366920938463463374607431768211456 ^ (U64) 18446744073709551615
+340282366920938463463374607431768211456 ^ 18446744073709551615
340282366920938463481821351505477763071
340282366920938463463374607431768211456 ^ 18446744073709551616
340282366920938463481821351505477763072
diff --git a/test/ikc3/integer_div.out.expected b/test/ikc3/integer_div.out.expected
index 09eac3e..02be5ec 100644
--- a/test/ikc3/integer_div.out.expected
+++ b/test/ikc3/integer_div.out.expected
@@ -4,33 +4,33 @@
1
-170141183460469231731687303715884105728 / -9223372036854775808
18446744073709551616
--170141183460469231731687303715884105728 / (S64) -9223372036854775807
+-170141183460469231731687303715884105728 / -9223372036854775807
18446744073709551618
--170141183460469231731687303715884105728 / (S64) -2147483648
+-170141183460469231731687303715884105728 / -2147483648
79228162514264337593543950336
--170141183460469231731687303715884105728 / (S32) -2147483647
+-170141183460469231731687303715884105728 / -2147483647
79228162551157825758142922760
--170141183460469231731687303715884105728 / (S32) -32768
+-170141183460469231731687303715884105728 / -32768
5192296858534827628530496329220096
--170141183460469231731687303715884105728 / (S16) -32767
+-170141183460469231731687303715884105728 / -32767
5192455319695707014120526862876800
--170141183460469231731687303715884105728 / (S16) -128
+-170141183460469231731687303715884105728 / -128
1329227995784915872903807060280344576
--170141183460469231731687303715884105728 / (S8) -127
+-170141183460469231731687303715884105728 / -127
1339694357956450643556592942644756738
--170141183460469231731687303715884105728 / (U8) 255
+-170141183460469231731687303715884105728 / 255
-667220327295957771496812955748565120
--170141183460469231731687303715884105728 / (U16) 256
+-170141183460469231731687303715884105728 / 256
-664613997892457936451903530140172288
--170141183460469231731687303715884105728 / (U16) 65535
+-170141183460469231731687303715884105728 / 65535
-2596188043953143079754136014585856
--170141183460469231731687303715884105728 / (U32) 65536
+-170141183460469231731687303715884105728 / 65536
-2596148429267413814265248164610048
--170141183460469231731687303715884105728 / (U32) 4294967295
+-170141183460469231731687303715884105728 / 4294967295
-39614081266355540835774234624
--170141183460469231731687303715884105728 / (U64) 4294967296
+-170141183460469231731687303715884105728 / 4294967296
-39614081257132168796771975168
--170141183460469231731687303715884105728 / (U64) 18446744073709551615
+-170141183460469231731687303715884105728 / 18446744073709551615
-9223372036854775808
-170141183460469231731687303715884105728 / 18446744073709551616
-9223372036854775808
@@ -44,33 +44,33 @@
1
-170141183460469231731687303715884105727 / -9223372036854775808
18446744073709551615
--170141183460469231731687303715884105727 / (S64) -9223372036854775807
+-170141183460469231731687303715884105727 / -9223372036854775807
18446744073709551618
--170141183460469231731687303715884105727 / (S64) -2147483648
+-170141183460469231731687303715884105727 / -2147483648
79228162514264337593543950335
--170141183460469231731687303715884105727 / (S32) -2147483647
+-170141183460469231731687303715884105727 / -2147483647
79228162551157825758142922760
--170141183460469231731687303715884105727 / (S32) -32768
+-170141183460469231731687303715884105727 / -32768
5192296858534827628530496329220095
--170141183460469231731687303715884105727 / (S16) -32767
+-170141183460469231731687303715884105727 / -32767
5192455319695707014120526862876800
--170141183460469231731687303715884105727 / (S16) -128
+-170141183460469231731687303715884105727 / -128
1329227995784915872903807060280344575
--170141183460469231731687303715884105727 / (S8) -127
+-170141183460469231731687303715884105727 / -127
1339694357956450643556592942644756738
--170141183460469231731687303715884105727 / (U8) 255
+-170141183460469231731687303715884105727 / 255
-667220327295957771496812955748565120
--170141183460469231731687303715884105727 / (U16) 256
+-170141183460469231731687303715884105727 / 256
-664613997892457936451903530140172287
--170141183460469231731687303715884105727 / (U16) 65535
+-170141183460469231731687303715884105727 / 65535
-2596188043953143079754136014585856
--170141183460469231731687303715884105727 / (U32) 65536
+-170141183460469231731687303715884105727 / 65536
-2596148429267413814265248164610047
--170141183460469231731687303715884105727 / (U32) 4294967295
+-170141183460469231731687303715884105727 / 4294967295
-39614081266355540835774234624
--170141183460469231731687303715884105727 / (U64) 4294967296
+-170141183460469231731687303715884105727 / 4294967296
-39614081257132168796771975167
--170141183460469231731687303715884105727 / (U64) 18446744073709551615
+-170141183460469231731687303715884105727 / 18446744073709551615
-9223372036854775808
-170141183460469231731687303715884105727 / 18446744073709551616
-9223372036854775807
@@ -84,33 +84,33 @@
0
-9223372036854775808 / -9223372036854775808
1
--9223372036854775808 / (S64) -9223372036854775807
+-9223372036854775808 / -9223372036854775807
1
--9223372036854775808 / (S64) -2147483648
+-9223372036854775808 / -2147483648
4294967296
--9223372036854775808 / (S32) -2147483647
+-9223372036854775808 / -2147483647
4294967298
--9223372036854775808 / (S32) -32768
+-9223372036854775808 / -32768
281474976710656
--9223372036854775808 / (S16) -32767
+-9223372036854775808 / -32767
281483566907400
--9223372036854775808 / (S16) -128
+-9223372036854775808 / -128
72057594037927936
--9223372036854775808 / (S8) -127
+-9223372036854775808 / -127
72624976668147841
--9223372036854775808 / (U8) 255
+-9223372036854775808 / 255
-36170086419038336
--9223372036854775808 / (U16) 256
+-9223372036854775808 / 256
-36028797018963968
--9223372036854775808 / (U16) 65535
+-9223372036854775808 / 65535
-140739635871744
--9223372036854775808 / (U32) 65536
+-9223372036854775808 / 65536
-140737488355328
--9223372036854775808 / (U32) 4294967295
+-9223372036854775808 / 4294967295
-2147483648
--9223372036854775808 / (U64) 4294967296
+-9223372036854775808 / 4294967296
-2147483648
--9223372036854775808 / (U64) 18446744073709551615
+-9223372036854775808 / 18446744073709551615
0
-9223372036854775808 / 18446744073709551616
0
@@ -118,565 +118,565 @@
0
-9223372036854775808 / 340282366920938463463374607431768211456
0
-(S64) -9223372036854775807 / -170141183460469231731687303715884105728
-0
-(S64) -9223372036854775807 / -170141183460469231731687303715884105727
-0
-(S64) -9223372036854775807 / -9223372036854775808
-0
-(S64) -9223372036854775807 / (S64) -9223372036854775807
-(S64) 1
-(S64) -9223372036854775807 / (S64) -2147483648
-(S64) 4294967295
-(S64) -9223372036854775807 / (S32) -2147483647
-(S64) 4294967298
-(S64) -9223372036854775807 / (S32) -32768
-(S64) 281474976710655
-(S64) -9223372036854775807 / (S16) -32767
-(S64) 281483566907400
-(S64) -9223372036854775807 / (S16) -128
-(S64) 72057594037927935
-(S64) -9223372036854775807 / (S8) -127
-(S64) 72624976668147841
-(S64) -9223372036854775807 / (U8) 255
-(S64) -36170086419038336
-(S64) -9223372036854775807 / (U16) 256
-(S64) -36028797018963967
-(S64) -9223372036854775807 / (U16) 65535
-(S64) -140739635871744
-(S64) -9223372036854775807 / (U32) 65536
-(S64) -140737488355327
-(S64) -9223372036854775807 / (U32) 4294967295
-(S64) -2147483648
-(S64) -9223372036854775807 / (U64) 4294967296
-(S64) -2147483647
-(S64) -9223372036854775807 / (U64) 18446744073709551615
-(S64) 0
-(S64) -9223372036854775807 / 18446744073709551616
-0
-(S64) -9223372036854775807 / 340282366920938463463374607431768211455
-0
-(S64) -9223372036854775807 / 340282366920938463463374607431768211456
-0
-(S64) -2147483648 / -170141183460469231731687303715884105728
-0
-(S64) -2147483648 / -170141183460469231731687303715884105727
-0
-(S64) -2147483648 / -9223372036854775808
-0
-(S64) -2147483648 / (S64) -9223372036854775807
-(S64) 0
-(S64) -2147483648 / (S64) -2147483648
-(S64) 1
-(S64) -2147483648 / (S32) -2147483647
-(S64) 1
-(S64) -2147483648 / (S32) -32768
-(S64) 65536
-(S64) -2147483648 / (S16) -32767
-(S64) 65538
-(S64) -2147483648 / (S16) -128
-(S64) 16777216
-(S64) -2147483648 / (S8) -127
-(S64) 16909320
-(S64) -2147483648 / (U8) 255
-(S64) -8421504
-(S64) -2147483648 / (U16) 256
-(S64) -8388608
-(S64) -2147483648 / (U16) 65535
-(S64) -32768
-(S64) -2147483648 / (U32) 65536
-(S64) -32768
-(S64) -2147483648 / (U32) 4294967295
-(S64) 0
-(S64) -2147483648 / (U64) 4294967296
-(S64) 0
-(S64) -2147483648 / (U64) 18446744073709551615
-(S64) 0
-(S64) -2147483648 / 18446744073709551616
-0
-(S64) -2147483648 / 340282366920938463463374607431768211455
-0
-(S64) -2147483648 / 340282366920938463463374607431768211456
-0
-(S32) -2147483647 / -170141183460469231731687303715884105728
-0
-(S32) -2147483647 / -170141183460469231731687303715884105727
-0
-(S32) -2147483647 / -9223372036854775808
-0
-(S32) -2147483647 / (S64) -9223372036854775807
-(S32) 0
-(S32) -2147483647 / (S64) -2147483648
-(S32) 0
-(S32) -2147483647 / (S32) -2147483647
-(S32) 1
-(S32) -2147483647 / (S32) -32768
-(S32) 65535
-(S32) -2147483647 / (S16) -32767
-(S32) 65538
-(S32) -2147483647 / (S16) -128
-(S32) 16777215
-(S32) -2147483647 / (S8) -127
-(S32) 16909320
-(S32) -2147483647 / (U8) 255
-(S32) -8421504
-(S32) -2147483647 / (U16) 256
-(S32) -8388607
-(S32) -2147483647 / (U16) 65535
-(S32) -32768
-(S32) -2147483647 / (U32) 65536
-(S32) -32767
-(S32) -2147483647 / (U32) 4294967295
-(S32) 0
-(S32) -2147483647 / (U64) 4294967296
-(S32) 0
-(S32) -2147483647 / (U64) 18446744073709551615
-(S32) 0
-(S32) -2147483647 / 18446744073709551616
-0
-(S32) -2147483647 / 340282366920938463463374607431768211455
-0
-(S32) -2147483647 / 340282366920938463463374607431768211456
-0
-(S32) -32768 / -170141183460469231731687303715884105728
-0
-(S32) -32768 / -170141183460469231731687303715884105727
-0
-(S32) -32768 / -9223372036854775808
-0
-(S32) -32768 / (S64) -9223372036854775807
-(S32) 0
-(S32) -32768 / (S64) -2147483648
-(S32) 0
-(S32) -32768 / (S32) -2147483647
-(S32) 0
-(S32) -32768 / (S32) -32768
-(S32) 1
-(S32) -32768 / (S16) -32767
-(S32) 1
-(S32) -32768 / (S16) -128
-(S32) 256
-(S32) -32768 / (S8) -127
-(S32) 258
-(S32) -32768 / (U8) 255
-(S32) -128
-(S32) -32768 / (U16) 256
-(S32) -128
-(S32) -32768 / (U16) 65535
-(S32) 0
-(S32) -32768 / (U32) 65536
-(S32) 0
-(S32) -32768 / (U32) 4294967295
-(S32) 0
-(S32) -32768 / (U64) 4294967296
-(S32) 0
-(S32) -32768 / (U64) 18446744073709551615
-(S32) 0
-(S32) -32768 / 18446744073709551616
-0
-(S32) -32768 / 340282366920938463463374607431768211455
-0
-(S32) -32768 / 340282366920938463463374607431768211456
-0
-(S16) -32767 / -170141183460469231731687303715884105728
-0
-(S16) -32767 / -170141183460469231731687303715884105727
-0
-(S16) -32767 / -9223372036854775808
-0
-(S16) -32767 / (S64) -9223372036854775807
-(S16) 0
-(S16) -32767 / (S64) -2147483648
-(S16) 0
-(S16) -32767 / (S32) -2147483647
-(S16) 0
-(S16) -32767 / (S32) -32768
-(S16) 0
-(S16) -32767 / (S16) -32767
-(S16) 1
-(S16) -32767 / (S16) -128
-(S16) 255
-(S16) -32767 / (S8) -127
-(S16) 258
-(S16) -32767 / (U8) 255
-(S16) -128
-(S16) -32767 / (U16) 256
-(S16) -127
-(S16) -32767 / (U16) 65535
-(S16) 0
-(S16) -32767 / (U32) 65536
-(S16) 0
-(S16) -32767 / (U32) 4294967295
-(S16) 0
-(S16) -32767 / (U64) 4294967296
-(S16) 0
-(S16) -32767 / (U64) 18446744073709551615
-(S16) 0
-(S16) -32767 / 18446744073709551616
-0
-(S16) -32767 / 340282366920938463463374607431768211455
-0
-(S16) -32767 / 340282366920938463463374607431768211456
-0
-(S16) -128 / -170141183460469231731687303715884105728
-0
-(S16) -128 / -170141183460469231731687303715884105727
-0
-(S16) -128 / -9223372036854775808
-0
-(S16) -128 / (S64) -9223372036854775807
-(S16) 0
-(S16) -128 / (S64) -2147483648
-(S16) 0
-(S16) -128 / (S32) -2147483647
-(S16) 0
-(S16) -128 / (S32) -32768
-(S16) 0
-(S16) -128 / (S16) -32767
-(S16) 0
-(S16) -128 / (S16) -128
-(S16) 1
-(S16) -128 / (S8) -127
-(S16) 1
-(S16) -128 / (U8) 255
-(S16) 0
-(S16) -128 / (U16) 256
-(S16) 0
-(S16) -128 / (U16) 65535
-(S16) 0
-(S16) -128 / (U32) 65536
-(S16) 0
-(S16) -128 / (U32) 4294967295
-(S16) 0
-(S16) -128 / (U64) 4294967296
-(S16) 0
-(S16) -128 / (U64) 18446744073709551615
-(S16) 0
-(S16) -128 / 18446744073709551616
-0
-(S16) -128 / 340282366920938463463374607431768211455
-0
-(S16) -128 / 340282366920938463463374607431768211456
-0
-(S8) -127 / -170141183460469231731687303715884105728
-0
-(S8) -127 / -170141183460469231731687303715884105727
-0
-(S8) -127 / -9223372036854775808
-0
-(S8) -127 / (S64) -9223372036854775807
-(S8) 0
-(S8) -127 / (S64) -2147483648
-(S8) 0
-(S8) -127 / (S32) -2147483647
-(S8) 0
-(S8) -127 / (S32) -32768
-(S8) 0
-(S8) -127 / (S16) -32767
-(S8) 0
-(S8) -127 / (S16) -128
-(S8) 0
-(S8) -127 / (S8) -127
-(S8) 1
-(S8) -127 / (U8) 255
-(S8) 0
-(S8) -127 / (U16) 256
-(S8) 0
-(S8) -127 / (U16) 65535
-(S8) 0
-(S8) -127 / (U32) 65536
-(S8) 0
-(S8) -127 / (U32) 4294967295
-(S8) 0
-(S8) -127 / (U64) 4294967296
-(S8) 0
-(S8) -127 / (U64) 18446744073709551615
-(S8) 0
-(S8) -127 / 18446744073709551616
-0
-(S8) -127 / 340282366920938463463374607431768211455
-0
-(S8) -127 / 340282366920938463463374607431768211456
-0
-(U8) 255 / -170141183460469231731687303715884105728
-0
-(U8) 255 / -170141183460469231731687303715884105727
-0
-(U8) 255 / -9223372036854775808
-0
-(U8) 255 / (S64) -9223372036854775807
-(S16) 0
-(U8) 255 / (S64) -2147483648
-(S16) 0
-(U8) 255 / (S32) -2147483647
-(S16) 0
-(U8) 255 / (S32) -32768
-(S16) 0
-(U8) 255 / (S16) -32767
-(S16) 0
-(U8) 255 / (S16) -128
-(S16) -1
-(U8) 255 / (S8) -127
-(S16) -2
-(U8) 255 / (U8) 255
-(U8) 1
-(U8) 255 / (U16) 256
-(U16) 0
-(U8) 255 / (U16) 65535
-(U16) 0
-(U8) 255 / (U32) 65536
-(U32) 0
-(U8) 255 / (U32) 4294967295
-(U32) 0
-(U8) 255 / (U64) 4294967296
-(U64) 0
-(U8) 255 / (U64) 18446744073709551615
-(U64) 0
-(U8) 255 / 18446744073709551616
-0
-(U8) 255 / 340282366920938463463374607431768211455
-0
-(U8) 255 / 340282366920938463463374607431768211456
-0
-(U16) 256 / -170141183460469231731687303715884105728
-0
-(U16) 256 / -170141183460469231731687303715884105727
-0
-(U16) 256 / -9223372036854775808
-0
-(U16) 256 / (S64) -9223372036854775807
-(S32) 0
-(U16) 256 / (S64) -2147483648
-(S32) 0
-(U16) 256 / (S32) -2147483647
-(S32) 0
-(U16) 256 / (S32) -32768
-(S32) 0
-(U16) 256 / (S16) -32767
-(S32) 0
-(U16) 256 / (S16) -128
-(S32) -2
-(U16) 256 / (S8) -127
-(S32) -2
-(U16) 256 / (U8) 255
-(U16) 1
-(U16) 256 / (U16) 256
-(U16) 1
-(U16) 256 / (U16) 65535
-(U16) 0
-(U16) 256 / (U32) 65536
-(U16) 0
-(U16) 256 / (U32) 4294967295
-(U16) 0
-(U16) 256 / (U64) 4294967296
-(U16) 0
-(U16) 256 / (U64) 18446744073709551615
-(U16) 0
-(U16) 256 / 18446744073709551616
-0
-(U16) 256 / 340282366920938463463374607431768211455
-0
-(U16) 256 / 340282366920938463463374607431768211456
-0
-(U16) 65535 / -170141183460469231731687303715884105728
-0
-(U16) 65535 / -170141183460469231731687303715884105727
-0
-(U16) 65535 / -9223372036854775808
-0
-(U16) 65535 / (S64) -9223372036854775807
-(S32) 0
-(U16) 65535 / (S64) -2147483648
-(S32) 0
-(U16) 65535 / (S32) -2147483647
-(S32) 0
-(U16) 65535 / (S32) -32768
-(S32) -1
-(U16) 65535 / (S16) -32767
-(S32) -2
-(U16) 65535 / (S16) -128
-(S32) -511
-(U16) 65535 / (S8) -127
-(S32) -516
-(U16) 65535 / (U8) 255
-(U16) 257
-(U16) 65535 / (U16) 256
-(U16) 255
-(U16) 65535 / (U16) 65535
-(U16) 1
-(U16) 65535 / (U32) 65536
-(U16) 0
-(U16) 65535 / (U32) 4294967295
-(U16) 0
-(U16) 65535 / (U64) 4294967296
-(U16) 0
-(U16) 65535 / (U64) 18446744073709551615
-(U16) 0
-(U16) 65535 / 18446744073709551616
-0
-(U16) 65535 / 340282366920938463463374607431768211455
-0
-(U16) 65535 / 340282366920938463463374607431768211456
-0
-(U32) 65536 / -170141183460469231731687303715884105728
-0
-(U32) 65536 / -170141183460469231731687303715884105727
-0
-(U32) 65536 / -9223372036854775808
-0
-(U32) 65536 / (S64) -9223372036854775807
-(S64) 0
-(U32) 65536 / (S64) -2147483648
-(S64) 0
-(U32) 65536 / (S32) -2147483647
-(S64) 0
-(U32) 65536 / (S32) -32768
-(S64) -2
-(U32) 65536 / (S16) -32767
-(S64) -2
-(U32) 65536 / (S16) -128
-(S64) -512
-(U32) 65536 / (S8) -127
-(S64) -516
-(U32) 65536 / (U8) 255
-(U32) 257
-(U32) 65536 / (U16) 256
-(U32) 256
-(U32) 65536 / (U16) 65535
-(U32) 1
-(U32) 65536 / (U32) 65536
-(U32) 1
-(U32) 65536 / (U32) 4294967295
-(U32) 0
-(U32) 65536 / (U64) 4294967296
-(U64) 0
-(U32) 65536 / (U64) 18446744073709551615
-(U64) 0
-(U32) 65536 / 18446744073709551616
-0
-(U32) 65536 / 340282366920938463463374607431768211455
-0
-(U32) 65536 / 340282366920938463463374607431768211456
-0
-(U32) 4294967295 / -170141183460469231731687303715884105728
-0
-(U32) 4294967295 / -170141183460469231731687303715884105727
-0
-(U32) 4294967295 / -9223372036854775808
-0
-(U32) 4294967295 / (S64) -9223372036854775807
-(S64) 0
-(U32) 4294967295 / (S64) -2147483648
-(S64) -1
-(U32) 4294967295 / (S32) -2147483647
-(S64) -2
-(U32) 4294967295 / (S32) -32768
-(S64) -131071
-(U32) 4294967295 / (S16) -32767
-(S64) -131076
-(U32) 4294967295 / (S16) -128
-(S64) -33554431
-(U32) 4294967295 / (S8) -127
-(S64) -33818640
-(U32) 4294967295 / (U8) 255
-(U32) 16843009
-(U32) 4294967295 / (U16) 256
-(U32) 16777215
-(U32) 4294967295 / (U16) 65535
-(U32) 65537
-(U32) 4294967295 / (U32) 65536
-(U32) 65535
-(U32) 4294967295 / (U32) 4294967295
-(U32) 1
-(U32) 4294967295 / (U64) 4294967296
-(U64) 0
-(U32) 4294967295 / (U64) 18446744073709551615
-(U64) 0
-(U32) 4294967295 / 18446744073709551616
-0
-(U32) 4294967295 / 340282366920938463463374607431768211455
-0
-(U32) 4294967295 / 340282366920938463463374607431768211456
-0
-(U64) 4294967296 / -170141183460469231731687303715884105728
-0
-(U64) 4294967296 / -170141183460469231731687303715884105727
-0
-(U64) 4294967296 / -9223372036854775808
-0
-(U64) 4294967296 / (S64) -9223372036854775807
-(S64) 0
-(U64) 4294967296 / (S64) -2147483648
-(S64) -2
-(U64) 4294967296 / (S32) -2147483647
-(S64) -2
-(U64) 4294967296 / (S32) -32768
-(S64) -131072
-(U64) 4294967296 / (S16) -32767
-(S64) -131076
-(U64) 4294967296 / (S16) -128
-(S64) -33554432
-(U64) 4294967296 / (S8) -127
-(S64) -33818640
-(U64) 4294967296 / (U8) 255
-(U64) 16843009
-(U64) 4294967296 / (U16) 256
-(U64) 16777216
-(U64) 4294967296 / (U16) 65535
-(U64) 65537
-(U64) 4294967296 / (U32) 65536
-(U64) 65536
-(U64) 4294967296 / (U32) 4294967295
-(U64) 1
-(U64) 4294967296 / (U64) 4294967296
-(U64) 1
-(U64) 4294967296 / (U64) 18446744073709551615
-(U64) 0
-(U64) 4294967296 / 18446744073709551616
-0
-(U64) 4294967296 / 340282366920938463463374607431768211455
-0
-(U64) 4294967296 / 340282366920938463463374607431768211456
-0
-(U64) 18446744073709551615 / -170141183460469231731687303715884105728
-0
-(U64) 18446744073709551615 / -170141183460469231731687303715884105727
-0
-(U64) 18446744073709551615 / -9223372036854775808
+-9223372036854775807 / -170141183460469231731687303715884105728
+0
+-9223372036854775807 / -170141183460469231731687303715884105727
+0
+-9223372036854775807 / -9223372036854775808
+0
+-9223372036854775807 / -9223372036854775807
+1
+-9223372036854775807 / -2147483648
+4294967295
+-9223372036854775807 / -2147483647
+4294967298
+-9223372036854775807 / -32768
+281474976710655
+-9223372036854775807 / -32767
+281483566907400
+-9223372036854775807 / -128
+72057594037927935
+-9223372036854775807 / -127
+72624976668147841
+-9223372036854775807 / 255
+-36170086419038336
+-9223372036854775807 / 256
+-36028797018963967
+-9223372036854775807 / 65535
+-140739635871744
+-9223372036854775807 / 65536
+-140737488355327
+-9223372036854775807 / 4294967295
+-2147483648
+-9223372036854775807 / 4294967296
+-2147483647
+-9223372036854775807 / 18446744073709551615
+0
+-9223372036854775807 / 18446744073709551616
+0
+-9223372036854775807 / 340282366920938463463374607431768211455
+0
+-9223372036854775807 / 340282366920938463463374607431768211456
+0
+-2147483648 / -170141183460469231731687303715884105728
+0
+-2147483648 / -170141183460469231731687303715884105727
+0
+-2147483648 / -9223372036854775808
+0
+-2147483648 / -9223372036854775807
+0
+-2147483648 / -2147483648
+1
+-2147483648 / -2147483647
+1
+-2147483648 / -32768
+65536
+-2147483648 / -32767
+65538
+-2147483648 / -128
+16777216
+-2147483648 / -127
+16909320
+-2147483648 / 255
+-8421504
+-2147483648 / 256
+-8388608
+-2147483648 / 65535
+-32768
+-2147483648 / 65536
+-32768
+-2147483648 / 4294967295
+0
+-2147483648 / 4294967296
+0
+-2147483648 / 18446744073709551615
+0
+-2147483648 / 18446744073709551616
+0
+-2147483648 / 340282366920938463463374607431768211455
+0
+-2147483648 / 340282366920938463463374607431768211456
+0
+-2147483647 / -170141183460469231731687303715884105728
+0
+-2147483647 / -170141183460469231731687303715884105727
+0
+-2147483647 / -9223372036854775808
+0
+-2147483647 / -9223372036854775807
+0
+-2147483647 / -2147483648
+0
+-2147483647 / -2147483647
+1
+-2147483647 / -32768
+65535
+-2147483647 / -32767
+65538
+-2147483647 / -128
+16777215
+-2147483647 / -127
+16909320
+-2147483647 / 255
+-8421504
+-2147483647 / 256
+-8388607
+-2147483647 / 65535
+-32768
+-2147483647 / 65536
+-32767
+-2147483647 / 4294967295
+0
+-2147483647 / 4294967296
+0
+-2147483647 / 18446744073709551615
+0
+-2147483647 / 18446744073709551616
+0
+-2147483647 / 340282366920938463463374607431768211455
+0
+-2147483647 / 340282366920938463463374607431768211456
+0
+-32768 / -170141183460469231731687303715884105728
+0
+-32768 / -170141183460469231731687303715884105727
+0
+-32768 / -9223372036854775808
+0
+-32768 / -9223372036854775807
+0
+-32768 / -2147483648
+0
+-32768 / -2147483647
+0
+-32768 / -32768
+1
+-32768 / -32767
+1
+-32768 / -128
+256
+-32768 / -127
+258
+-32768 / 255
+-128
+-32768 / 256
+-128
+-32768 / 65535
+0
+-32768 / 65536
+0
+-32768 / 4294967295
+0
+-32768 / 4294967296
+0
+-32768 / 18446744073709551615
+0
+-32768 / 18446744073709551616
+0
+-32768 / 340282366920938463463374607431768211455
+0
+-32768 / 340282366920938463463374607431768211456
+0
+-32767 / -170141183460469231731687303715884105728
+0
+-32767 / -170141183460469231731687303715884105727
+0
+-32767 / -9223372036854775808
+0
+-32767 / -9223372036854775807
+0
+-32767 / -2147483648
+0
+-32767 / -2147483647
+0
+-32767 / -32768
+0
+-32767 / -32767
+1
+-32767 / -128
+255
+-32767 / -127
+258
+-32767 / 255
+-128
+-32767 / 256
+-127
+-32767 / 65535
+0
+-32767 / 65536
+0
+-32767 / 4294967295
+0
+-32767 / 4294967296
+0
+-32767 / 18446744073709551615
+0
+-32767 / 18446744073709551616
+0
+-32767 / 340282366920938463463374607431768211455
+0
+-32767 / 340282366920938463463374607431768211456
+0
+-128 / -170141183460469231731687303715884105728
+0
+-128 / -170141183460469231731687303715884105727
+0
+-128 / -9223372036854775808
+0
+-128 / -9223372036854775807
+0
+-128 / -2147483648
+0
+-128 / -2147483647
+0
+-128 / -32768
+0
+-128 / -32767
+0
+-128 / -128
+1
+-128 / -127
+1
+-128 / 255
+0
+-128 / 256
+0
+-128 / 65535
+0
+-128 / 65536
+0
+-128 / 4294967295
+0
+-128 / 4294967296
+0
+-128 / 18446744073709551615
+0
+-128 / 18446744073709551616
+0
+-128 / 340282366920938463463374607431768211455
+0
+-128 / 340282366920938463463374607431768211456
+0
+-127 / -170141183460469231731687303715884105728
+0
+-127 / -170141183460469231731687303715884105727
+0
+-127 / -9223372036854775808
+0
+-127 / -9223372036854775807
+0
+-127 / -2147483648
+0
+-127 / -2147483647
+0
+-127 / -32768
+0
+-127 / -32767
+0
+-127 / -128
+0
+-127 / -127
+1
+-127 / 255
+0
+-127 / 256
+0
+-127 / 65535
+0
+-127 / 65536
+0
+-127 / 4294967295
+0
+-127 / 4294967296
+0
+-127 / 18446744073709551615
+0
+-127 / 18446744073709551616
+0
+-127 / 340282366920938463463374607431768211455
+0
+-127 / 340282366920938463463374607431768211456
+0
+255 / -170141183460469231731687303715884105728
+0
+255 / -170141183460469231731687303715884105727
+0
+255 / -9223372036854775808
+0
+255 / -9223372036854775807
+0
+255 / -2147483648
+0
+255 / -2147483647
+0
+255 / -32768
+0
+255 / -32767
+0
+255 / -128
+-1
+255 / -127
+-2
+255 / 255
+1
+255 / 256
+0
+255 / 65535
+0
+255 / 65536
+0
+255 / 4294967295
+0
+255 / 4294967296
+0
+255 / 18446744073709551615
+0
+255 / 18446744073709551616
+0
+255 / 340282366920938463463374607431768211455
+0
+255 / 340282366920938463463374607431768211456
+0
+256 / -170141183460469231731687303715884105728
+0
+256 / -170141183460469231731687303715884105727
+0
+256 / -9223372036854775808
+0
+256 / -9223372036854775807
+0
+256 / -2147483648
+0
+256 / -2147483647
+0
+256 / -32768
+0
+256 / -32767
+0
+256 / -128
+-2
+256 / -127
+-2
+256 / 255
+1
+256 / 256
+1
+256 / 65535
+0
+256 / 65536
+0
+256 / 4294967295
+0
+256 / 4294967296
+0
+256 / 18446744073709551615
+0
+256 / 18446744073709551616
+0
+256 / 340282366920938463463374607431768211455
+0
+256 / 340282366920938463463374607431768211456
+0
+65535 / -170141183460469231731687303715884105728
+0
+65535 / -170141183460469231731687303715884105727
+0
+65535 / -9223372036854775808
+0
+65535 / -9223372036854775807
+0
+65535 / -2147483648
+0
+65535 / -2147483647
+0
+65535 / -32768
-1
-(U64) 18446744073709551615 / (S64) -9223372036854775807
+65535 / -32767
-2
-(U64) 18446744073709551615 / (S64) -2147483648
+65535 / -128
+-511
+65535 / -127
+-516
+65535 / 255
+257
+65535 / 256
+255
+65535 / 65535
+1
+65535 / 65536
+0
+65535 / 4294967295
+0
+65535 / 4294967296
+0
+65535 / 18446744073709551615
+0
+65535 / 18446744073709551616
+0
+65535 / 340282366920938463463374607431768211455
+0
+65535 / 340282366920938463463374607431768211456
+0
+65536 / -170141183460469231731687303715884105728
+0
+65536 / -170141183460469231731687303715884105727
+0
+65536 / -9223372036854775808
+0
+65536 / -9223372036854775807
+0
+65536 / -2147483648
+0
+65536 / -2147483647
+0
+65536 / -32768
+-2
+65536 / -32767
+-2
+65536 / -128
+-512
+65536 / -127
+-516
+65536 / 255
+257
+65536 / 256
+256
+65536 / 65535
+1
+65536 / 65536
+1
+65536 / 4294967295
+0
+65536 / 4294967296
+0
+65536 / 18446744073709551615
+0
+65536 / 18446744073709551616
+0
+65536 / 340282366920938463463374607431768211455
+0
+65536 / 340282366920938463463374607431768211456
+0
+4294967295 / -170141183460469231731687303715884105728
+0
+4294967295 / -170141183460469231731687303715884105727
+0
+4294967295 / -9223372036854775808
+0
+4294967295 / -9223372036854775807
+0
+4294967295 / -2147483648
+-1
+4294967295 / -2147483647
+-2
+4294967295 / -32768
+-131071
+4294967295 / -32767
+-131076
+4294967295 / -128
+-33554431
+4294967295 / -127
+-33818640
+4294967295 / 255
+16843009
+4294967295 / 256
+16777215
+4294967295 / 65535
+65537
+4294967295 / 65536
+65535
+4294967295 / 4294967295
+1
+4294967295 / 4294967296
+0
+4294967295 / 18446744073709551615
+0
+4294967295 / 18446744073709551616
+0
+4294967295 / 340282366920938463463374607431768211455
+0
+4294967295 / 340282366920938463463374607431768211456
+0
+4294967296 / -170141183460469231731687303715884105728
+0
+4294967296 / -170141183460469231731687303715884105727
+0
+4294967296 / -9223372036854775808
+0
+4294967296 / -9223372036854775807
+0
+4294967296 / -2147483648
+-2
+4294967296 / -2147483647
+-2
+4294967296 / -32768
+-131072
+4294967296 / -32767
+-131076
+4294967296 / -128
+-33554432
+4294967296 / -127
+-33818640
+4294967296 / 255
+16843009
+4294967296 / 256
+16777216
+4294967296 / 65535
+65537
+4294967296 / 65536
+65536
+4294967296 / 4294967295
+1
+4294967296 / 4294967296
+1
+4294967296 / 18446744073709551615
+0
+4294967296 / 18446744073709551616
+0
+4294967296 / 340282366920938463463374607431768211455
+0
+4294967296 / 340282366920938463463374607431768211456
+0
+18446744073709551615 / -170141183460469231731687303715884105728
+0
+18446744073709551615 / -170141183460469231731687303715884105727
+0
+18446744073709551615 / -9223372036854775808
+-1
+18446744073709551615 / -9223372036854775807
+-2
+18446744073709551615 / -2147483648
-8589934591
-(U64) 18446744073709551615 / (S32) -2147483647
+18446744073709551615 / -2147483647
-8589934596
-(U64) 18446744073709551615 / (S32) -32768
+18446744073709551615 / -32768
-562949953421311
-(U64) 18446744073709551615 / (S16) -32767
+18446744073709551615 / -32767
-562967133814800
-(U64) 18446744073709551615 / (S16) -128
+18446744073709551615 / -128
-144115188075855871
-(U64) 18446744073709551615 / (S8) -127
+18446744073709551615 / -127
-145249953336295682
-(U64) 18446744073709551615 / (U8) 255
-(U64) 72340172838076673
-(U64) 18446744073709551615 / (U16) 256
-(U64) 72057594037927935
-(U64) 18446744073709551615 / (U16) 65535
-(U64) 281479271743489
-(U64) 18446744073709551615 / (U32) 65536
-(U64) 281474976710655
-(U64) 18446744073709551615 / (U32) 4294967295
-(U64) 4294967297
-(U64) 18446744073709551615 / (U64) 4294967296
-(U64) 4294967295
-(U64) 18446744073709551615 / (U64) 18446744073709551615
-(U64) 1
-(U64) 18446744073709551615 / 18446744073709551616
-0
-(U64) 18446744073709551615 / 340282366920938463463374607431768211455
-0
-(U64) 18446744073709551615 / 340282366920938463463374607431768211456
+18446744073709551615 / 255
+72340172838076673
+18446744073709551615 / 256
+72057594037927935
+18446744073709551615 / 65535
+281479271743489
+18446744073709551615 / 65536
+281474976710655
+18446744073709551615 / 4294967295
+4294967297
+18446744073709551615 / 4294967296
+4294967295
+18446744073709551615 / 18446744073709551615
+1
+18446744073709551615 / 18446744073709551616
+0
+18446744073709551615 / 340282366920938463463374607431768211455
+0
+18446744073709551615 / 340282366920938463463374607431768211456
0
18446744073709551616 / -170141183460469231731687303715884105728
0
@@ -684,33 +684,33 @@
0
18446744073709551616 / -9223372036854775808
-2
-18446744073709551616 / (S64) -9223372036854775807
+18446744073709551616 / -9223372036854775807
-2
-18446744073709551616 / (S64) -2147483648
+18446744073709551616 / -2147483648
-8589934592
-18446744073709551616 / (S32) -2147483647
+18446744073709551616 / -2147483647
-8589934596
-18446744073709551616 / (S32) -32768
+18446744073709551616 / -32768
-562949953421312
-18446744073709551616 / (S16) -32767
+18446744073709551616 / -32767
-562967133814800
-18446744073709551616 / (S16) -128
+18446744073709551616 / -128
-144115188075855872
-18446744073709551616 / (S8) -127
+18446744073709551616 / -127
-145249953336295682
-18446744073709551616 / (U8) 255
+18446744073709551616 / 255
72340172838076673
-18446744073709551616 / (U16) 256
+18446744073709551616 / 256
72057594037927936
-18446744073709551616 / (U16) 65535
+18446744073709551616 / 65535
281479271743489
-18446744073709551616 / (U32) 65536
+18446744073709551616 / 65536
281474976710656
-18446744073709551616 / (U32) 4294967295
+18446744073709551616 / 4294967295
4294967297
-18446744073709551616 / (U64) 4294967296
+18446744073709551616 / 4294967296
4294967296
-18446744073709551616 / (U64) 18446744073709551615
+18446744073709551616 / 18446744073709551615
1
18446744073709551616 / 18446744073709551616
1
@@ -724,33 +724,33 @@
-2
340282366920938463463374607431768211455 / -9223372036854775808
-36893488147419103231
-340282366920938463463374607431768211455 / (S64) -9223372036854775807
+340282366920938463463374607431768211455 / -9223372036854775807
-36893488147419103236
-340282366920938463463374607431768211455 / (S64) -2147483648
+340282366920938463463374607431768211455 / -2147483648
-158456325028528675187087900671
-340282366920938463463374607431768211455 / (S32) -2147483647
+340282366920938463463374607431768211455 / -2147483647
-158456325102315651516285845520
-340282366920938463463374607431768211455 / (S32) -32768
+340282366920938463463374607431768211455 / -32768
-10384593717069655257060992658440191
-340282366920938463463374607431768211455 / (S16) -32767
+340282366920938463463374607431768211455 / -32767
-10384910639391414028241053725753600
-340282366920938463463374607431768211455 / (S16) -128
+340282366920938463463374607431768211455 / -128
-2658455991569831745807614120560689151
-340282366920938463463374607431768211455 / (S8) -127
+340282366920938463463374607431768211455 / -127
-2679388715912901287113185885289513476
-340282366920938463463374607431768211455 / (U8) 255
+340282366920938463463374607431768211455 / 255
1334440654591915542993625911497130241
-340282366920938463463374607431768211455 / (U16) 256
+340282366920938463463374607431768211455 / 256
1329227995784915872903807060280344575
-340282366920938463463374607431768211455 / (U16) 65535
+340282366920938463463374607431768211455 / 65535
5192376087906286159508272029171713
-340282366920938463463374607431768211455 / (U32) 65536
+340282366920938463463374607431768211455 / 65536
5192296858534827628530496329220095
-340282366920938463463374607431768211455 / (U32) 4294967295
+340282366920938463463374607431768211455 / 4294967295
79228162532711081671548469249
-340282366920938463463374607431768211455 / (U64) 4294967296
+340282366920938463463374607431768211455 / 4294967296
79228162514264337593543950335
-340282366920938463463374607431768211455 / (U64) 18446744073709551615
+340282366920938463463374607431768211455 / 18446744073709551615
18446744073709551617
340282366920938463463374607431768211455 / 18446744073709551616
18446744073709551615
@@ -764,33 +764,33 @@
-2
340282366920938463463374607431768211456 / -9223372036854775808
-36893488147419103232
-340282366920938463463374607431768211456 / (S64) -9223372036854775807
+340282366920938463463374607431768211456 / -9223372036854775807
-36893488147419103236
-340282366920938463463374607431768211456 / (S64) -2147483648
+340282366920938463463374607431768211456 / -2147483648
-158456325028528675187087900672
-340282366920938463463374607431768211456 / (S32) -2147483647
+340282366920938463463374607431768211456 / -2147483647
-158456325102315651516285845520
-340282366920938463463374607431768211456 / (S32) -32768
+340282366920938463463374607431768211456 / -32768
-10384593717069655257060992658440192
-340282366920938463463374607431768211456 / (S16) -32767
+340282366920938463463374607431768211456 / -32767
-10384910639391414028241053725753600
-340282366920938463463374607431768211456 / (S16) -128
+340282366920938463463374607431768211456 / -128
-2658455991569831745807614120560689152
-340282366920938463463374607431768211456 / (S8) -127
+340282366920938463463374607431768211456 / -127
-2679388715912901287113185885289513476
-340282366920938463463374607431768211456 / (U8) 255
+340282366920938463463374607431768211456 / 255
1334440654591915542993625911497130241
-340282366920938463463374607431768211456 / (U16) 256
+340282366920938463463374607431768211456 / 256
1329227995784915872903807060280344576
-340282366920938463463374607431768211456 / (U16) 65535
+340282366920938463463374607431768211456 / 65535
5192376087906286159508272029171713
-340282366920938463463374607431768211456 / (U32) 65536
+340282366920938463463374607431768211456 / 65536
5192296858534827628530496329220096
-340282366920938463463374607431768211456 / (U32) 4294967295
+340282366920938463463374607431768211456 / 4294967295
79228162532711081671548469249
-340282366920938463463374607431768211456 / (U64) 4294967296
+340282366920938463463374607431768211456 / 4294967296
79228162514264337593543950336
-340282366920938463463374607431768211456 / (U64) 18446744073709551615
+340282366920938463463374607431768211456 / 18446744073709551615
18446744073709551617
340282366920938463463374607431768211456 / 18446744073709551616
18446744073709551616
diff --git a/test/ikc3/integer_eq.out.expected b/test/ikc3/integer_eq.out.expected
index fff7f47..23605cf 100644
--- a/test/ikc3/integer_eq.out.expected
+++ b/test/ikc3/integer_eq.out.expected
@@ -4,33 +4,33 @@ true
false
-170141183460469231731687303715884105728 == -9223372036854775808
false
--170141183460469231731687303715884105728 == (S64) -9223372036854775807
+-170141183460469231731687303715884105728 == -9223372036854775807
false
--170141183460469231731687303715884105728 == (S64) -2147483648
+-170141183460469231731687303715884105728 == -2147483648
false
--170141183460469231731687303715884105728 == (S32) -2147483647
+-170141183460469231731687303715884105728 == -2147483647
false
--170141183460469231731687303715884105728 == (S32) -32768
+-170141183460469231731687303715884105728 == -32768
false
--170141183460469231731687303715884105728 == (S16) -32767
+-170141183460469231731687303715884105728 == -32767
false
--170141183460469231731687303715884105728 == (S16) -128
+-170141183460469231731687303715884105728 == -128
false
--170141183460469231731687303715884105728 == (S8) -127
+-170141183460469231731687303715884105728 == -127
false
--170141183460469231731687303715884105728 == (U8) 255
+-170141183460469231731687303715884105728 == 255
false
--170141183460469231731687303715884105728 == (U16) 256
+-170141183460469231731687303715884105728 == 256
false
--170141183460469231731687303715884105728 == (U16) 65535
+-170141183460469231731687303715884105728 == 65535
false
--170141183460469231731687303715884105728 == (U32) 65536
+-170141183460469231731687303715884105728 == 65536
false
--170141183460469231731687303715884105728 == (U32) 4294967295
+-170141183460469231731687303715884105728 == 4294967295
false
--170141183460469231731687303715884105728 == (U64) 4294967296
+-170141183460469231731687303715884105728 == 4294967296
false
--170141183460469231731687303715884105728 == (U64) 18446744073709551615
+-170141183460469231731687303715884105728 == 18446744073709551615
false
-170141183460469231731687303715884105728 == 18446744073709551616
false
@@ -44,33 +44,33 @@ false
true
-170141183460469231731687303715884105727 == -9223372036854775808
false
--170141183460469231731687303715884105727 == (S64) -9223372036854775807
+-170141183460469231731687303715884105727 == -9223372036854775807
false
--170141183460469231731687303715884105727 == (S64) -2147483648
+-170141183460469231731687303715884105727 == -2147483648
false
--170141183460469231731687303715884105727 == (S32) -2147483647
+-170141183460469231731687303715884105727 == -2147483647
false
--170141183460469231731687303715884105727 == (S32) -32768
+-170141183460469231731687303715884105727 == -32768
false
--170141183460469231731687303715884105727 == (S16) -32767
+-170141183460469231731687303715884105727 == -32767
false
--170141183460469231731687303715884105727 == (S16) -128
+-170141183460469231731687303715884105727 == -128
false
--170141183460469231731687303715884105727 == (S8) -127
+-170141183460469231731687303715884105727 == -127
false
--170141183460469231731687303715884105727 == (U8) 255
+-170141183460469231731687303715884105727 == 255
false
--170141183460469231731687303715884105727 == (U16) 256
+-170141183460469231731687303715884105727 == 256
false
--170141183460469231731687303715884105727 == (U16) 65535
+-170141183460469231731687303715884105727 == 65535
false
--170141183460469231731687303715884105727 == (U32) 65536
+-170141183460469231731687303715884105727 == 65536
false
--170141183460469231731687303715884105727 == (U32) 4294967295
+-170141183460469231731687303715884105727 == 4294967295
false
--170141183460469231731687303715884105727 == (U64) 4294967296
+-170141183460469231731687303715884105727 == 4294967296
false
--170141183460469231731687303715884105727 == (U64) 18446744073709551615
+-170141183460469231731687303715884105727 == 18446744073709551615
false
-170141183460469231731687303715884105727 == 18446744073709551616
false
@@ -84,33 +84,33 @@ false
false
-9223372036854775808 == -9223372036854775808
true
--9223372036854775808 == (S64) -9223372036854775807
+-9223372036854775808 == -9223372036854775807
false
--9223372036854775808 == (S64) -2147483648
+-9223372036854775808 == -2147483648
false
--9223372036854775808 == (S32) -2147483647
+-9223372036854775808 == -2147483647
false
--9223372036854775808 == (S32) -32768
+-9223372036854775808 == -32768
false
--9223372036854775808 == (S16) -32767
+-9223372036854775808 == -32767
false
--9223372036854775808 == (S16) -128
+-9223372036854775808 == -128
false
--9223372036854775808 == (S8) -127
+-9223372036854775808 == -127
false
--9223372036854775808 == (U8) 255
+-9223372036854775808 == 255
false
--9223372036854775808 == (U16) 256
+-9223372036854775808 == 256
false
--9223372036854775808 == (U16) 65535
+-9223372036854775808 == 65535
false
--9223372036854775808 == (U32) 65536
+-9223372036854775808 == 65536
false
--9223372036854775808 == (U32) 4294967295
+-9223372036854775808 == 4294967295
false
--9223372036854775808 == (U64) 4294967296
+-9223372036854775808 == 4294967296
false
--9223372036854775808 == (U64) 18446744073709551615
+-9223372036854775808 == 18446744073709551615
false
-9223372036854775808 == 18446744073709551616
false
@@ -118,565 +118,565 @@ false
false
-9223372036854775808 == 340282366920938463463374607431768211456
false
-(S64) -9223372036854775807 == -170141183460469231731687303715884105728
+-9223372036854775807 == -170141183460469231731687303715884105728
false
-(S64) -9223372036854775807 == -170141183460469231731687303715884105727
+-9223372036854775807 == -170141183460469231731687303715884105727
false
-(S64) -9223372036854775807 == -9223372036854775808
+-9223372036854775807 == -9223372036854775808
false
-(S64) -9223372036854775807 == (S64) -9223372036854775807
+-9223372036854775807 == -9223372036854775807
true
-(S64) -9223372036854775807 == (S64) -2147483648
+-9223372036854775807 == -2147483648
false
-(S64) -9223372036854775807 == (S32) -2147483647
+-9223372036854775807 == -2147483647
false
-(S64) -9223372036854775807 == (S32) -32768
+-9223372036854775807 == -32768
false
-(S64) -9223372036854775807 == (S16) -32767
+-9223372036854775807 == -32767
false
-(S64) -9223372036854775807 == (S16) -128
+-9223372036854775807 == -128
false
-(S64) -9223372036854775807 == (S8) -127
+-9223372036854775807 == -127
false
-(S64) -9223372036854775807 == (U8) 255
+-9223372036854775807 == 255
false
-(S64) -9223372036854775807 == (U16) 256
+-9223372036854775807 == 256
false
-(S64) -9223372036854775807 == (U16) 65535
+-9223372036854775807 == 65535
false
-(S64) -9223372036854775807 == (U32) 65536
+-9223372036854775807 == 65536
false
-(S64) -9223372036854775807 == (U32) 4294967295
+-9223372036854775807 == 4294967295
false
-(S64) -9223372036854775807 == (U64) 4294967296
+-9223372036854775807 == 4294967296
false
-(S64) -9223372036854775807 == (U64) 18446744073709551615
+-9223372036854775807 == 18446744073709551615
false
-(S64) -9223372036854775807 == 18446744073709551616
+-9223372036854775807 == 18446744073709551616
false
-(S64) -9223372036854775807 == 340282366920938463463374607431768211455
+-9223372036854775807 == 340282366920938463463374607431768211455
false
-(S64) -9223372036854775807 == 340282366920938463463374607431768211456
+-9223372036854775807 == 340282366920938463463374607431768211456
false
-(S64) -2147483648 == -170141183460469231731687303715884105728
+-2147483648 == -170141183460469231731687303715884105728
false
-(S64) -2147483648 == -170141183460469231731687303715884105727
+-2147483648 == -170141183460469231731687303715884105727
false
-(S64) -2147483648 == -9223372036854775808
+-2147483648 == -9223372036854775808
false
-(S64) -2147483648 == (S64) -9223372036854775807
+-2147483648 == -9223372036854775807
false
-(S64) -2147483648 == (S64) -2147483648
+-2147483648 == -2147483648
true
-(S64) -2147483648 == (S32) -2147483647
+-2147483648 == -2147483647
false
-(S64) -2147483648 == (S32) -32768
+-2147483648 == -32768
false
-(S64) -2147483648 == (S16) -32767
+-2147483648 == -32767
false
-(S64) -2147483648 == (S16) -128
+-2147483648 == -128
false
-(S64) -2147483648 == (S8) -127
+-2147483648 == -127
false
-(S64) -2147483648 == (U8) 255
+-2147483648 == 255
false
-(S64) -2147483648 == (U16) 256
+-2147483648 == 256
false
-(S64) -2147483648 == (U16) 65535
+-2147483648 == 65535
false
-(S64) -2147483648 == (U32) 65536
+-2147483648 == 65536
false
-(S64) -2147483648 == (U32) 4294967295
+-2147483648 == 4294967295
false
-(S64) -2147483648 == (U64) 4294967296
+-2147483648 == 4294967296
false
-(S64) -2147483648 == (U64) 18446744073709551615
+-2147483648 == 18446744073709551615
false
-(S64) -2147483648 == 18446744073709551616
+-2147483648 == 18446744073709551616
false
-(S64) -2147483648 == 340282366920938463463374607431768211455
+-2147483648 == 340282366920938463463374607431768211455
false
-(S64) -2147483648 == 340282366920938463463374607431768211456
+-2147483648 == 340282366920938463463374607431768211456
false
-(S32) -2147483647 == -170141183460469231731687303715884105728
+-2147483647 == -170141183460469231731687303715884105728
false
-(S32) -2147483647 == -170141183460469231731687303715884105727
+-2147483647 == -170141183460469231731687303715884105727
false
-(S32) -2147483647 == -9223372036854775808
+-2147483647 == -9223372036854775808
false
-(S32) -2147483647 == (S64) -9223372036854775807
+-2147483647 == -9223372036854775807
false
-(S32) -2147483647 == (S64) -2147483648
+-2147483647 == -2147483648
false
-(S32) -2147483647 == (S32) -2147483647
+-2147483647 == -2147483647
true
-(S32) -2147483647 == (S32) -32768
+-2147483647 == -32768
false
-(S32) -2147483647 == (S16) -32767
+-2147483647 == -32767
false
-(S32) -2147483647 == (S16) -128
+-2147483647 == -128
false
-(S32) -2147483647 == (S8) -127
+-2147483647 == -127
false
-(S32) -2147483647 == (U8) 255
+-2147483647 == 255
false
-(S32) -2147483647 == (U16) 256
+-2147483647 == 256
false
-(S32) -2147483647 == (U16) 65535
+-2147483647 == 65535
false
-(S32) -2147483647 == (U32) 65536
+-2147483647 == 65536
false
-(S32) -2147483647 == (U32) 4294967295
+-2147483647 == 4294967295
false
-(S32) -2147483647 == (U64) 4294967296
+-2147483647 == 4294967296
false
-(S32) -2147483647 == (U64) 18446744073709551615
+-2147483647 == 18446744073709551615
false
-(S32) -2147483647 == 18446744073709551616
+-2147483647 == 18446744073709551616
false
-(S32) -2147483647 == 340282366920938463463374607431768211455
+-2147483647 == 340282366920938463463374607431768211455
false
-(S32) -2147483647 == 340282366920938463463374607431768211456
+-2147483647 == 340282366920938463463374607431768211456
false
-(S32) -32768 == -170141183460469231731687303715884105728
+-32768 == -170141183460469231731687303715884105728
false
-(S32) -32768 == -170141183460469231731687303715884105727
+-32768 == -170141183460469231731687303715884105727
false
-(S32) -32768 == -9223372036854775808
+-32768 == -9223372036854775808
false
-(S32) -32768 == (S64) -9223372036854775807
+-32768 == -9223372036854775807
false
-(S32) -32768 == (S64) -2147483648
+-32768 == -2147483648
false
-(S32) -32768 == (S32) -2147483647
+-32768 == -2147483647
false
-(S32) -32768 == (S32) -32768
+-32768 == -32768
true
-(S32) -32768 == (S16) -32767
+-32768 == -32767
false
-(S32) -32768 == (S16) -128
+-32768 == -128
false
-(S32) -32768 == (S8) -127
+-32768 == -127
false
-(S32) -32768 == (U8) 255
+-32768 == 255
false
-(S32) -32768 == (U16) 256
+-32768 == 256
false
-(S32) -32768 == (U16) 65535
+-32768 == 65535
false
-(S32) -32768 == (U32) 65536
+-32768 == 65536
false
-(S32) -32768 == (U32) 4294967295
+-32768 == 4294967295
false
-(S32) -32768 == (U64) 4294967296
+-32768 == 4294967296
false
-(S32) -32768 == (U64) 18446744073709551615
+-32768 == 18446744073709551615
false
-(S32) -32768 == 18446744073709551616
+-32768 == 18446744073709551616
false
-(S32) -32768 == 340282366920938463463374607431768211455
+-32768 == 340282366920938463463374607431768211455
false
-(S32) -32768 == 340282366920938463463374607431768211456
+-32768 == 340282366920938463463374607431768211456
false
-(S16) -32767 == -170141183460469231731687303715884105728
+-32767 == -170141183460469231731687303715884105728
false
-(S16) -32767 == -170141183460469231731687303715884105727
+-32767 == -170141183460469231731687303715884105727
false
-(S16) -32767 == -9223372036854775808
+-32767 == -9223372036854775808
false
-(S16) -32767 == (S64) -9223372036854775807
+-32767 == -9223372036854775807
false
-(S16) -32767 == (S64) -2147483648
+-32767 == -2147483648
false
-(S16) -32767 == (S32) -2147483647
+-32767 == -2147483647
false
-(S16) -32767 == (S32) -32768
+-32767 == -32768
false
-(S16) -32767 == (S16) -32767
+-32767 == -32767
true
-(S16) -32767 == (S16) -128
+-32767 == -128
false
-(S16) -32767 == (S8) -127
+-32767 == -127
false
-(S16) -32767 == (U8) 255
+-32767 == 255
false
-(S16) -32767 == (U16) 256
+-32767 == 256
false
-(S16) -32767 == (U16) 65535
+-32767 == 65535
false
-(S16) -32767 == (U32) 65536
+-32767 == 65536
false
-(S16) -32767 == (U32) 4294967295
+-32767 == 4294967295
false
-(S16) -32767 == (U64) 4294967296
+-32767 == 4294967296
false
-(S16) -32767 == (U64) 18446744073709551615
+-32767 == 18446744073709551615
false
-(S16) -32767 == 18446744073709551616
+-32767 == 18446744073709551616
false
-(S16) -32767 == 340282366920938463463374607431768211455
+-32767 == 340282366920938463463374607431768211455
false
-(S16) -32767 == 340282366920938463463374607431768211456
+-32767 == 340282366920938463463374607431768211456
false
-(S16) -128 == -170141183460469231731687303715884105728
+-128 == -170141183460469231731687303715884105728
false
-(S16) -128 == -170141183460469231731687303715884105727
+-128 == -170141183460469231731687303715884105727
false
-(S16) -128 == -9223372036854775808
+-128 == -9223372036854775808
false
-(S16) -128 == (S64) -9223372036854775807
+-128 == -9223372036854775807
false
-(S16) -128 == (S64) -2147483648
+-128 == -2147483648
false
-(S16) -128 == (S32) -2147483647
+-128 == -2147483647
false
-(S16) -128 == (S32) -32768
+-128 == -32768
false
-(S16) -128 == (S16) -32767
+-128 == -32767
false
-(S16) -128 == (S16) -128
+-128 == -128
true
-(S16) -128 == (S8) -127
+-128 == -127
false
-(S16) -128 == (U8) 255
+-128 == 255
false
-(S16) -128 == (U16) 256
+-128 == 256
false
-(S16) -128 == (U16) 65535
+-128 == 65535
false
-(S16) -128 == (U32) 65536
+-128 == 65536
false
-(S16) -128 == (U32) 4294967295
+-128 == 4294967295
false
-(S16) -128 == (U64) 4294967296
+-128 == 4294967296
false
-(S16) -128 == (U64) 18446744073709551615
+-128 == 18446744073709551615
false
-(S16) -128 == 18446744073709551616
+-128 == 18446744073709551616
false
-(S16) -128 == 340282366920938463463374607431768211455
+-128 == 340282366920938463463374607431768211455
false
-(S16) -128 == 340282366920938463463374607431768211456
+-128 == 340282366920938463463374607431768211456
false
-(S8) -127 == -170141183460469231731687303715884105728
+-127 == -170141183460469231731687303715884105728
false
-(S8) -127 == -170141183460469231731687303715884105727
+-127 == -170141183460469231731687303715884105727
false
-(S8) -127 == -9223372036854775808
+-127 == -9223372036854775808
false
-(S8) -127 == (S64) -9223372036854775807
+-127 == -9223372036854775807
false
-(S8) -127 == (S64) -2147483648
+-127 == -2147483648
false
-(S8) -127 == (S32) -2147483647
+-127 == -2147483647
false
-(S8) -127 == (S32) -32768
+-127 == -32768
false
-(S8) -127 == (S16) -32767
+-127 == -32767
false
-(S8) -127 == (S16) -128
+-127 == -128
false
-(S8) -127 == (S8) -127
+-127 == -127
true
-(S8) -127 == (U8) 255
+-127 == 255
false
-(S8) -127 == (U16) 256
+-127 == 256
false
-(S8) -127 == (U16) 65535
+-127 == 65535
false
-(S8) -127 == (U32) 65536
+-127 == 65536
false
-(S8) -127 == (U32) 4294967295
+-127 == 4294967295
false
-(S8) -127 == (U64) 4294967296
+-127 == 4294967296
false
-(S8) -127 == (U64) 18446744073709551615
+-127 == 18446744073709551615
false
-(S8) -127 == 18446744073709551616
+-127 == 18446744073709551616
false
-(S8) -127 == 340282366920938463463374607431768211455
+-127 == 340282366920938463463374607431768211455
false
-(S8) -127 == 340282366920938463463374607431768211456
+-127 == 340282366920938463463374607431768211456
false
-(U8) 255 == -170141183460469231731687303715884105728
+255 == -170141183460469231731687303715884105728
false
-(U8) 255 == -170141183460469231731687303715884105727
+255 == -170141183460469231731687303715884105727
false
-(U8) 255 == -9223372036854775808
+255 == -9223372036854775808
false
-(U8) 255 == (S64) -9223372036854775807
+255 == -9223372036854775807
false
-(U8) 255 == (S64) -2147483648
+255 == -2147483648
false
-(U8) 255 == (S32) -2147483647
+255 == -2147483647
false
-(U8) 255 == (S32) -32768
+255 == -32768
false
-(U8) 255 == (S16) -32767
+255 == -32767
false
-(U8) 255 == (S16) -128
+255 == -128
false
-(U8) 255 == (S8) -127
+255 == -127
false
-(U8) 255 == (U8) 255
+255 == 255
true
-(U8) 255 == (U16) 256
+255 == 256
false
-(U8) 255 == (U16) 65535
+255 == 65535
false
-(U8) 255 == (U32) 65536
+255 == 65536
false
-(U8) 255 == (U32) 4294967295
+255 == 4294967295
false
-(U8) 255 == (U64) 4294967296
+255 == 4294967296
false
-(U8) 255 == (U64) 18446744073709551615
+255 == 18446744073709551615
false
-(U8) 255 == 18446744073709551616
+255 == 18446744073709551616
false
-(U8) 255 == 340282366920938463463374607431768211455
+255 == 340282366920938463463374607431768211455
false
-(U8) 255 == 340282366920938463463374607431768211456
+255 == 340282366920938463463374607431768211456
false
-(U16) 256 == -170141183460469231731687303715884105728
+256 == -170141183460469231731687303715884105728
false
-(U16) 256 == -170141183460469231731687303715884105727
+256 == -170141183460469231731687303715884105727
false
-(U16) 256 == -9223372036854775808
+256 == -9223372036854775808
false
-(U16) 256 == (S64) -9223372036854775807
+256 == -9223372036854775807
false
-(U16) 256 == (S64) -2147483648
+256 == -2147483648
false
-(U16) 256 == (S32) -2147483647
+256 == -2147483647
false
-(U16) 256 == (S32) -32768
+256 == -32768
false
-(U16) 256 == (S16) -32767
+256 == -32767
false
-(U16) 256 == (S16) -128
+256 == -128
false
-(U16) 256 == (S8) -127
+256 == -127
false
-(U16) 256 == (U8) 255
+256 == 255
false
-(U16) 256 == (U16) 256
+256 == 256
true
-(U16) 256 == (U16) 65535
+256 == 65535
false
-(U16) 256 == (U32) 65536
+256 == 65536
false
-(U16) 256 == (U32) 4294967295
+256 == 4294967295
false
-(U16) 256 == (U64) 4294967296
+256 == 4294967296
false
-(U16) 256 == (U64) 18446744073709551615
+256 == 18446744073709551615
false
-(U16) 256 == 18446744073709551616
+256 == 18446744073709551616
false
-(U16) 256 == 340282366920938463463374607431768211455
+256 == 340282366920938463463374607431768211455
false
-(U16) 256 == 340282366920938463463374607431768211456
+256 == 340282366920938463463374607431768211456
false
-(U16) 65535 == -170141183460469231731687303715884105728
+65535 == -170141183460469231731687303715884105728
false
-(U16) 65535 == -170141183460469231731687303715884105727
+65535 == -170141183460469231731687303715884105727
false
-(U16) 65535 == -9223372036854775808
+65535 == -9223372036854775808
false
-(U16) 65535 == (S64) -9223372036854775807
+65535 == -9223372036854775807
false
-(U16) 65535 == (S64) -2147483648
+65535 == -2147483648
false
-(U16) 65535 == (S32) -2147483647
+65535 == -2147483647
false
-(U16) 65535 == (S32) -32768
+65535 == -32768
false
-(U16) 65535 == (S16) -32767
+65535 == -32767
false
-(U16) 65535 == (S16) -128
+65535 == -128
false
-(U16) 65535 == (S8) -127
+65535 == -127
false
-(U16) 65535 == (U8) 255
+65535 == 255
false
-(U16) 65535 == (U16) 256
+65535 == 256
false
-(U16) 65535 == (U16) 65535
+65535 == 65535
true
-(U16) 65535 == (U32) 65536
+65535 == 65536
false
-(U16) 65535 == (U32) 4294967295
+65535 == 4294967295
false
-(U16) 65535 == (U64) 4294967296
+65535 == 4294967296
false
-(U16) 65535 == (U64) 18446744073709551615
+65535 == 18446744073709551615
false
-(U16) 65535 == 18446744073709551616
+65535 == 18446744073709551616
false
-(U16) 65535 == 340282366920938463463374607431768211455
+65535 == 340282366920938463463374607431768211455
false
-(U16) 65535 == 340282366920938463463374607431768211456
+65535 == 340282366920938463463374607431768211456
false
-(U32) 65536 == -170141183460469231731687303715884105728
+65536 == -170141183460469231731687303715884105728
false
-(U32) 65536 == -170141183460469231731687303715884105727
+65536 == -170141183460469231731687303715884105727
false
-(U32) 65536 == -9223372036854775808
+65536 == -9223372036854775808
false
-(U32) 65536 == (S64) -9223372036854775807
+65536 == -9223372036854775807
false
-(U32) 65536 == (S64) -2147483648
+65536 == -2147483648
false
-(U32) 65536 == (S32) -2147483647
+65536 == -2147483647
false
-(U32) 65536 == (S32) -32768
+65536 == -32768
false
-(U32) 65536 == (S16) -32767
+65536 == -32767
false
-(U32) 65536 == (S16) -128
+65536 == -128
false
-(U32) 65536 == (S8) -127
+65536 == -127
false
-(U32) 65536 == (U8) 255
+65536 == 255
false
-(U32) 65536 == (U16) 256
+65536 == 256
false
-(U32) 65536 == (U16) 65535
+65536 == 65535
false
-(U32) 65536 == (U32) 65536
+65536 == 65536
true
-(U32) 65536 == (U32) 4294967295
+65536 == 4294967295
false
-(U32) 65536 == (U64) 4294967296
+65536 == 4294967296
false
-(U32) 65536 == (U64) 18446744073709551615
+65536 == 18446744073709551615
false
-(U32) 65536 == 18446744073709551616
+65536 == 18446744073709551616
false
-(U32) 65536 == 340282366920938463463374607431768211455
+65536 == 340282366920938463463374607431768211455
false
-(U32) 65536 == 340282366920938463463374607431768211456
+65536 == 340282366920938463463374607431768211456
false
-(U32) 4294967295 == -170141183460469231731687303715884105728
+4294967295 == -170141183460469231731687303715884105728
false
-(U32) 4294967295 == -170141183460469231731687303715884105727
+4294967295 == -170141183460469231731687303715884105727
false
-(U32) 4294967295 == -9223372036854775808
+4294967295 == -9223372036854775808
false
-(U32) 4294967295 == (S64) -9223372036854775807
+4294967295 == -9223372036854775807
false
-(U32) 4294967295 == (S64) -2147483648
+4294967295 == -2147483648
false
-(U32) 4294967295 == (S32) -2147483647
+4294967295 == -2147483647
false
-(U32) 4294967295 == (S32) -32768
+4294967295 == -32768
false
-(U32) 4294967295 == (S16) -32767
+4294967295 == -32767
false
-(U32) 4294967295 == (S16) -128
+4294967295 == -128
false
-(U32) 4294967295 == (S8) -127
+4294967295 == -127
false
-(U32) 4294967295 == (U8) 255
+4294967295 == 255
false
-(U32) 4294967295 == (U16) 256
+4294967295 == 256
false
-(U32) 4294967295 == (U16) 65535
+4294967295 == 65535
false
-(U32) 4294967295 == (U32) 65536
+4294967295 == 65536
false
-(U32) 4294967295 == (U32) 4294967295
+4294967295 == 4294967295
true
-(U32) 4294967295 == (U64) 4294967296
+4294967295 == 4294967296
false
-(U32) 4294967295 == (U64) 18446744073709551615
+4294967295 == 18446744073709551615
false
-(U32) 4294967295 == 18446744073709551616
+4294967295 == 18446744073709551616
false
-(U32) 4294967295 == 340282366920938463463374607431768211455
+4294967295 == 340282366920938463463374607431768211455
false
-(U32) 4294967295 == 340282366920938463463374607431768211456
+4294967295 == 340282366920938463463374607431768211456
false
-(U64) 4294967296 == -170141183460469231731687303715884105728
+4294967296 == -170141183460469231731687303715884105728
false
-(U64) 4294967296 == -170141183460469231731687303715884105727
+4294967296 == -170141183460469231731687303715884105727
false
-(U64) 4294967296 == -9223372036854775808
+4294967296 == -9223372036854775808
false
-(U64) 4294967296 == (S64) -9223372036854775807
+4294967296 == -9223372036854775807
false
-(U64) 4294967296 == (S64) -2147483648
+4294967296 == -2147483648
false
-(U64) 4294967296 == (S32) -2147483647
+4294967296 == -2147483647
false
-(U64) 4294967296 == (S32) -32768
+4294967296 == -32768
false
-(U64) 4294967296 == (S16) -32767
+4294967296 == -32767
false
-(U64) 4294967296 == (S16) -128
+4294967296 == -128
false
-(U64) 4294967296 == (S8) -127
+4294967296 == -127
false
-(U64) 4294967296 == (U8) 255
+4294967296 == 255
false
-(U64) 4294967296 == (U16) 256
+4294967296 == 256
false
-(U64) 4294967296 == (U16) 65535
+4294967296 == 65535
false
-(U64) 4294967296 == (U32) 65536
+4294967296 == 65536
false
-(U64) 4294967296 == (U32) 4294967295
+4294967296 == 4294967295
false
-(U64) 4294967296 == (U64) 4294967296
+4294967296 == 4294967296
true
-(U64) 4294967296 == (U64) 18446744073709551615
+4294967296 == 18446744073709551615
false
-(U64) 4294967296 == 18446744073709551616
+4294967296 == 18446744073709551616
false
-(U64) 4294967296 == 340282366920938463463374607431768211455
+4294967296 == 340282366920938463463374607431768211455
false
-(U64) 4294967296 == 340282366920938463463374607431768211456
+4294967296 == 340282366920938463463374607431768211456
false
-(U64) 18446744073709551615 == -170141183460469231731687303715884105728
+18446744073709551615 == -170141183460469231731687303715884105728
false
-(U64) 18446744073709551615 == -170141183460469231731687303715884105727
+18446744073709551615 == -170141183460469231731687303715884105727
false
-(U64) 18446744073709551615 == -9223372036854775808
+18446744073709551615 == -9223372036854775808
false
-(U64) 18446744073709551615 == (S64) -9223372036854775807
+18446744073709551615 == -9223372036854775807
false
-(U64) 18446744073709551615 == (S64) -2147483648
+18446744073709551615 == -2147483648
false
-(U64) 18446744073709551615 == (S32) -2147483647
+18446744073709551615 == -2147483647
false
-(U64) 18446744073709551615 == (S32) -32768
+18446744073709551615 == -32768
false
-(U64) 18446744073709551615 == (S16) -32767
+18446744073709551615 == -32767
false
-(U64) 18446744073709551615 == (S16) -128
+18446744073709551615 == -128
false
-(U64) 18446744073709551615 == (S8) -127
+18446744073709551615 == -127
false
-(U64) 18446744073709551615 == (U8) 255
+18446744073709551615 == 255
false
-(U64) 18446744073709551615 == (U16) 256
+18446744073709551615 == 256
false
-(U64) 18446744073709551615 == (U16) 65535
+18446744073709551615 == 65535
false
-(U64) 18446744073709551615 == (U32) 65536
+18446744073709551615 == 65536
false
-(U64) 18446744073709551615 == (U32) 4294967295
+18446744073709551615 == 4294967295
false
-(U64) 18446744073709551615 == (U64) 4294967296
+18446744073709551615 == 4294967296
false
-(U64) 18446744073709551615 == (U64) 18446744073709551615
+18446744073709551615 == 18446744073709551615
true
-(U64) 18446744073709551615 == 18446744073709551616
+18446744073709551615 == 18446744073709551616
false
-(U64) 18446744073709551615 == 340282366920938463463374607431768211455
+18446744073709551615 == 340282366920938463463374607431768211455
false
-(U64) 18446744073709551615 == 340282366920938463463374607431768211456
+18446744073709551615 == 340282366920938463463374607431768211456
false
18446744073709551616 == -170141183460469231731687303715884105728
false
@@ -684,33 +684,33 @@ false
false
18446744073709551616 == -9223372036854775808
false
-18446744073709551616 == (S64) -9223372036854775807
+18446744073709551616 == -9223372036854775807
false
-18446744073709551616 == (S64) -2147483648
+18446744073709551616 == -2147483648
false
-18446744073709551616 == (S32) -2147483647
+18446744073709551616 == -2147483647
false
-18446744073709551616 == (S32) -32768
+18446744073709551616 == -32768
false
-18446744073709551616 == (S16) -32767
+18446744073709551616 == -32767
false
-18446744073709551616 == (S16) -128
+18446744073709551616 == -128
false
-18446744073709551616 == (S8) -127
+18446744073709551616 == -127
false
-18446744073709551616 == (U8) 255
+18446744073709551616 == 255
false
-18446744073709551616 == (U16) 256
+18446744073709551616 == 256
false
-18446744073709551616 == (U16) 65535
+18446744073709551616 == 65535
false
-18446744073709551616 == (U32) 65536
+18446744073709551616 == 65536
false
-18446744073709551616 == (U32) 4294967295
+18446744073709551616 == 4294967295
false
-18446744073709551616 == (U64) 4294967296
+18446744073709551616 == 4294967296
false
-18446744073709551616 == (U64) 18446744073709551615
+18446744073709551616 == 18446744073709551615
false
18446744073709551616 == 18446744073709551616
true
@@ -724,33 +724,33 @@ false
false
340282366920938463463374607431768211455 == -9223372036854775808
false
-340282366920938463463374607431768211455 == (S64) -9223372036854775807
+340282366920938463463374607431768211455 == -9223372036854775807
false
-340282366920938463463374607431768211455 == (S64) -2147483648
+340282366920938463463374607431768211455 == -2147483648
false
-340282366920938463463374607431768211455 == (S32) -2147483647
+340282366920938463463374607431768211455 == -2147483647
false
-340282366920938463463374607431768211455 == (S32) -32768
+340282366920938463463374607431768211455 == -32768
false
-340282366920938463463374607431768211455 == (S16) -32767
+340282366920938463463374607431768211455 == -32767
false
-340282366920938463463374607431768211455 == (S16) -128
+340282366920938463463374607431768211455 == -128
false
-340282366920938463463374607431768211455 == (S8) -127
+340282366920938463463374607431768211455 == -127
false
-340282366920938463463374607431768211455 == (U8) 255
+340282366920938463463374607431768211455 == 255
false
-340282366920938463463374607431768211455 == (U16) 256
+340282366920938463463374607431768211455 == 256
false
-340282366920938463463374607431768211455 == (U16) 65535
+340282366920938463463374607431768211455 == 65535
false
-340282366920938463463374607431768211455 == (U32) 65536
+340282366920938463463374607431768211455 == 65536
false
-340282366920938463463374607431768211455 == (U32) 4294967295
+340282366920938463463374607431768211455 == 4294967295
false
-340282366920938463463374607431768211455 == (U64) 4294967296
+340282366920938463463374607431768211455 == 4294967296
false
-340282366920938463463374607431768211455 == (U64) 18446744073709551615
+340282366920938463463374607431768211455 == 18446744073709551615
false
340282366920938463463374607431768211455 == 18446744073709551616
false
@@ -764,33 +764,33 @@ false
false
340282366920938463463374607431768211456 == -9223372036854775808
false
-340282366920938463463374607431768211456 == (S64) -9223372036854775807
+340282366920938463463374607431768211456 == -9223372036854775807
false
-340282366920938463463374607431768211456 == (S64) -2147483648
+340282366920938463463374607431768211456 == -2147483648
false
-340282366920938463463374607431768211456 == (S32) -2147483647
+340282366920938463463374607431768211456 == -2147483647
false
-340282366920938463463374607431768211456 == (S32) -32768
+340282366920938463463374607431768211456 == -32768
false
-340282366920938463463374607431768211456 == (S16) -32767
+340282366920938463463374607431768211456 == -32767
false
-340282366920938463463374607431768211456 == (S16) -128
+340282366920938463463374607431768211456 == -128
false
-340282366920938463463374607431768211456 == (S8) -127
+340282366920938463463374607431768211456 == -127
false
-340282366920938463463374607431768211456 == (U8) 255
+340282366920938463463374607431768211456 == 255
false
-340282366920938463463374607431768211456 == (U16) 256
+340282366920938463463374607431768211456 == 256
false
-340282366920938463463374607431768211456 == (U16) 65535
+340282366920938463463374607431768211456 == 65535
false
-340282366920938463463374607431768211456 == (U32) 65536
+340282366920938463463374607431768211456 == 65536
false
-340282366920938463463374607431768211456 == (U32) 4294967295
+340282366920938463463374607431768211456 == 4294967295
false
-340282366920938463463374607431768211456 == (U64) 4294967296
+340282366920938463463374607431768211456 == 4294967296
false
-340282366920938463463374607431768211456 == (U64) 18446744073709551615
+340282366920938463463374607431768211456 == 18446744073709551615
false
340282366920938463463374607431768211456 == 18446744073709551616
false
diff --git a/test/ikc3/integer_gt.out.expected b/test/ikc3/integer_gt.out.expected
index b3f276a..57daf68 100644
--- a/test/ikc3/integer_gt.out.expected
+++ b/test/ikc3/integer_gt.out.expected
@@ -4,33 +4,33 @@ false
false
-170141183460469231731687303715884105728 > -9223372036854775808
false
--170141183460469231731687303715884105728 > (S64) -9223372036854775807
+-170141183460469231731687303715884105728 > -9223372036854775807
false
--170141183460469231731687303715884105728 > (S64) -2147483648
+-170141183460469231731687303715884105728 > -2147483648
false
--170141183460469231731687303715884105728 > (S32) -2147483647
+-170141183460469231731687303715884105728 > -2147483647
false
--170141183460469231731687303715884105728 > (S32) -32768
+-170141183460469231731687303715884105728 > -32768
false
--170141183460469231731687303715884105728 > (S16) -32767
+-170141183460469231731687303715884105728 > -32767
false
--170141183460469231731687303715884105728 > (S16) -128
+-170141183460469231731687303715884105728 > -128
false
--170141183460469231731687303715884105728 > (S8) -127
+-170141183460469231731687303715884105728 > -127
false
--170141183460469231731687303715884105728 > (U8) 255
+-170141183460469231731687303715884105728 > 255
false
--170141183460469231731687303715884105728 > (U16) 256
+-170141183460469231731687303715884105728 > 256
false
--170141183460469231731687303715884105728 > (U16) 65535
+-170141183460469231731687303715884105728 > 65535
false
--170141183460469231731687303715884105728 > (U32) 65536
+-170141183460469231731687303715884105728 > 65536
false
--170141183460469231731687303715884105728 > (U32) 4294967295
+-170141183460469231731687303715884105728 > 4294967295
false
--170141183460469231731687303715884105728 > (U64) 4294967296
+-170141183460469231731687303715884105728 > 4294967296
false
--170141183460469231731687303715884105728 > (U64) 18446744073709551615
+-170141183460469231731687303715884105728 > 18446744073709551615
false
-170141183460469231731687303715884105728 > 18446744073709551616
false
@@ -44,33 +44,33 @@ true
false
-170141183460469231731687303715884105727 > -9223372036854775808
false
--170141183460469231731687303715884105727 > (S64) -9223372036854775807
+-170141183460469231731687303715884105727 > -9223372036854775807
false
--170141183460469231731687303715884105727 > (S64) -2147483648
+-170141183460469231731687303715884105727 > -2147483648
false
--170141183460469231731687303715884105727 > (S32) -2147483647
+-170141183460469231731687303715884105727 > -2147483647
false
--170141183460469231731687303715884105727 > (S32) -32768
+-170141183460469231731687303715884105727 > -32768
false
--170141183460469231731687303715884105727 > (S16) -32767
+-170141183460469231731687303715884105727 > -32767
false
--170141183460469231731687303715884105727 > (S16) -128
+-170141183460469231731687303715884105727 > -128
false
--170141183460469231731687303715884105727 > (S8) -127
+-170141183460469231731687303715884105727 > -127
false
--170141183460469231731687303715884105727 > (U8) 255
+-170141183460469231731687303715884105727 > 255
false
--170141183460469231731687303715884105727 > (U16) 256
+-170141183460469231731687303715884105727 > 256
false
--170141183460469231731687303715884105727 > (U16) 65535
+-170141183460469231731687303715884105727 > 65535
false
--170141183460469231731687303715884105727 > (U32) 65536
+-170141183460469231731687303715884105727 > 65536
false
--170141183460469231731687303715884105727 > (U32) 4294967295
+-170141183460469231731687303715884105727 > 4294967295
false
--170141183460469231731687303715884105727 > (U64) 4294967296
+-170141183460469231731687303715884105727 > 4294967296
false
--170141183460469231731687303715884105727 > (U64) 18446744073709551615
+-170141183460469231731687303715884105727 > 18446744073709551615
false
-170141183460469231731687303715884105727 > 18446744073709551616
false
@@ -84,33 +84,33 @@ true
true
-9223372036854775808 > -9223372036854775808
false
--9223372036854775808 > (S64) -9223372036854775807
+-9223372036854775808 > -9223372036854775807
false
--9223372036854775808 > (S64) -2147483648
+-9223372036854775808 > -2147483648
false
--9223372036854775808 > (S32) -2147483647
+-9223372036854775808 > -2147483647
false
--9223372036854775808 > (S32) -32768
+-9223372036854775808 > -32768
false
--9223372036854775808 > (S16) -32767
+-9223372036854775808 > -32767
false
--9223372036854775808 > (S16) -128
+-9223372036854775808 > -128
false
--9223372036854775808 > (S8) -127
+-9223372036854775808 > -127
false
--9223372036854775808 > (U8) 255
+-9223372036854775808 > 255
false
--9223372036854775808 > (U16) 256
+-9223372036854775808 > 256
false
--9223372036854775808 > (U16) 65535
+-9223372036854775808 > 65535
false
--9223372036854775808 > (U32) 65536
+-9223372036854775808 > 65536
false
--9223372036854775808 > (U32) 4294967295
+-9223372036854775808 > 4294967295
false
--9223372036854775808 > (U64) 4294967296
+-9223372036854775808 > 4294967296
false
--9223372036854775808 > (U64) 18446744073709551615
+-9223372036854775808 > 18446744073709551615
false
-9223372036854775808 > 18446744073709551616
false
@@ -118,565 +118,565 @@ false
false
-9223372036854775808 > 340282366920938463463374607431768211456
false
-(S64) -9223372036854775807 > -170141183460469231731687303715884105728
+-9223372036854775807 > -170141183460469231731687303715884105728
true
-(S64) -9223372036854775807 > -170141183460469231731687303715884105727
+-9223372036854775807 > -170141183460469231731687303715884105727
true
-(S64) -9223372036854775807 > -9223372036854775808
+-9223372036854775807 > -9223372036854775808
true
-(S64) -9223372036854775807 > (S64) -9223372036854775807
+-9223372036854775807 > -9223372036854775807
false
-(S64) -9223372036854775807 > (S64) -2147483648
+-9223372036854775807 > -2147483648
false
-(S64) -9223372036854775807 > (S32) -2147483647
+-9223372036854775807 > -2147483647
false
-(S64) -9223372036854775807 > (S32) -32768
+-9223372036854775807 > -32768
false
-(S64) -9223372036854775807 > (S16) -32767
+-9223372036854775807 > -32767
false
-(S64) -9223372036854775807 > (S16) -128
+-9223372036854775807 > -128
false
-(S64) -9223372036854775807 > (S8) -127
+-9223372036854775807 > -127
false
-(S64) -9223372036854775807 > (U8) 255
+-9223372036854775807 > 255
false
-(S64) -9223372036854775807 > (U16) 256
+-9223372036854775807 > 256
false
-(S64) -9223372036854775807 > (U16) 65535
+-9223372036854775807 > 65535
false
-(S64) -9223372036854775807 > (U32) 65536
+-9223372036854775807 > 65536
false
-(S64) -9223372036854775807 > (U32) 4294967295
+-9223372036854775807 > 4294967295
false
-(S64) -9223372036854775807 > (U64) 4294967296
+-9223372036854775807 > 4294967296
false
-(S64) -9223372036854775807 > (U64) 18446744073709551615
+-9223372036854775807 > 18446744073709551615
false
-(S64) -9223372036854775807 > 18446744073709551616
+-9223372036854775807 > 18446744073709551616
false
-(S64) -9223372036854775807 > 340282366920938463463374607431768211455
+-9223372036854775807 > 340282366920938463463374607431768211455
false
-(S64) -9223372036854775807 > 340282366920938463463374607431768211456
+-9223372036854775807 > 340282366920938463463374607431768211456
false
-(S64) -2147483648 > -170141183460469231731687303715884105728
+-2147483648 > -170141183460469231731687303715884105728
true
-(S64) -2147483648 > -170141183460469231731687303715884105727
+-2147483648 > -170141183460469231731687303715884105727
true
-(S64) -2147483648 > -9223372036854775808
+-2147483648 > -9223372036854775808
true
-(S64) -2147483648 > (S64) -9223372036854775807
+-2147483648 > -9223372036854775807
true
-(S64) -2147483648 > (S64) -2147483648
+-2147483648 > -2147483648
false
-(S64) -2147483648 > (S32) -2147483647
+-2147483648 > -2147483647
false
-(S64) -2147483648 > (S32) -32768
+-2147483648 > -32768
false
-(S64) -2147483648 > (S16) -32767
+-2147483648 > -32767
false
-(S64) -2147483648 > (S16) -128
+-2147483648 > -128
false
-(S64) -2147483648 > (S8) -127
+-2147483648 > -127
false
-(S64) -2147483648 > (U8) 255
+-2147483648 > 255
false
-(S64) -2147483648 > (U16) 256
+-2147483648 > 256
false
-(S64) -2147483648 > (U16) 65535
+-2147483648 > 65535
false
-(S64) -2147483648 > (U32) 65536
+-2147483648 > 65536
false
-(S64) -2147483648 > (U32) 4294967295
+-2147483648 > 4294967295
false
-(S64) -2147483648 > (U64) 4294967296
+-2147483648 > 4294967296
false
-(S64) -2147483648 > (U64) 18446744073709551615
+-2147483648 > 18446744073709551615
false
-(S64) -2147483648 > 18446744073709551616
+-2147483648 > 18446744073709551616
false
-(S64) -2147483648 > 340282366920938463463374607431768211455
+-2147483648 > 340282366920938463463374607431768211455
false
-(S64) -2147483648 > 340282366920938463463374607431768211456
+-2147483648 > 340282366920938463463374607431768211456
false
-(S32) -2147483647 > -170141183460469231731687303715884105728
+-2147483647 > -170141183460469231731687303715884105728
true
-(S32) -2147483647 > -170141183460469231731687303715884105727
+-2147483647 > -170141183460469231731687303715884105727
true
-(S32) -2147483647 > -9223372036854775808
+-2147483647 > -9223372036854775808
true
-(S32) -2147483647 > (S64) -9223372036854775807
+-2147483647 > -9223372036854775807
true
-(S32) -2147483647 > (S64) -2147483648
+-2147483647 > -2147483648
true
-(S32) -2147483647 > (S32) -2147483647
+-2147483647 > -2147483647
false
-(S32) -2147483647 > (S32) -32768
+-2147483647 > -32768
false
-(S32) -2147483647 > (S16) -32767
+-2147483647 > -32767
false
-(S32) -2147483647 > (S16) -128
+-2147483647 > -128
false
-(S32) -2147483647 > (S8) -127
+-2147483647 > -127
false
-(S32) -2147483647 > (U8) 255
+-2147483647 > 255
false
-(S32) -2147483647 > (U16) 256
+-2147483647 > 256
false
-(S32) -2147483647 > (U16) 65535
+-2147483647 > 65535
false
-(S32) -2147483647 > (U32) 65536
+-2147483647 > 65536
false
-(S32) -2147483647 > (U32) 4294967295
+-2147483647 > 4294967295
false
-(S32) -2147483647 > (U64) 4294967296
+-2147483647 > 4294967296
false
-(S32) -2147483647 > (U64) 18446744073709551615
+-2147483647 > 18446744073709551615
false
-(S32) -2147483647 > 18446744073709551616
+-2147483647 > 18446744073709551616
false
-(S32) -2147483647 > 340282366920938463463374607431768211455
+-2147483647 > 340282366920938463463374607431768211455
false
-(S32) -2147483647 > 340282366920938463463374607431768211456
+-2147483647 > 340282366920938463463374607431768211456
false
-(S32) -32768 > -170141183460469231731687303715884105728
+-32768 > -170141183460469231731687303715884105728
true
-(S32) -32768 > -170141183460469231731687303715884105727
+-32768 > -170141183460469231731687303715884105727
true
-(S32) -32768 > -9223372036854775808
+-32768 > -9223372036854775808
true
-(S32) -32768 > (S64) -9223372036854775807
+-32768 > -9223372036854775807
true
-(S32) -32768 > (S64) -2147483648
+-32768 > -2147483648
true
-(S32) -32768 > (S32) -2147483647
+-32768 > -2147483647
true
-(S32) -32768 > (S32) -32768
+-32768 > -32768
false
-(S32) -32768 > (S16) -32767
+-32768 > -32767
false
-(S32) -32768 > (S16) -128
+-32768 > -128
false
-(S32) -32768 > (S8) -127
+-32768 > -127
false
-(S32) -32768 > (U8) 255
+-32768 > 255
false
-(S32) -32768 > (U16) 256
+-32768 > 256
false
-(S32) -32768 > (U16) 65535
+-32768 > 65535
false
-(S32) -32768 > (U32) 65536
+-32768 > 65536
false
-(S32) -32768 > (U32) 4294967295
+-32768 > 4294967295
false
-(S32) -32768 > (U64) 4294967296
+-32768 > 4294967296
false
-(S32) -32768 > (U64) 18446744073709551615
+-32768 > 18446744073709551615
false
-(S32) -32768 > 18446744073709551616
+-32768 > 18446744073709551616
false
-(S32) -32768 > 340282366920938463463374607431768211455
+-32768 > 340282366920938463463374607431768211455
false
-(S32) -32768 > 340282366920938463463374607431768211456
+-32768 > 340282366920938463463374607431768211456
false
-(S16) -32767 > -170141183460469231731687303715884105728
+-32767 > -170141183460469231731687303715884105728
true
-(S16) -32767 > -170141183460469231731687303715884105727
+-32767 > -170141183460469231731687303715884105727
true
-(S16) -32767 > -9223372036854775808
+-32767 > -9223372036854775808
true
-(S16) -32767 > (S64) -9223372036854775807
+-32767 > -9223372036854775807
true
-(S16) -32767 > (S64) -2147483648
+-32767 > -2147483648
true
-(S16) -32767 > (S32) -2147483647
+-32767 > -2147483647
true
-(S16) -32767 > (S32) -32768
+-32767 > -32768
true
-(S16) -32767 > (S16) -32767
+-32767 > -32767
false
-(S16) -32767 > (S16) -128
+-32767 > -128
false
-(S16) -32767 > (S8) -127
+-32767 > -127
false
-(S16) -32767 > (U8) 255
+-32767 > 255
false
-(S16) -32767 > (U16) 256
+-32767 > 256
false
-(S16) -32767 > (U16) 65535
+-32767 > 65535
false
-(S16) -32767 > (U32) 65536
+-32767 > 65536
false
-(S16) -32767 > (U32) 4294967295
+-32767 > 4294967295
false
-(S16) -32767 > (U64) 4294967296
+-32767 > 4294967296
false
-(S16) -32767 > (U64) 18446744073709551615
+-32767 > 18446744073709551615
false
-(S16) -32767 > 18446744073709551616
+-32767 > 18446744073709551616
false
-(S16) -32767 > 340282366920938463463374607431768211455
+-32767 > 340282366920938463463374607431768211455
false
-(S16) -32767 > 340282366920938463463374607431768211456
+-32767 > 340282366920938463463374607431768211456
false
-(S16) -128 > -170141183460469231731687303715884105728
+-128 > -170141183460469231731687303715884105728
true
-(S16) -128 > -170141183460469231731687303715884105727
+-128 > -170141183460469231731687303715884105727
true
-(S16) -128 > -9223372036854775808
+-128 > -9223372036854775808
true
-(S16) -128 > (S64) -9223372036854775807
+-128 > -9223372036854775807
true
-(S16) -128 > (S64) -2147483648
+-128 > -2147483648
true
-(S16) -128 > (S32) -2147483647
+-128 > -2147483647
true
-(S16) -128 > (S32) -32768
+-128 > -32768
true
-(S16) -128 > (S16) -32767
+-128 > -32767
true
-(S16) -128 > (S16) -128
+-128 > -128
false
-(S16) -128 > (S8) -127
+-128 > -127
false
-(S16) -128 > (U8) 255
+-128 > 255
false
-(S16) -128 > (U16) 256
+-128 > 256
false
-(S16) -128 > (U16) 65535
+-128 > 65535
false
-(S16) -128 > (U32) 65536
+-128 > 65536
false
-(S16) -128 > (U32) 4294967295
+-128 > 4294967295
false
-(S16) -128 > (U64) 4294967296
+-128 > 4294967296
false
-(S16) -128 > (U64) 18446744073709551615
+-128 > 18446744073709551615
false
-(S16) -128 > 18446744073709551616
+-128 > 18446744073709551616
false
-(S16) -128 > 340282366920938463463374607431768211455
+-128 > 340282366920938463463374607431768211455
false
-(S16) -128 > 340282366920938463463374607431768211456
+-128 > 340282366920938463463374607431768211456
false
-(S8) -127 > -170141183460469231731687303715884105728
+-127 > -170141183460469231731687303715884105728
true
-(S8) -127 > -170141183460469231731687303715884105727
+-127 > -170141183460469231731687303715884105727
true
-(S8) -127 > -9223372036854775808
+-127 > -9223372036854775808
true
-(S8) -127 > (S64) -9223372036854775807
+-127 > -9223372036854775807
true
-(S8) -127 > (S64) -2147483648
+-127 > -2147483648
true
-(S8) -127 > (S32) -2147483647
+-127 > -2147483647
true
-(S8) -127 > (S32) -32768
+-127 > -32768
true
-(S8) -127 > (S16) -32767
+-127 > -32767
true
-(S8) -127 > (S16) -128
+-127 > -128
true
-(S8) -127 > (S8) -127
+-127 > -127
false
-(S8) -127 > (U8) 255
+-127 > 255
false
-(S8) -127 > (U16) 256
+-127 > 256
false
-(S8) -127 > (U16) 65535
+-127 > 65535
false
-(S8) -127 > (U32) 65536
+-127 > 65536
false
-(S8) -127 > (U32) 4294967295
+-127 > 4294967295
false
-(S8) -127 > (U64) 4294967296
+-127 > 4294967296
false
-(S8) -127 > (U64) 18446744073709551615
+-127 > 18446744073709551615
false
-(S8) -127 > 18446744073709551616
+-127 > 18446744073709551616
false
-(S8) -127 > 340282366920938463463374607431768211455
+-127 > 340282366920938463463374607431768211455
false
-(S8) -127 > 340282366920938463463374607431768211456
+-127 > 340282366920938463463374607431768211456
false
-(U8) 255 > -170141183460469231731687303715884105728
+255 > -170141183460469231731687303715884105728
true
-(U8) 255 > -170141183460469231731687303715884105727
+255 > -170141183460469231731687303715884105727
true
-(U8) 255 > -9223372036854775808
+255 > -9223372036854775808
true
-(U8) 255 > (S64) -9223372036854775807
+255 > -9223372036854775807
true
-(U8) 255 > (S64) -2147483648
+255 > -2147483648
true
-(U8) 255 > (S32) -2147483647
+255 > -2147483647
true
-(U8) 255 > (S32) -32768
+255 > -32768
true
-(U8) 255 > (S16) -32767
+255 > -32767
true
-(U8) 255 > (S16) -128
+255 > -128
true
-(U8) 255 > (S8) -127
+255 > -127
true
-(U8) 255 > (U8) 255
+255 > 255
false
-(U8) 255 > (U16) 256
+255 > 256
false
-(U8) 255 > (U16) 65535
+255 > 65535
false
-(U8) 255 > (U32) 65536
+255 > 65536
false
-(U8) 255 > (U32) 4294967295
+255 > 4294967295
false
-(U8) 255 > (U64) 4294967296
+255 > 4294967296
false
-(U8) 255 > (U64) 18446744073709551615
+255 > 18446744073709551615
false
-(U8) 255 > 18446744073709551616
+255 > 18446744073709551616
false
-(U8) 255 > 340282366920938463463374607431768211455
+255 > 340282366920938463463374607431768211455
false
-(U8) 255 > 340282366920938463463374607431768211456
+255 > 340282366920938463463374607431768211456
false
-(U16) 256 > -170141183460469231731687303715884105728
+256 > -170141183460469231731687303715884105728
true
-(U16) 256 > -170141183460469231731687303715884105727
+256 > -170141183460469231731687303715884105727
true
-(U16) 256 > -9223372036854775808
+256 > -9223372036854775808
true
-(U16) 256 > (S64) -9223372036854775807
+256 > -9223372036854775807
true
-(U16) 256 > (S64) -2147483648
+256 > -2147483648
true
-(U16) 256 > (S32) -2147483647
+256 > -2147483647
true
-(U16) 256 > (S32) -32768
+256 > -32768
true
-(U16) 256 > (S16) -32767
+256 > -32767
true
-(U16) 256 > (S16) -128
+256 > -128
true
-(U16) 256 > (S8) -127
+256 > -127
true
-(U16) 256 > (U8) 255
+256 > 255
true
-(U16) 256 > (U16) 256
+256 > 256
false
-(U16) 256 > (U16) 65535
+256 > 65535
false
-(U16) 256 > (U32) 65536
+256 > 65536
false
-(U16) 256 > (U32) 4294967295
+256 > 4294967295
false
-(U16) 256 > (U64) 4294967296
+256 > 4294967296
false
-(U16) 256 > (U64) 18446744073709551615
+256 > 18446744073709551615
false
-(U16) 256 > 18446744073709551616
+256 > 18446744073709551616
false
-(U16) 256 > 340282366920938463463374607431768211455
+256 > 340282366920938463463374607431768211455
false
-(U16) 256 > 340282366920938463463374607431768211456
+256 > 340282366920938463463374607431768211456
false
-(U16) 65535 > -170141183460469231731687303715884105728
+65535 > -170141183460469231731687303715884105728
true
-(U16) 65535 > -170141183460469231731687303715884105727
+65535 > -170141183460469231731687303715884105727
true
-(U16) 65535 > -9223372036854775808
+65535 > -9223372036854775808
true
-(U16) 65535 > (S64) -9223372036854775807
+65535 > -9223372036854775807
true
-(U16) 65535 > (S64) -2147483648
+65535 > -2147483648
true
-(U16) 65535 > (S32) -2147483647
+65535 > -2147483647
true
-(U16) 65535 > (S32) -32768
+65535 > -32768
true
-(U16) 65535 > (S16) -32767
+65535 > -32767
true
-(U16) 65535 > (S16) -128
+65535 > -128
true
-(U16) 65535 > (S8) -127
+65535 > -127
true
-(U16) 65535 > (U8) 255
+65535 > 255
true
-(U16) 65535 > (U16) 256
+65535 > 256
true
-(U16) 65535 > (U16) 65535
+65535 > 65535
false
-(U16) 65535 > (U32) 65536
+65535 > 65536
false
-(U16) 65535 > (U32) 4294967295
+65535 > 4294967295
false
-(U16) 65535 > (U64) 4294967296
+65535 > 4294967296
false
-(U16) 65535 > (U64) 18446744073709551615
+65535 > 18446744073709551615
false
-(U16) 65535 > 18446744073709551616
+65535 > 18446744073709551616
false
-(U16) 65535 > 340282366920938463463374607431768211455
+65535 > 340282366920938463463374607431768211455
false
-(U16) 65535 > 340282366920938463463374607431768211456
+65535 > 340282366920938463463374607431768211456
false
-(U32) 65536 > -170141183460469231731687303715884105728
+65536 > -170141183460469231731687303715884105728
true
-(U32) 65536 > -170141183460469231731687303715884105727
+65536 > -170141183460469231731687303715884105727
true
-(U32) 65536 > -9223372036854775808
+65536 > -9223372036854775808
true
-(U32) 65536 > (S64) -9223372036854775807
+65536 > -9223372036854775807
true
-(U32) 65536 > (S64) -2147483648
+65536 > -2147483648
true
-(U32) 65536 > (S32) -2147483647
+65536 > -2147483647
true
-(U32) 65536 > (S32) -32768
+65536 > -32768
true
-(U32) 65536 > (S16) -32767
+65536 > -32767
true
-(U32) 65536 > (S16) -128
+65536 > -128
true
-(U32) 65536 > (S8) -127
+65536 > -127
true
-(U32) 65536 > (U8) 255
+65536 > 255
true
-(U32) 65536 > (U16) 256
+65536 > 256
true
-(U32) 65536 > (U16) 65535
+65536 > 65535
true
-(U32) 65536 > (U32) 65536
+65536 > 65536
false
-(U32) 65536 > (U32) 4294967295
+65536 > 4294967295
false
-(U32) 65536 > (U64) 4294967296
+65536 > 4294967296
false
-(U32) 65536 > (U64) 18446744073709551615
+65536 > 18446744073709551615
false
-(U32) 65536 > 18446744073709551616
+65536 > 18446744073709551616
false
-(U32) 65536 > 340282366920938463463374607431768211455
+65536 > 340282366920938463463374607431768211455
false
-(U32) 65536 > 340282366920938463463374607431768211456
+65536 > 340282366920938463463374607431768211456
false
-(U32) 4294967295 > -170141183460469231731687303715884105728
+4294967295 > -170141183460469231731687303715884105728
true
-(U32) 4294967295 > -170141183460469231731687303715884105727
+4294967295 > -170141183460469231731687303715884105727
true
-(U32) 4294967295 > -9223372036854775808
+4294967295 > -9223372036854775808
true
-(U32) 4294967295 > (S64) -9223372036854775807
+4294967295 > -9223372036854775807
true
-(U32) 4294967295 > (S64) -2147483648
+4294967295 > -2147483648
true
-(U32) 4294967295 > (S32) -2147483647
+4294967295 > -2147483647
true
-(U32) 4294967295 > (S32) -32768
+4294967295 > -32768
true
-(U32) 4294967295 > (S16) -32767
+4294967295 > -32767
true
-(U32) 4294967295 > (S16) -128
+4294967295 > -128
true
-(U32) 4294967295 > (S8) -127
+4294967295 > -127
true
-(U32) 4294967295 > (U8) 255
+4294967295 > 255
true
-(U32) 4294967295 > (U16) 256
+4294967295 > 256
true
-(U32) 4294967295 > (U16) 65535
+4294967295 > 65535
true
-(U32) 4294967295 > (U32) 65536
+4294967295 > 65536
true
-(U32) 4294967295 > (U32) 4294967295
+4294967295 > 4294967295
false
-(U32) 4294967295 > (U64) 4294967296
+4294967295 > 4294967296
false
-(U32) 4294967295 > (U64) 18446744073709551615
+4294967295 > 18446744073709551615
false
-(U32) 4294967295 > 18446744073709551616
+4294967295 > 18446744073709551616
false
-(U32) 4294967295 > 340282366920938463463374607431768211455
+4294967295 > 340282366920938463463374607431768211455
false
-(U32) 4294967295 > 340282366920938463463374607431768211456
+4294967295 > 340282366920938463463374607431768211456
false
-(U64) 4294967296 > -170141183460469231731687303715884105728
+4294967296 > -170141183460469231731687303715884105728
true
-(U64) 4294967296 > -170141183460469231731687303715884105727
+4294967296 > -170141183460469231731687303715884105727
true
-(U64) 4294967296 > -9223372036854775808
+4294967296 > -9223372036854775808
true
-(U64) 4294967296 > (S64) -9223372036854775807
+4294967296 > -9223372036854775807
true
-(U64) 4294967296 > (S64) -2147483648
+4294967296 > -2147483648
true
-(U64) 4294967296 > (S32) -2147483647
+4294967296 > -2147483647
true
-(U64) 4294967296 > (S32) -32768
+4294967296 > -32768
true
-(U64) 4294967296 > (S16) -32767
+4294967296 > -32767
true
-(U64) 4294967296 > (S16) -128
+4294967296 > -128
true
-(U64) 4294967296 > (S8) -127
+4294967296 > -127
true
-(U64) 4294967296 > (U8) 255
+4294967296 > 255
true
-(U64) 4294967296 > (U16) 256
+4294967296 > 256
true
-(U64) 4294967296 > (U16) 65535
+4294967296 > 65535
true
-(U64) 4294967296 > (U32) 65536
+4294967296 > 65536
true
-(U64) 4294967296 > (U32) 4294967295
+4294967296 > 4294967295
true
-(U64) 4294967296 > (U64) 4294967296
+4294967296 > 4294967296
false
-(U64) 4294967296 > (U64) 18446744073709551615
+4294967296 > 18446744073709551615
false
-(U64) 4294967296 > 18446744073709551616
+4294967296 > 18446744073709551616
false
-(U64) 4294967296 > 340282366920938463463374607431768211455
+4294967296 > 340282366920938463463374607431768211455
false
-(U64) 4294967296 > 340282366920938463463374607431768211456
+4294967296 > 340282366920938463463374607431768211456
false
-(U64) 18446744073709551615 > -170141183460469231731687303715884105728
+18446744073709551615 > -170141183460469231731687303715884105728
true
-(U64) 18446744073709551615 > -170141183460469231731687303715884105727
+18446744073709551615 > -170141183460469231731687303715884105727
true
-(U64) 18446744073709551615 > -9223372036854775808
+18446744073709551615 > -9223372036854775808
true
-(U64) 18446744073709551615 > (S64) -9223372036854775807
+18446744073709551615 > -9223372036854775807
true
-(U64) 18446744073709551615 > (S64) -2147483648
+18446744073709551615 > -2147483648
true
-(U64) 18446744073709551615 > (S32) -2147483647
+18446744073709551615 > -2147483647
true
-(U64) 18446744073709551615 > (S32) -32768
+18446744073709551615 > -32768
true
-(U64) 18446744073709551615 > (S16) -32767
+18446744073709551615 > -32767
true
-(U64) 18446744073709551615 > (S16) -128
+18446744073709551615 > -128
true
-(U64) 18446744073709551615 > (S8) -127
+18446744073709551615 > -127
true
-(U64) 18446744073709551615 > (U8) 255
+18446744073709551615 > 255
true
-(U64) 18446744073709551615 > (U16) 256
+18446744073709551615 > 256
true
-(U64) 18446744073709551615 > (U16) 65535
+18446744073709551615 > 65535
true
-(U64) 18446744073709551615 > (U32) 65536
+18446744073709551615 > 65536
true
-(U64) 18446744073709551615 > (U32) 4294967295
+18446744073709551615 > 4294967295
true
-(U64) 18446744073709551615 > (U64) 4294967296
+18446744073709551615 > 4294967296
true
-(U64) 18446744073709551615 > (U64) 18446744073709551615
+18446744073709551615 > 18446744073709551615
false
-(U64) 18446744073709551615 > 18446744073709551616
+18446744073709551615 > 18446744073709551616
false
-(U64) 18446744073709551615 > 340282366920938463463374607431768211455
+18446744073709551615 > 340282366920938463463374607431768211455
false
-(U64) 18446744073709551615 > 340282366920938463463374607431768211456
+18446744073709551615 > 340282366920938463463374607431768211456
false
18446744073709551616 > -170141183460469231731687303715884105728
true
@@ -684,33 +684,33 @@ true
true
18446744073709551616 > -9223372036854775808
true
-18446744073709551616 > (S64) -9223372036854775807
+18446744073709551616 > -9223372036854775807
true
-18446744073709551616 > (S64) -2147483648
+18446744073709551616 > -2147483648
true
-18446744073709551616 > (S32) -2147483647
+18446744073709551616 > -2147483647
true
-18446744073709551616 > (S32) -32768
+18446744073709551616 > -32768
true
-18446744073709551616 > (S16) -32767
+18446744073709551616 > -32767
true
-18446744073709551616 > (S16) -128
+18446744073709551616 > -128
true
-18446744073709551616 > (S8) -127
+18446744073709551616 > -127
true
-18446744073709551616 > (U8) 255
+18446744073709551616 > 255
true
-18446744073709551616 > (U16) 256
+18446744073709551616 > 256
true
-18446744073709551616 > (U16) 65535
+18446744073709551616 > 65535
true
-18446744073709551616 > (U32) 65536
+18446744073709551616 > 65536
true
-18446744073709551616 > (U32) 4294967295
+18446744073709551616 > 4294967295
true
-18446744073709551616 > (U64) 4294967296
+18446744073709551616 > 4294967296
true
-18446744073709551616 > (U64) 18446744073709551615
+18446744073709551616 > 18446744073709551615
true
18446744073709551616 > 18446744073709551616
false
@@ -724,33 +724,33 @@ true
true
340282366920938463463374607431768211455 > -9223372036854775808
true
-340282366920938463463374607431768211455 > (S64) -9223372036854775807
+340282366920938463463374607431768211455 > -9223372036854775807
true
-340282366920938463463374607431768211455 > (S64) -2147483648
+340282366920938463463374607431768211455 > -2147483648
true
-340282366920938463463374607431768211455 > (S32) -2147483647
+340282366920938463463374607431768211455 > -2147483647
true
-340282366920938463463374607431768211455 > (S32) -32768
+340282366920938463463374607431768211455 > -32768
true
-340282366920938463463374607431768211455 > (S16) -32767
+340282366920938463463374607431768211455 > -32767
true
-340282366920938463463374607431768211455 > (S16) -128
+340282366920938463463374607431768211455 > -128
true
-340282366920938463463374607431768211455 > (S8) -127
+340282366920938463463374607431768211455 > -127
true
-340282366920938463463374607431768211455 > (U8) 255
+340282366920938463463374607431768211455 > 255
true
-340282366920938463463374607431768211455 > (U16) 256
+340282366920938463463374607431768211455 > 256
true
-340282366920938463463374607431768211455 > (U16) 65535
+340282366920938463463374607431768211455 > 65535
true
-340282366920938463463374607431768211455 > (U32) 65536
+340282366920938463463374607431768211455 > 65536
true
-340282366920938463463374607431768211455 > (U32) 4294967295
+340282366920938463463374607431768211455 > 4294967295
true
-340282366920938463463374607431768211455 > (U64) 4294967296
+340282366920938463463374607431768211455 > 4294967296
true
-340282366920938463463374607431768211455 > (U64) 18446744073709551615
+340282366920938463463374607431768211455 > 18446744073709551615
true
340282366920938463463374607431768211455 > 18446744073709551616
true
@@ -764,33 +764,33 @@ true
true
340282366920938463463374607431768211456 > -9223372036854775808
true
-340282366920938463463374607431768211456 > (S64) -9223372036854775807
+340282366920938463463374607431768211456 > -9223372036854775807
true
-340282366920938463463374607431768211456 > (S64) -2147483648
+340282366920938463463374607431768211456 > -2147483648
true
-340282366920938463463374607431768211456 > (S32) -2147483647
+340282366920938463463374607431768211456 > -2147483647
true
-340282366920938463463374607431768211456 > (S32) -32768
+340282366920938463463374607431768211456 > -32768
true
-340282366920938463463374607431768211456 > (S16) -32767
+340282366920938463463374607431768211456 > -32767
true
-340282366920938463463374607431768211456 > (S16) -128
+340282366920938463463374607431768211456 > -128
true
-340282366920938463463374607431768211456 > (S8) -127
+340282366920938463463374607431768211456 > -127
true
-340282366920938463463374607431768211456 > (U8) 255
+340282366920938463463374607431768211456 > 255
true
-340282366920938463463374607431768211456 > (U16) 256
+340282366920938463463374607431768211456 > 256
true
-340282366920938463463374607431768211456 > (U16) 65535
+340282366920938463463374607431768211456 > 65535
true
-340282366920938463463374607431768211456 > (U32) 65536
+340282366920938463463374607431768211456 > 65536
true
-340282366920938463463374607431768211456 > (U32) 4294967295
+340282366920938463463374607431768211456 > 4294967295
true
-340282366920938463463374607431768211456 > (U64) 4294967296
+340282366920938463463374607431768211456 > 4294967296
true
-340282366920938463463374607431768211456 > (U64) 18446744073709551615
+340282366920938463463374607431768211456 > 18446744073709551615
true
340282366920938463463374607431768211456 > 18446744073709551616
true
diff --git a/test/ikc3/integer_lt.out.expected b/test/ikc3/integer_lt.out.expected
index 0500513..1fa364c 100644
--- a/test/ikc3/integer_lt.out.expected
+++ b/test/ikc3/integer_lt.out.expected
@@ -4,33 +4,33 @@ false
true
-170141183460469231731687303715884105728 < -9223372036854775808
true
--170141183460469231731687303715884105728 < (S64) -9223372036854775807
+-170141183460469231731687303715884105728 < -9223372036854775807
true
--170141183460469231731687303715884105728 < (S64) -2147483648
+-170141183460469231731687303715884105728 < -2147483648
true
--170141183460469231731687303715884105728 < (S32) -2147483647
+-170141183460469231731687303715884105728 < -2147483647
true
--170141183460469231731687303715884105728 < (S32) -32768
+-170141183460469231731687303715884105728 < -32768
true
--170141183460469231731687303715884105728 < (S16) -32767
+-170141183460469231731687303715884105728 < -32767
true
--170141183460469231731687303715884105728 < (S16) -128
+-170141183460469231731687303715884105728 < -128
true
--170141183460469231731687303715884105728 < (S8) -127
+-170141183460469231731687303715884105728 < -127
true
--170141183460469231731687303715884105728 < (U8) 255
+-170141183460469231731687303715884105728 < 255
true
--170141183460469231731687303715884105728 < (U16) 256
+-170141183460469231731687303715884105728 < 256
true
--170141183460469231731687303715884105728 < (U16) 65535
+-170141183460469231731687303715884105728 < 65535
true
--170141183460469231731687303715884105728 < (U32) 65536
+-170141183460469231731687303715884105728 < 65536
true
--170141183460469231731687303715884105728 < (U32) 4294967295
+-170141183460469231731687303715884105728 < 4294967295
true
--170141183460469231731687303715884105728 < (U64) 4294967296
+-170141183460469231731687303715884105728 < 4294967296
true
--170141183460469231731687303715884105728 < (U64) 18446744073709551615
+-170141183460469231731687303715884105728 < 18446744073709551615
true
-170141183460469231731687303715884105728 < 18446744073709551616
true
@@ -44,33 +44,33 @@ false
false
-170141183460469231731687303715884105727 < -9223372036854775808
true
--170141183460469231731687303715884105727 < (S64) -9223372036854775807
+-170141183460469231731687303715884105727 < -9223372036854775807
true
--170141183460469231731687303715884105727 < (S64) -2147483648
+-170141183460469231731687303715884105727 < -2147483648
true
--170141183460469231731687303715884105727 < (S32) -2147483647
+-170141183460469231731687303715884105727 < -2147483647
true
--170141183460469231731687303715884105727 < (S32) -32768
+-170141183460469231731687303715884105727 < -32768
true
--170141183460469231731687303715884105727 < (S16) -32767
+-170141183460469231731687303715884105727 < -32767
true
--170141183460469231731687303715884105727 < (S16) -128
+-170141183460469231731687303715884105727 < -128
true
--170141183460469231731687303715884105727 < (S8) -127
+-170141183460469231731687303715884105727 < -127
true
--170141183460469231731687303715884105727 < (U8) 255
+-170141183460469231731687303715884105727 < 255
true
--170141183460469231731687303715884105727 < (U16) 256
+-170141183460469231731687303715884105727 < 256
true
--170141183460469231731687303715884105727 < (U16) 65535
+-170141183460469231731687303715884105727 < 65535
true
--170141183460469231731687303715884105727 < (U32) 65536
+-170141183460469231731687303715884105727 < 65536
true
--170141183460469231731687303715884105727 < (U32) 4294967295
+-170141183460469231731687303715884105727 < 4294967295
true
--170141183460469231731687303715884105727 < (U64) 4294967296
+-170141183460469231731687303715884105727 < 4294967296
true
--170141183460469231731687303715884105727 < (U64) 18446744073709551615
+-170141183460469231731687303715884105727 < 18446744073709551615
true
-170141183460469231731687303715884105727 < 18446744073709551616
true
@@ -84,33 +84,33 @@ false
false
-9223372036854775808 < -9223372036854775808
false
--9223372036854775808 < (S64) -9223372036854775807
+-9223372036854775808 < -9223372036854775807
true
--9223372036854775808 < (S64) -2147483648
+-9223372036854775808 < -2147483648
true
--9223372036854775808 < (S32) -2147483647
+-9223372036854775808 < -2147483647
true
--9223372036854775808 < (S32) -32768
+-9223372036854775808 < -32768
true
--9223372036854775808 < (S16) -32767
+-9223372036854775808 < -32767
true
--9223372036854775808 < (S16) -128
+-9223372036854775808 < -128
true
--9223372036854775808 < (S8) -127
+-9223372036854775808 < -127
true
--9223372036854775808 < (U8) 255
+-9223372036854775808 < 255
true
--9223372036854775808 < (U16) 256
+-9223372036854775808 < 256
true
--9223372036854775808 < (U16) 65535
+-9223372036854775808 < 65535
true
--9223372036854775808 < (U32) 65536
+-9223372036854775808 < 65536
true
--9223372036854775808 < (U32) 4294967295
+-9223372036854775808 < 4294967295
true
--9223372036854775808 < (U64) 4294967296
+-9223372036854775808 < 4294967296
true
--9223372036854775808 < (U64) 18446744073709551615
+-9223372036854775808 < 18446744073709551615
true
-9223372036854775808 < 18446744073709551616
true
@@ -118,565 +118,565 @@ true
true
-9223372036854775808 < 340282366920938463463374607431768211456
true
-(S64) -9223372036854775807 < -170141183460469231731687303715884105728
+-9223372036854775807 < -170141183460469231731687303715884105728
false
-(S64) -9223372036854775807 < -170141183460469231731687303715884105727
+-9223372036854775807 < -170141183460469231731687303715884105727
false
-(S64) -9223372036854775807 < -9223372036854775808
+-9223372036854775807 < -9223372036854775808
false
-(S64) -9223372036854775807 < (S64) -9223372036854775807
+-9223372036854775807 < -9223372036854775807
false
-(S64) -9223372036854775807 < (S64) -2147483648
+-9223372036854775807 < -2147483648
true
-(S64) -9223372036854775807 < (S32) -2147483647
+-9223372036854775807 < -2147483647
true
-(S64) -9223372036854775807 < (S32) -32768
+-9223372036854775807 < -32768
true
-(S64) -9223372036854775807 < (S16) -32767
+-9223372036854775807 < -32767
true
-(S64) -9223372036854775807 < (S16) -128
+-9223372036854775807 < -128
true
-(S64) -9223372036854775807 < (S8) -127
+-9223372036854775807 < -127
true
-(S64) -9223372036854775807 < (U8) 255
+-9223372036854775807 < 255
true
-(S64) -9223372036854775807 < (U16) 256
+-9223372036854775807 < 256
true
-(S64) -9223372036854775807 < (U16) 65535
+-9223372036854775807 < 65535
true
-(S64) -9223372036854775807 < (U32) 65536
+-9223372036854775807 < 65536
true
-(S64) -9223372036854775807 < (U32) 4294967295
+-9223372036854775807 < 4294967295
true
-(S64) -9223372036854775807 < (U64) 4294967296
+-9223372036854775807 < 4294967296
true
-(S64) -9223372036854775807 < (U64) 18446744073709551615
+-9223372036854775807 < 18446744073709551615
true
-(S64) -9223372036854775807 < 18446744073709551616
+-9223372036854775807 < 18446744073709551616
true
-(S64) -9223372036854775807 < 340282366920938463463374607431768211455
+-9223372036854775807 < 340282366920938463463374607431768211455
true
-(S64) -9223372036854775807 < 340282366920938463463374607431768211456
+-9223372036854775807 < 340282366920938463463374607431768211456
true
-(S64) -2147483648 < -170141183460469231731687303715884105728
+-2147483648 < -170141183460469231731687303715884105728
false
-(S64) -2147483648 < -170141183460469231731687303715884105727
+-2147483648 < -170141183460469231731687303715884105727
false
-(S64) -2147483648 < -9223372036854775808
+-2147483648 < -9223372036854775808
false
-(S64) -2147483648 < (S64) -9223372036854775807
+-2147483648 < -9223372036854775807
false
-(S64) -2147483648 < (S64) -2147483648
+-2147483648 < -2147483648
false
-(S64) -2147483648 < (S32) -2147483647
+-2147483648 < -2147483647
true
-(S64) -2147483648 < (S32) -32768
+-2147483648 < -32768
true
-(S64) -2147483648 < (S16) -32767
+-2147483648 < -32767
true
-(S64) -2147483648 < (S16) -128
+-2147483648 < -128
true
-(S64) -2147483648 < (S8) -127
+-2147483648 < -127
true
-(S64) -2147483648 < (U8) 255
+-2147483648 < 255
true
-(S64) -2147483648 < (U16) 256
+-2147483648 < 256
true
-(S64) -2147483648 < (U16) 65535
+-2147483648 < 65535
true
-(S64) -2147483648 < (U32) 65536
+-2147483648 < 65536
true
-(S64) -2147483648 < (U32) 4294967295
+-2147483648 < 4294967295
true
-(S64) -2147483648 < (U64) 4294967296
+-2147483648 < 4294967296
true
-(S64) -2147483648 < (U64) 18446744073709551615
+-2147483648 < 18446744073709551615
true
-(S64) -2147483648 < 18446744073709551616
+-2147483648 < 18446744073709551616
true
-(S64) -2147483648 < 340282366920938463463374607431768211455
+-2147483648 < 340282366920938463463374607431768211455
true
-(S64) -2147483648 < 340282366920938463463374607431768211456
+-2147483648 < 340282366920938463463374607431768211456
true
-(S32) -2147483647 < -170141183460469231731687303715884105728
+-2147483647 < -170141183460469231731687303715884105728
false
-(S32) -2147483647 < -170141183460469231731687303715884105727
+-2147483647 < -170141183460469231731687303715884105727
false
-(S32) -2147483647 < -9223372036854775808
+-2147483647 < -9223372036854775808
false
-(S32) -2147483647 < (S64) -9223372036854775807
+-2147483647 < -9223372036854775807
false
-(S32) -2147483647 < (S64) -2147483648
+-2147483647 < -2147483648
false
-(S32) -2147483647 < (S32) -2147483647
+-2147483647 < -2147483647
false
-(S32) -2147483647 < (S32) -32768
+-2147483647 < -32768
true
-(S32) -2147483647 < (S16) -32767
+-2147483647 < -32767
true
-(S32) -2147483647 < (S16) -128
+-2147483647 < -128
true
-(S32) -2147483647 < (S8) -127
+-2147483647 < -127
true
-(S32) -2147483647 < (U8) 255
+-2147483647 < 255
true
-(S32) -2147483647 < (U16) 256
+-2147483647 < 256
true
-(S32) -2147483647 < (U16) 65535
+-2147483647 < 65535
true
-(S32) -2147483647 < (U32) 65536
+-2147483647 < 65536
true
-(S32) -2147483647 < (U32) 4294967295
+-2147483647 < 4294967295
true
-(S32) -2147483647 < (U64) 4294967296
+-2147483647 < 4294967296
true
-(S32) -2147483647 < (U64) 18446744073709551615
+-2147483647 < 18446744073709551615
true
-(S32) -2147483647 < 18446744073709551616
+-2147483647 < 18446744073709551616
true
-(S32) -2147483647 < 340282366920938463463374607431768211455
+-2147483647 < 340282366920938463463374607431768211455
true
-(S32) -2147483647 < 340282366920938463463374607431768211456
+-2147483647 < 340282366920938463463374607431768211456
true
-(S32) -32768 < -170141183460469231731687303715884105728
+-32768 < -170141183460469231731687303715884105728
false
-(S32) -32768 < -170141183460469231731687303715884105727
+-32768 < -170141183460469231731687303715884105727
false
-(S32) -32768 < -9223372036854775808
+-32768 < -9223372036854775808
false
-(S32) -32768 < (S64) -9223372036854775807
+-32768 < -9223372036854775807
false
-(S32) -32768 < (S64) -2147483648
+-32768 < -2147483648
false
-(S32) -32768 < (S32) -2147483647
+-32768 < -2147483647
false
-(S32) -32768 < (S32) -32768
+-32768 < -32768
false
-(S32) -32768 < (S16) -32767
+-32768 < -32767
true
-(S32) -32768 < (S16) -128
+-32768 < -128
true
-(S32) -32768 < (S8) -127
+-32768 < -127
true
-(S32) -32768 < (U8) 255
+-32768 < 255
true
-(S32) -32768 < (U16) 256
+-32768 < 256
true
-(S32) -32768 < (U16) 65535
+-32768 < 65535
true
-(S32) -32768 < (U32) 65536
+-32768 < 65536
true
-(S32) -32768 < (U32) 4294967295
+-32768 < 4294967295
true
-(S32) -32768 < (U64) 4294967296
+-32768 < 4294967296
true
-(S32) -32768 < (U64) 18446744073709551615
+-32768 < 18446744073709551615
true
-(S32) -32768 < 18446744073709551616
+-32768 < 18446744073709551616
true
-(S32) -32768 < 340282366920938463463374607431768211455
+-32768 < 340282366920938463463374607431768211455
true
-(S32) -32768 < 340282366920938463463374607431768211456
+-32768 < 340282366920938463463374607431768211456
true
-(S16) -32767 < -170141183460469231731687303715884105728
+-32767 < -170141183460469231731687303715884105728
false
-(S16) -32767 < -170141183460469231731687303715884105727
+-32767 < -170141183460469231731687303715884105727
false
-(S16) -32767 < -9223372036854775808
+-32767 < -9223372036854775808
false
-(S16) -32767 < (S64) -9223372036854775807
+-32767 < -9223372036854775807
false
-(S16) -32767 < (S64) -2147483648
+-32767 < -2147483648
false
-(S16) -32767 < (S32) -2147483647
+-32767 < -2147483647
false
-(S16) -32767 < (S32) -32768
+-32767 < -32768
false
-(S16) -32767 < (S16) -32767
+-32767 < -32767
false
-(S16) -32767 < (S16) -128
+-32767 < -128
true
-(S16) -32767 < (S8) -127
+-32767 < -127
true
-(S16) -32767 < (U8) 255
+-32767 < 255
true
-(S16) -32767 < (U16) 256
+-32767 < 256
true
-(S16) -32767 < (U16) 65535
+-32767 < 65535
true
-(S16) -32767 < (U32) 65536
+-32767 < 65536
true
-(S16) -32767 < (U32) 4294967295
+-32767 < 4294967295
true
-(S16) -32767 < (U64) 4294967296
+-32767 < 4294967296
true
-(S16) -32767 < (U64) 18446744073709551615
+-32767 < 18446744073709551615
true
-(S16) -32767 < 18446744073709551616
+-32767 < 18446744073709551616
true
-(S16) -32767 < 340282366920938463463374607431768211455
+-32767 < 340282366920938463463374607431768211455
true
-(S16) -32767 < 340282366920938463463374607431768211456
+-32767 < 340282366920938463463374607431768211456
true
-(S16) -128 < -170141183460469231731687303715884105728
+-128 < -170141183460469231731687303715884105728
false
-(S16) -128 < -170141183460469231731687303715884105727
+-128 < -170141183460469231731687303715884105727
false
-(S16) -128 < -9223372036854775808
+-128 < -9223372036854775808
false
-(S16) -128 < (S64) -9223372036854775807
+-128 < -9223372036854775807
false
-(S16) -128 < (S64) -2147483648
+-128 < -2147483648
false
-(S16) -128 < (S32) -2147483647
+-128 < -2147483647
false
-(S16) -128 < (S32) -32768
+-128 < -32768
false
-(S16) -128 < (S16) -32767
+-128 < -32767
false
-(S16) -128 < (S16) -128
+-128 < -128
false
-(S16) -128 < (S8) -127
+-128 < -127
true
-(S16) -128 < (U8) 255
+-128 < 255
true
-(S16) -128 < (U16) 256
+-128 < 256
true
-(S16) -128 < (U16) 65535
+-128 < 65535
true
-(S16) -128 < (U32) 65536
+-128 < 65536
true
-(S16) -128 < (U32) 4294967295
+-128 < 4294967295
true
-(S16) -128 < (U64) 4294967296
+-128 < 4294967296
true
-(S16) -128 < (U64) 18446744073709551615
+-128 < 18446744073709551615
true
-(S16) -128 < 18446744073709551616
+-128 < 18446744073709551616
true
-(S16) -128 < 340282366920938463463374607431768211455
+-128 < 340282366920938463463374607431768211455
true
-(S16) -128 < 340282366920938463463374607431768211456
+-128 < 340282366920938463463374607431768211456
true
-(S8) -127 < -170141183460469231731687303715884105728
+-127 < -170141183460469231731687303715884105728
false
-(S8) -127 < -170141183460469231731687303715884105727
+-127 < -170141183460469231731687303715884105727
false
-(S8) -127 < -9223372036854775808
+-127 < -9223372036854775808
false
-(S8) -127 < (S64) -9223372036854775807
+-127 < -9223372036854775807
false
-(S8) -127 < (S64) -2147483648
+-127 < -2147483648
false
-(S8) -127 < (S32) -2147483647
+-127 < -2147483647
false
-(S8) -127 < (S32) -32768
+-127 < -32768
false
-(S8) -127 < (S16) -32767
+-127 < -32767
false
-(S8) -127 < (S16) -128
+-127 < -128
false
-(S8) -127 < (S8) -127
+-127 < -127
false
-(S8) -127 < (U8) 255
+-127 < 255
true
-(S8) -127 < (U16) 256
+-127 < 256
true
-(S8) -127 < (U16) 65535
+-127 < 65535
true
-(S8) -127 < (U32) 65536
+-127 < 65536
true
-(S8) -127 < (U32) 4294967295
+-127 < 4294967295
true
-(S8) -127 < (U64) 4294967296
+-127 < 4294967296
true
-(S8) -127 < (U64) 18446744073709551615
+-127 < 18446744073709551615
true
-(S8) -127 < 18446744073709551616
+-127 < 18446744073709551616
true
-(S8) -127 < 340282366920938463463374607431768211455
+-127 < 340282366920938463463374607431768211455
true
-(S8) -127 < 340282366920938463463374607431768211456
+-127 < 340282366920938463463374607431768211456
true
-(U8) 255 < -170141183460469231731687303715884105728
+255 < -170141183460469231731687303715884105728
false
-(U8) 255 < -170141183460469231731687303715884105727
+255 < -170141183460469231731687303715884105727
false
-(U8) 255 < -9223372036854775808
+255 < -9223372036854775808
false
-(U8) 255 < (S64) -9223372036854775807
+255 < -9223372036854775807
false
-(U8) 255 < (S64) -2147483648
+255 < -2147483648
false
-(U8) 255 < (S32) -2147483647
+255 < -2147483647
false
-(U8) 255 < (S32) -32768
+255 < -32768
false
-(U8) 255 < (S16) -32767
+255 < -32767
false
-(U8) 255 < (S16) -128
+255 < -128
false
-(U8) 255 < (S8) -127
+255 < -127
false
-(U8) 255 < (U8) 255
+255 < 255
false
-(U8) 255 < (U16) 256
+255 < 256
true
-(U8) 255 < (U16) 65535
+255 < 65535
true
-(U8) 255 < (U32) 65536
+255 < 65536
true
-(U8) 255 < (U32) 4294967295
+255 < 4294967295
true
-(U8) 255 < (U64) 4294967296
+255 < 4294967296
true
-(U8) 255 < (U64) 18446744073709551615
+255 < 18446744073709551615
true
-(U8) 255 < 18446744073709551616
+255 < 18446744073709551616
true
-(U8) 255 < 340282366920938463463374607431768211455
+255 < 340282366920938463463374607431768211455
true
-(U8) 255 < 340282366920938463463374607431768211456
+255 < 340282366920938463463374607431768211456
true
-(U16) 256 < -170141183460469231731687303715884105728
+256 < -170141183460469231731687303715884105728
false
-(U16) 256 < -170141183460469231731687303715884105727
+256 < -170141183460469231731687303715884105727
false
-(U16) 256 < -9223372036854775808
+256 < -9223372036854775808
false
-(U16) 256 < (S64) -9223372036854775807
+256 < -9223372036854775807
false
-(U16) 256 < (S64) -2147483648
+256 < -2147483648
false
-(U16) 256 < (S32) -2147483647
+256 < -2147483647
false
-(U16) 256 < (S32) -32768
+256 < -32768
false
-(U16) 256 < (S16) -32767
+256 < -32767
false
-(U16) 256 < (S16) -128
+256 < -128
false
-(U16) 256 < (S8) -127
+256 < -127
false
-(U16) 256 < (U8) 255
+256 < 255
false
-(U16) 256 < (U16) 256
+256 < 256
false
-(U16) 256 < (U16) 65535
+256 < 65535
true
-(U16) 256 < (U32) 65536
+256 < 65536
true
-(U16) 256 < (U32) 4294967295
+256 < 4294967295
true
-(U16) 256 < (U64) 4294967296
+256 < 4294967296
true
-(U16) 256 < (U64) 18446744073709551615
+256 < 18446744073709551615
true
-(U16) 256 < 18446744073709551616
+256 < 18446744073709551616
true
-(U16) 256 < 340282366920938463463374607431768211455
+256 < 340282366920938463463374607431768211455
true
-(U16) 256 < 340282366920938463463374607431768211456
+256 < 340282366920938463463374607431768211456
true
-(U16) 65535 < -170141183460469231731687303715884105728
+65535 < -170141183460469231731687303715884105728
false
-(U16) 65535 < -170141183460469231731687303715884105727
+65535 < -170141183460469231731687303715884105727
false
-(U16) 65535 < -9223372036854775808
+65535 < -9223372036854775808
false
-(U16) 65535 < (S64) -9223372036854775807
+65535 < -9223372036854775807
false
-(U16) 65535 < (S64) -2147483648
+65535 < -2147483648
false
-(U16) 65535 < (S32) -2147483647
+65535 < -2147483647
false
-(U16) 65535 < (S32) -32768
+65535 < -32768
false
-(U16) 65535 < (S16) -32767
+65535 < -32767
false
-(U16) 65535 < (S16) -128
+65535 < -128
false
-(U16) 65535 < (S8) -127
+65535 < -127
false
-(U16) 65535 < (U8) 255
+65535 < 255
false
-(U16) 65535 < (U16) 256
+65535 < 256
false
-(U16) 65535 < (U16) 65535
+65535 < 65535
false
-(U16) 65535 < (U32) 65536
+65535 < 65536
true
-(U16) 65535 < (U32) 4294967295
+65535 < 4294967295
true
-(U16) 65535 < (U64) 4294967296
+65535 < 4294967296
true
-(U16) 65535 < (U64) 18446744073709551615
+65535 < 18446744073709551615
true
-(U16) 65535 < 18446744073709551616
+65535 < 18446744073709551616
true
-(U16) 65535 < 340282366920938463463374607431768211455
+65535 < 340282366920938463463374607431768211455
true
-(U16) 65535 < 340282366920938463463374607431768211456
+65535 < 340282366920938463463374607431768211456
true
-(U32) 65536 < -170141183460469231731687303715884105728
+65536 < -170141183460469231731687303715884105728
false
-(U32) 65536 < -170141183460469231731687303715884105727
+65536 < -170141183460469231731687303715884105727
false
-(U32) 65536 < -9223372036854775808
+65536 < -9223372036854775808
false
-(U32) 65536 < (S64) -9223372036854775807
+65536 < -9223372036854775807
false
-(U32) 65536 < (S64) -2147483648
+65536 < -2147483648
false
-(U32) 65536 < (S32) -2147483647
+65536 < -2147483647
false
-(U32) 65536 < (S32) -32768
+65536 < -32768
false
-(U32) 65536 < (S16) -32767
+65536 < -32767
false
-(U32) 65536 < (S16) -128
+65536 < -128
false
-(U32) 65536 < (S8) -127
+65536 < -127
false
-(U32) 65536 < (U8) 255
+65536 < 255
false
-(U32) 65536 < (U16) 256
+65536 < 256
false
-(U32) 65536 < (U16) 65535
+65536 < 65535
false
-(U32) 65536 < (U32) 65536
+65536 < 65536
false
-(U32) 65536 < (U32) 4294967295
+65536 < 4294967295
true
-(U32) 65536 < (U64) 4294967296
+65536 < 4294967296
true
-(U32) 65536 < (U64) 18446744073709551615
+65536 < 18446744073709551615
true
-(U32) 65536 < 18446744073709551616
+65536 < 18446744073709551616
true
-(U32) 65536 < 340282366920938463463374607431768211455
+65536 < 340282366920938463463374607431768211455
true
-(U32) 65536 < 340282366920938463463374607431768211456
+65536 < 340282366920938463463374607431768211456
true
-(U32) 4294967295 < -170141183460469231731687303715884105728
+4294967295 < -170141183460469231731687303715884105728
false
-(U32) 4294967295 < -170141183460469231731687303715884105727
+4294967295 < -170141183460469231731687303715884105727
false
-(U32) 4294967295 < -9223372036854775808
+4294967295 < -9223372036854775808
false
-(U32) 4294967295 < (S64) -9223372036854775807
+4294967295 < -9223372036854775807
false
-(U32) 4294967295 < (S64) -2147483648
+4294967295 < -2147483648
false
-(U32) 4294967295 < (S32) -2147483647
+4294967295 < -2147483647
false
-(U32) 4294967295 < (S32) -32768
+4294967295 < -32768
false
-(U32) 4294967295 < (S16) -32767
+4294967295 < -32767
false
-(U32) 4294967295 < (S16) -128
+4294967295 < -128
false
-(U32) 4294967295 < (S8) -127
+4294967295 < -127
false
-(U32) 4294967295 < (U8) 255
+4294967295 < 255
false
-(U32) 4294967295 < (U16) 256
+4294967295 < 256
false
-(U32) 4294967295 < (U16) 65535
+4294967295 < 65535
false
-(U32) 4294967295 < (U32) 65536
+4294967295 < 65536
false
-(U32) 4294967295 < (U32) 4294967295
+4294967295 < 4294967295
false
-(U32) 4294967295 < (U64) 4294967296
+4294967295 < 4294967296
true
-(U32) 4294967295 < (U64) 18446744073709551615
+4294967295 < 18446744073709551615
true
-(U32) 4294967295 < 18446744073709551616
+4294967295 < 18446744073709551616
true
-(U32) 4294967295 < 340282366920938463463374607431768211455
+4294967295 < 340282366920938463463374607431768211455
true
-(U32) 4294967295 < 340282366920938463463374607431768211456
+4294967295 < 340282366920938463463374607431768211456
true
-(U64) 4294967296 < -170141183460469231731687303715884105728
+4294967296 < -170141183460469231731687303715884105728
false
-(U64) 4294967296 < -170141183460469231731687303715884105727
+4294967296 < -170141183460469231731687303715884105727
false
-(U64) 4294967296 < -9223372036854775808
+4294967296 < -9223372036854775808
false
-(U64) 4294967296 < (S64) -9223372036854775807
+4294967296 < -9223372036854775807
false
-(U64) 4294967296 < (S64) -2147483648
+4294967296 < -2147483648
false
-(U64) 4294967296 < (S32) -2147483647
+4294967296 < -2147483647
false
-(U64) 4294967296 < (S32) -32768
+4294967296 < -32768
false
-(U64) 4294967296 < (S16) -32767
+4294967296 < -32767
false
-(U64) 4294967296 < (S16) -128
+4294967296 < -128
false
-(U64) 4294967296 < (S8) -127
+4294967296 < -127
false
-(U64) 4294967296 < (U8) 255
+4294967296 < 255
false
-(U64) 4294967296 < (U16) 256
+4294967296 < 256
false
-(U64) 4294967296 < (U16) 65535
+4294967296 < 65535
false
-(U64) 4294967296 < (U32) 65536
+4294967296 < 65536
false
-(U64) 4294967296 < (U32) 4294967295
+4294967296 < 4294967295
false
-(U64) 4294967296 < (U64) 4294967296
+4294967296 < 4294967296
false
-(U64) 4294967296 < (U64) 18446744073709551615
+4294967296 < 18446744073709551615
true
-(U64) 4294967296 < 18446744073709551616
+4294967296 < 18446744073709551616
true
-(U64) 4294967296 < 340282366920938463463374607431768211455
+4294967296 < 340282366920938463463374607431768211455
true
-(U64) 4294967296 < 340282366920938463463374607431768211456
+4294967296 < 340282366920938463463374607431768211456
true
-(U64) 18446744073709551615 < -170141183460469231731687303715884105728
+18446744073709551615 < -170141183460469231731687303715884105728
false
-(U64) 18446744073709551615 < -170141183460469231731687303715884105727
+18446744073709551615 < -170141183460469231731687303715884105727
false
-(U64) 18446744073709551615 < -9223372036854775808
+18446744073709551615 < -9223372036854775808
false
-(U64) 18446744073709551615 < (S64) -9223372036854775807
+18446744073709551615 < -9223372036854775807
false
-(U64) 18446744073709551615 < (S64) -2147483648
+18446744073709551615 < -2147483648
false
-(U64) 18446744073709551615 < (S32) -2147483647
+18446744073709551615 < -2147483647
false
-(U64) 18446744073709551615 < (S32) -32768
+18446744073709551615 < -32768
false
-(U64) 18446744073709551615 < (S16) -32767
+18446744073709551615 < -32767
false
-(U64) 18446744073709551615 < (S16) -128
+18446744073709551615 < -128
false
-(U64) 18446744073709551615 < (S8) -127
+18446744073709551615 < -127
false
-(U64) 18446744073709551615 < (U8) 255
+18446744073709551615 < 255
false
-(U64) 18446744073709551615 < (U16) 256
+18446744073709551615 < 256
false
-(U64) 18446744073709551615 < (U16) 65535
+18446744073709551615 < 65535
false
-(U64) 18446744073709551615 < (U32) 65536
+18446744073709551615 < 65536
false
-(U64) 18446744073709551615 < (U32) 4294967295
+18446744073709551615 < 4294967295
false
-(U64) 18446744073709551615 < (U64) 4294967296
+18446744073709551615 < 4294967296
false
-(U64) 18446744073709551615 < (U64) 18446744073709551615
+18446744073709551615 < 18446744073709551615
false
-(U64) 18446744073709551615 < 18446744073709551616
+18446744073709551615 < 18446744073709551616
true
-(U64) 18446744073709551615 < 340282366920938463463374607431768211455
+18446744073709551615 < 340282366920938463463374607431768211455
true
-(U64) 18446744073709551615 < 340282366920938463463374607431768211456
+18446744073709551615 < 340282366920938463463374607431768211456
true
18446744073709551616 < -170141183460469231731687303715884105728
false
@@ -684,33 +684,33 @@ false
false
18446744073709551616 < -9223372036854775808
false
-18446744073709551616 < (S64) -9223372036854775807
+18446744073709551616 < -9223372036854775807
false
-18446744073709551616 < (S64) -2147483648
+18446744073709551616 < -2147483648
false
-18446744073709551616 < (S32) -2147483647
+18446744073709551616 < -2147483647
false
-18446744073709551616 < (S32) -32768
+18446744073709551616 < -32768
false
-18446744073709551616 < (S16) -32767
+18446744073709551616 < -32767
false
-18446744073709551616 < (S16) -128
+18446744073709551616 < -128
false
-18446744073709551616 < (S8) -127
+18446744073709551616 < -127
false
-18446744073709551616 < (U8) 255
+18446744073709551616 < 255
false
-18446744073709551616 < (U16) 256
+18446744073709551616 < 256
false
-18446744073709551616 < (U16) 65535
+18446744073709551616 < 65535
false
-18446744073709551616 < (U32) 65536
+18446744073709551616 < 65536
false
-18446744073709551616 < (U32) 4294967295
+18446744073709551616 < 4294967295
false
-18446744073709551616 < (U64) 4294967296
+18446744073709551616 < 4294967296
false
-18446744073709551616 < (U64) 18446744073709551615
+18446744073709551616 < 18446744073709551615
false
18446744073709551616 < 18446744073709551616
false
@@ -724,33 +724,33 @@ false
false
340282366920938463463374607431768211455 < -9223372036854775808
false
-340282366920938463463374607431768211455 < (S64) -9223372036854775807
+340282366920938463463374607431768211455 < -9223372036854775807
false
-340282366920938463463374607431768211455 < (S64) -2147483648
+340282366920938463463374607431768211455 < -2147483648
false
-340282366920938463463374607431768211455 < (S32) -2147483647
+340282366920938463463374607431768211455 < -2147483647
false
-340282366920938463463374607431768211455 < (S32) -32768
+340282366920938463463374607431768211455 < -32768
false
-340282366920938463463374607431768211455 < (S16) -32767
+340282366920938463463374607431768211455 < -32767
false
-340282366920938463463374607431768211455 < (S16) -128
+340282366920938463463374607431768211455 < -128
false
-340282366920938463463374607431768211455 < (S8) -127
+340282366920938463463374607431768211455 < -127
false
-340282366920938463463374607431768211455 < (U8) 255
+340282366920938463463374607431768211455 < 255
false
-340282366920938463463374607431768211455 < (U16) 256
+340282366920938463463374607431768211455 < 256
false
-340282366920938463463374607431768211455 < (U16) 65535
+340282366920938463463374607431768211455 < 65535
false
-340282366920938463463374607431768211455 < (U32) 65536
+340282366920938463463374607431768211455 < 65536
false
-340282366920938463463374607431768211455 < (U32) 4294967295
+340282366920938463463374607431768211455 < 4294967295
false
-340282366920938463463374607431768211455 < (U64) 4294967296
+340282366920938463463374607431768211455 < 4294967296
false
-340282366920938463463374607431768211455 < (U64) 18446744073709551615
+340282366920938463463374607431768211455 < 18446744073709551615
false
340282366920938463463374607431768211455 < 18446744073709551616
false
@@ -764,33 +764,33 @@ false
false
340282366920938463463374607431768211456 < -9223372036854775808
false
-340282366920938463463374607431768211456 < (S64) -9223372036854775807
+340282366920938463463374607431768211456 < -9223372036854775807
false
-340282366920938463463374607431768211456 < (S64) -2147483648
+340282366920938463463374607431768211456 < -2147483648
false
-340282366920938463463374607431768211456 < (S32) -2147483647
+340282366920938463463374607431768211456 < -2147483647
false
-340282366920938463463374607431768211456 < (S32) -32768
+340282366920938463463374607431768211456 < -32768
false
-340282366920938463463374607431768211456 < (S16) -32767
+340282366920938463463374607431768211456 < -32767
false
-340282366920938463463374607431768211456 < (S16) -128
+340282366920938463463374607431768211456 < -128
false
-340282366920938463463374607431768211456 < (S8) -127
+340282366920938463463374607431768211456 < -127
false
-340282366920938463463374607431768211456 < (U8) 255
+340282366920938463463374607431768211456 < 255
false
-340282366920938463463374607431768211456 < (U16) 256
+340282366920938463463374607431768211456 < 256
false
-340282366920938463463374607431768211456 < (U16) 65535
+340282366920938463463374607431768211456 < 65535
false
-340282366920938463463374607431768211456 < (U32) 65536
+340282366920938463463374607431768211456 < 65536
false
-340282366920938463463374607431768211456 < (U32) 4294967295
+340282366920938463463374607431768211456 < 4294967295
false
-340282366920938463463374607431768211456 < (U64) 4294967296
+340282366920938463463374607431768211456 < 4294967296
false
-340282366920938463463374607431768211456 < (U64) 18446744073709551615
+340282366920938463463374607431768211456 < 18446744073709551615
false
340282366920938463463374607431768211456 < 18446744073709551616
false
diff --git a/test/ikc3/integer_mod-2.out.expected b/test/ikc3/integer_mod-2.out.expected
index 7031332..e8f4f9e 100644
--- a/test/ikc3/integer_mod-2.out.expected
+++ b/test/ikc3/integer_mod-2.out.expected
@@ -4,34 +4,34 @@
-1
-170141183460469231731687303715884105728 mod -9223372036854775808
0
--170141183460469231731687303715884105728 mod (S64) -9223372036854775807
-(S64) -2
--170141183460469231731687303715884105728 mod (S64) -2147483648
-(S64) 0
--170141183460469231731687303715884105728 mod (S32) -2147483647
-(S32) -8
--170141183460469231731687303715884105728 mod (S32) -32768
-(S32) 0
--170141183460469231731687303715884105728 mod (S16) -32767
-(S16) -128
--170141183460469231731687303715884105728 mod (S16) -128
-(S16) 0
--170141183460469231731687303715884105728 mod (S8) -127
-(S8) -2
--170141183460469231731687303715884105728 mod (U8) 255
-(U8) 127
--170141183460469231731687303715884105728 mod (U16) 256
-(U16) 0
--170141183460469231731687303715884105728 mod (U16) 65535
-(U16) 32767
--170141183460469231731687303715884105728 mod (U32) 65536
-(U32) 0
--170141183460469231731687303715884105728 mod (U32) 4294967295
-(U32) 2147483647
--170141183460469231731687303715884105728 mod (U64) 4294967296
-(U64) 0
--170141183460469231731687303715884105728 mod (U64) 18446744073709551615
-(U64) 9223372036854775807
+-170141183460469231731687303715884105728 mod -9223372036854775807
+-2
+-170141183460469231731687303715884105728 mod -2147483648
+0
+-170141183460469231731687303715884105728 mod -2147483647
+-8
+-170141183460469231731687303715884105728 mod -32768
+0
+-170141183460469231731687303715884105728 mod -32767
+-128
+-170141183460469231731687303715884105728 mod -128
+0
+-170141183460469231731687303715884105728 mod -127
+-2
+-170141183460469231731687303715884105728 mod 255
+127
+-170141183460469231731687303715884105728 mod 256
+0
+-170141183460469231731687303715884105728 mod 65535
+32767
+-170141183460469231731687303715884105728 mod 65536
+0
+-170141183460469231731687303715884105728 mod 4294967295
+2147483647
+-170141183460469231731687303715884105728 mod 4294967296
+0
+-170141183460469231731687303715884105728 mod 18446744073709551615
+9223372036854775807
-170141183460469231731687303715884105728 mod 18446744073709551616
0
-170141183460469231731687303715884105728 mod 340282366920938463463374607431768211455
@@ -44,34 +44,34 @@
0
-170141183460469231731687303715884105727 mod -9223372036854775808
-9223372036854775807
--170141183460469231731687303715884105727 mod (S64) -9223372036854775807
-(S64) -1
--170141183460469231731687303715884105727 mod (S64) -2147483648
-(S64) -2147483647
--170141183460469231731687303715884105727 mod (S32) -2147483647
-(S32) -7
--170141183460469231731687303715884105727 mod (S32) -32768
-(S32) -32767
--170141183460469231731687303715884105727 mod (S16) -32767
-(S16) -127
--170141183460469231731687303715884105727 mod (S16) -128
-(S16) -127
--170141183460469231731687303715884105727 mod (S8) -127
-(S8) -1
--170141183460469231731687303715884105727 mod (U8) 255
-(U8) 128
--170141183460469231731687303715884105727 mod (U16) 256
-(U16) 1
--170141183460469231731687303715884105727 mod (U16) 65535
-(U16) 32768
--170141183460469231731687303715884105727 mod (U32) 65536
-(U32) 1
--170141183460469231731687303715884105727 mod (U32) 4294967295
-(U32) 2147483648
--170141183460469231731687303715884105727 mod (U64) 4294967296
-(U64) 1
--170141183460469231731687303715884105727 mod (U64) 18446744073709551615
-(U64) 9223372036854775808
+-170141183460469231731687303715884105727 mod -9223372036854775807
+-1
+-170141183460469231731687303715884105727 mod -2147483648
+-2147483647
+-170141183460469231731687303715884105727 mod -2147483647
+-7
+-170141183460469231731687303715884105727 mod -32768
+-32767
+-170141183460469231731687303715884105727 mod -32767
+-127
+-170141183460469231731687303715884105727 mod -128
+-127
+-170141183460469231731687303715884105727 mod -127
+-1
+-170141183460469231731687303715884105727 mod 255
+128
+-170141183460469231731687303715884105727 mod 256
+1
+-170141183460469231731687303715884105727 mod 65535
+32768
+-170141183460469231731687303715884105727 mod 65536
+1
+-170141183460469231731687303715884105727 mod 4294967295
+2147483648
+-170141183460469231731687303715884105727 mod 4294967296
+1
+-170141183460469231731687303715884105727 mod 18446744073709551615
+9223372036854775808
-170141183460469231731687303715884105727 mod 18446744073709551616
1
-170141183460469231731687303715884105727 mod 340282366920938463463374607431768211455
@@ -84,599 +84,599 @@
-9223372036854775808
-9223372036854775808 mod -9223372036854775808
0
--9223372036854775808 mod (S64) -9223372036854775807
-(S64) -1
--9223372036854775808 mod (S64) -2147483648
-(S64) 0
--9223372036854775808 mod (S32) -2147483647
-(S32) -2
--9223372036854775808 mod (S32) -32768
-(S32) 0
--9223372036854775808 mod (S16) -32767
-(S16) -8
--9223372036854775808 mod (S16) -128
-(S16) 0
--9223372036854775808 mod (S8) -127
-(S8) -1
--9223372036854775808 mod (U8) 255
-(U8) 127
--9223372036854775808 mod (U16) 256
-(U16) 0
--9223372036854775808 mod (U16) 65535
-(U16) 32767
--9223372036854775808 mod (U32) 65536
-(U32) 0
--9223372036854775808 mod (U32) 4294967295
-(U32) 2147483647
--9223372036854775808 mod (U64) 4294967296
-(U64) 0
--9223372036854775808 mod (U64) 18446744073709551615
-(U64) 9223372036854775807
+-9223372036854775808 mod -9223372036854775807
+-1
+-9223372036854775808 mod -2147483648
+0
+-9223372036854775808 mod -2147483647
+-2
+-9223372036854775808 mod -32768
+0
+-9223372036854775808 mod -32767
+-8
+-9223372036854775808 mod -128
+0
+-9223372036854775808 mod -127
+-1
+-9223372036854775808 mod 255
+127
+-9223372036854775808 mod 256
+0
+-9223372036854775808 mod 65535
+32767
+-9223372036854775808 mod 65536
+0
+-9223372036854775808 mod 4294967295
+2147483647
+-9223372036854775808 mod 4294967296
+0
+-9223372036854775808 mod 18446744073709551615
+9223372036854775807
-9223372036854775808 mod 18446744073709551616
9223372036854775808
-9223372036854775808 mod 340282366920938463463374607431768211455
340282366920938463454151235394913435647
-9223372036854775808 mod 340282366920938463463374607431768211456
340282366920938463454151235394913435648
-(S64) -9223372036854775807 mod -170141183460469231731687303715884105728
+-9223372036854775807 mod -170141183460469231731687303715884105728
-9223372036854775807
-(S64) -9223372036854775807 mod -170141183460469231731687303715884105727
+-9223372036854775807 mod -170141183460469231731687303715884105727
-9223372036854775807
-(S64) -9223372036854775807 mod -9223372036854775808
+-9223372036854775807 mod -9223372036854775808
-9223372036854775807
-(S64) -9223372036854775807 mod (S64) -9223372036854775807
-(S64) 0
-(S64) -9223372036854775807 mod (S64) -2147483648
-(S64) -2147483647
-(S64) -9223372036854775807 mod (S32) -2147483647
-(S32) -1
-(S64) -9223372036854775807 mod (S32) -32768
-(S32) -32767
-(S64) -9223372036854775807 mod (S16) -32767
-(S16) -7
-(S64) -9223372036854775807 mod (S16) -128
-(S16) -127
-(S64) -9223372036854775807 mod (S8) -127
-(S8) 0
-(S64) -9223372036854775807 mod (U8) 255
-(U8) 128
-(S64) -9223372036854775807 mod (U16) 256
-(U16) 1
-(S64) -9223372036854775807 mod (U16) 65535
-(U16) 32768
-(S64) -9223372036854775807 mod (U32) 65536
-(U32) 1
-(S64) -9223372036854775807 mod (U32) 4294967295
-(U32) 2147483648
-(S64) -9223372036854775807 mod (U64) 4294967296
+-9223372036854775807 mod -9223372036854775807
+0
+-9223372036854775807 mod -2147483648
+-2147483647
+-9223372036854775807 mod -2147483647
+-1
+-9223372036854775807 mod -32768
+-32767
+-9223372036854775807 mod -32767
+-7
+-9223372036854775807 mod -128
+-127
+-9223372036854775807 mod -127
+0
+-9223372036854775807 mod 255
+128
+-9223372036854775807 mod 256
+1
+-9223372036854775807 mod 65535
+32768
+-9223372036854775807 mod 65536
1
-(S64) -9223372036854775807 mod (U64) 18446744073709551615
+-9223372036854775807 mod 4294967295
+2147483648
+-9223372036854775807 mod 4294967296
+1
+-9223372036854775807 mod 18446744073709551615
9223372036854775808
-(S64) -9223372036854775807 mod 18446744073709551616
+-9223372036854775807 mod 18446744073709551616
9223372036854775809
-(S64) -9223372036854775807 mod 340282366920938463463374607431768211455
+-9223372036854775807 mod 340282366920938463463374607431768211455
340282366920938463454151235394913435648
-(S64) -9223372036854775807 mod 340282366920938463463374607431768211456
+-9223372036854775807 mod 340282366920938463463374607431768211456
340282366920938463454151235394913435649
-(S64) -2147483648 mod -170141183460469231731687303715884105728
+-2147483648 mod -170141183460469231731687303715884105728
+-2147483648
+-2147483648 mod -170141183460469231731687303715884105727
-2147483648
-(S64) -2147483648 mod -170141183460469231731687303715884105727
+-2147483648 mod -9223372036854775808
-2147483648
-(S64) -2147483648 mod -9223372036854775808
+-2147483648 mod -9223372036854775807
-2147483648
-(S64) -2147483648 mod (S64) -9223372036854775807
-(S64) -2147483648
-(S64) -2147483648 mod (S64) -2147483648
-(S64) 0
-(S64) -2147483648 mod (S32) -2147483647
-(S32) -1
-(S64) -2147483648 mod (S32) -32768
-(S32) 0
-(S64) -2147483648 mod (S16) -32767
-(S16) -2
-(S64) -2147483648 mod (S16) -128
-(S16) 0
-(S64) -2147483648 mod (S8) -127
-(S8) -8
-(S64) -2147483648 mod (U8) 255
-(U8) 127
-(S64) -2147483648 mod (U16) 256
-(U16) 0
-(S64) -2147483648 mod (U16) 65535
-(U16) 32767
-(S64) -2147483648 mod (U32) 65536
-(U32) 0
-(S64) -2147483648 mod (U32) 4294967295
-(U32) 2147483647
-(S64) -2147483648 mod (U64) 4294967296
+-2147483648 mod -2147483648
+0
+-2147483648 mod -2147483647
+-1
+-2147483648 mod -32768
+0
+-2147483648 mod -32767
+-2
+-2147483648 mod -128
+0
+-2147483648 mod -127
+-8
+-2147483648 mod 255
+127
+-2147483648 mod 256
+0
+-2147483648 mod 65535
+32767
+-2147483648 mod 65536
+0
+-2147483648 mod 4294967295
+2147483647
+-2147483648 mod 4294967296
2147483648
-(S64) -2147483648 mod (U64) 18446744073709551615
+-2147483648 mod 18446744073709551615
18446744071562067967
-(S64) -2147483648 mod 18446744073709551616
+-2147483648 mod 18446744073709551616
18446744071562067968
-(S64) -2147483648 mod 340282366920938463463374607431768211455
+-2147483648 mod 340282366920938463463374607431768211455
340282366920938463463374607429620727807
-(S64) -2147483648 mod 340282366920938463463374607431768211456
+-2147483648 mod 340282366920938463463374607431768211456
340282366920938463463374607429620727808
-(S32) -2147483647 mod -170141183460469231731687303715884105728
+-2147483647 mod -170141183460469231731687303715884105728
+-2147483647
+-2147483647 mod -170141183460469231731687303715884105727
-2147483647
-(S32) -2147483647 mod -170141183460469231731687303715884105727
+-2147483647 mod -9223372036854775808
-2147483647
-(S32) -2147483647 mod -9223372036854775808
+-2147483647 mod -9223372036854775807
-2147483647
-(S32) -2147483647 mod (S64) -9223372036854775807
-(S64) -2147483647
-(S32) -2147483647 mod (S64) -2147483648
-(S64) -2147483647
-(S32) -2147483647 mod (S32) -2147483647
-(S32) 0
-(S32) -2147483647 mod (S32) -32768
-(S32) -32767
-(S32) -2147483647 mod (S16) -32767
-(S16) -1
-(S32) -2147483647 mod (S16) -128
-(S16) -127
-(S32) -2147483647 mod (S8) -127
-(S8) -7
-(S32) -2147483647 mod (U8) 255
-(U8) 128
-(S32) -2147483647 mod (U16) 256
-(U16) 1
-(S32) -2147483647 mod (U16) 65535
-(U16) 32768
-(S32) -2147483647 mod (U32) 65536
-(U32) 1
-(S32) -2147483647 mod (U32) 4294967295
-(U32) 2147483648
-(S32) -2147483647 mod (U64) 4294967296
+-2147483647 mod -2147483648
+-2147483647
+-2147483647 mod -2147483647
+0
+-2147483647 mod -32768
+-32767
+-2147483647 mod -32767
+-1
+-2147483647 mod -128
+-127
+-2147483647 mod -127
+-7
+-2147483647 mod 255
+128
+-2147483647 mod 256
+1
+-2147483647 mod 65535
+32768
+-2147483647 mod 65536
+1
+-2147483647 mod 4294967295
+2147483648
+-2147483647 mod 4294967296
2147483649
-(S32) -2147483647 mod (U64) 18446744073709551615
+-2147483647 mod 18446744073709551615
18446744071562067968
-(S32) -2147483647 mod 18446744073709551616
+-2147483647 mod 18446744073709551616
18446744071562067969
-(S32) -2147483647 mod 340282366920938463463374607431768211455
+-2147483647 mod 340282366920938463463374607431768211455
340282366920938463463374607429620727808
-(S32) -2147483647 mod 340282366920938463463374607431768211456
+-2147483647 mod 340282366920938463463374607431768211456
340282366920938463463374607429620727809
-(S32) -32768 mod -170141183460469231731687303715884105728
+-32768 mod -170141183460469231731687303715884105728
+-32768
+-32768 mod -170141183460469231731687303715884105727
+-32768
+-32768 mod -9223372036854775808
+-32768
+-32768 mod -9223372036854775807
-32768
-(S32) -32768 mod -170141183460469231731687303715884105727
+-32768 mod -2147483648
-32768
-(S32) -32768 mod -9223372036854775808
+-32768 mod -2147483647
-32768
-(S32) -32768 mod (S64) -9223372036854775807
-(S64) -32768
-(S32) -32768 mod (S64) -2147483648
-(S64) -32768
-(S32) -32768 mod (S32) -2147483647
-(S32) -32768
-(S32) -32768 mod (S32) -32768
-(S32) 0
-(S32) -32768 mod (S16) -32767
-(S16) -1
-(S32) -32768 mod (S16) -128
-(S16) 0
-(S32) -32768 mod (S8) -127
-(S8) -2
-(S32) -32768 mod (U8) 255
-(U8) 127
-(S32) -32768 mod (U16) 256
-(U16) 0
-(S32) -32768 mod (U16) 65535
-(U16) 32767
-(S32) -32768 mod (U32) 65536
-(U32) 32768
-(S32) -32768 mod (U32) 4294967295
-(U32) 4294934527
-(S32) -32768 mod (U64) 4294967296
+-32768 mod -32768
+0
+-32768 mod -32767
+-1
+-32768 mod -128
+0
+-32768 mod -127
+-2
+-32768 mod 255
+127
+-32768 mod 256
+0
+-32768 mod 65535
+32767
+-32768 mod 65536
+32768
+-32768 mod 4294967295
+4294934527
+-32768 mod 4294967296
4294934528
-(S32) -32768 mod (U64) 18446744073709551615
+-32768 mod 18446744073709551615
18446744073709518847
-(S32) -32768 mod 18446744073709551616
+-32768 mod 18446744073709551616
18446744073709518848
-(S32) -32768 mod 340282366920938463463374607431768211455
+-32768 mod 340282366920938463463374607431768211455
340282366920938463463374607431768178687
-(S32) -32768 mod 340282366920938463463374607431768211456
+-32768 mod 340282366920938463463374607431768211456
340282366920938463463374607431768178688
-(S16) -32767 mod -170141183460469231731687303715884105728
+-32767 mod -170141183460469231731687303715884105728
+-32767
+-32767 mod -170141183460469231731687303715884105727
+-32767
+-32767 mod -9223372036854775808
-32767
-(S16) -32767 mod -170141183460469231731687303715884105727
+-32767 mod -9223372036854775807
-32767
-(S16) -32767 mod -9223372036854775808
+-32767 mod -2147483648
-32767
-(S16) -32767 mod (S64) -9223372036854775807
-(S16) -32767
-(S16) -32767 mod (S64) -2147483648
-(S16) -32767
-(S16) -32767 mod (S32) -2147483647
-(S16) -32767
-(S16) -32767 mod (S32) -32768
-(S16) -32767
-(S16) -32767 mod (S16) -32767
-(S16) 0
-(S16) -32767 mod (S16) -128
-(S16) -127
-(S16) -32767 mod (S8) -127
-(S8) -1
-(S16) -32767 mod (U8) 255
-(U8) 128
-(S16) -32767 mod (U16) 256
-(U16) 1
-(S16) -32767 mod (U16) 65535
-(U16) 32768
-(S16) -32767 mod (U32) 65536
-(U32) 32769
-(S16) -32767 mod (U32) 4294967295
-(U32) 4294934528
-(S16) -32767 mod (U64) 4294967296
+-32767 mod -2147483647
+-32767
+-32767 mod -32768
+-32767
+-32767 mod -32767
+0
+-32767 mod -128
+-127
+-32767 mod -127
+-1
+-32767 mod 255
+128
+-32767 mod 256
+1
+-32767 mod 65535
+32768
+-32767 mod 65536
+32769
+-32767 mod 4294967295
+4294934528
+-32767 mod 4294967296
4294934529
-(S16) -32767 mod (U64) 18446744073709551615
+-32767 mod 18446744073709551615
18446744073709518848
-(S16) -32767 mod 18446744073709551616
+-32767 mod 18446744073709551616
18446744073709518849
-(S16) -32767 mod 340282366920938463463374607431768211455
+-32767 mod 340282366920938463463374607431768211455
340282366920938463463374607431768178688
-(S16) -32767 mod 340282366920938463463374607431768211456
+-32767 mod 340282366920938463463374607431768211456
340282366920938463463374607431768178689
-(S16) -128 mod -170141183460469231731687303715884105728
+-128 mod -170141183460469231731687303715884105728
+-128
+-128 mod -170141183460469231731687303715884105727
+-128
+-128 mod -9223372036854775808
+-128
+-128 mod -9223372036854775807
+-128
+-128 mod -2147483648
-128
-(S16) -128 mod -170141183460469231731687303715884105727
+-128 mod -2147483647
-128
-(S16) -128 mod -9223372036854775808
+-128 mod -32768
-128
-(S16) -128 mod (S64) -9223372036854775807
-(S16) -128
-(S16) -128 mod (S64) -2147483648
-(S16) -128
-(S16) -128 mod (S32) -2147483647
-(S16) -128
-(S16) -128 mod (S32) -32768
-(S16) -128
-(S16) -128 mod (S16) -32767
-(S16) -128
-(S16) -128 mod (S16) -128
-(S16) 0
-(S16) -128 mod (S8) -127
-(S8) -1
-(S16) -128 mod (U8) 255
-(U8) 127
-(S16) -128 mod (U16) 256
-(U16) 128
-(S16) -128 mod (U16) 65535
-(U16) 65407
-(S16) -128 mod (U32) 65536
-(U32) 65408
-(S16) -128 mod (U32) 4294967295
-(U32) 4294967167
-(S16) -128 mod (U64) 4294967296
+-128 mod -32767
+-128
+-128 mod -128
+0
+-128 mod -127
+-1
+-128 mod 255
+127
+-128 mod 256
+128
+-128 mod 65535
+65407
+-128 mod 65536
+65408
+-128 mod 4294967295
+4294967167
+-128 mod 4294967296
4294967168
-(S16) -128 mod (U64) 18446744073709551615
+-128 mod 18446744073709551615
18446744073709551487
-(S16) -128 mod 18446744073709551616
+-128 mod 18446744073709551616
18446744073709551488
-(S16) -128 mod 340282366920938463463374607431768211455
+-128 mod 340282366920938463463374607431768211455
340282366920938463463374607431768211327
-(S16) -128 mod 340282366920938463463374607431768211456
+-128 mod 340282366920938463463374607431768211456
340282366920938463463374607431768211328
-(S8) -127 mod -170141183460469231731687303715884105728
+-127 mod -170141183460469231731687303715884105728
+-127
+-127 mod -170141183460469231731687303715884105727
+-127
+-127 mod -9223372036854775808
-127
-(S8) -127 mod -170141183460469231731687303715884105727
+-127 mod -9223372036854775807
-127
-(S8) -127 mod -9223372036854775808
+-127 mod -2147483648
-127
-(S8) -127 mod (S64) -9223372036854775807
-(S8) -127
-(S8) -127 mod (S64) -2147483648
-(S8) -127
-(S8) -127 mod (S32) -2147483647
-(S8) -127
-(S8) -127 mod (S32) -32768
-(S8) -127
-(S8) -127 mod (S16) -32767
-(S8) -127
-(S8) -127 mod (S16) -128
-(S8) -127
-(S8) -127 mod (S8) -127
-(S8) 0
-(S8) -127 mod (U8) 255
-(U8) 128
-(S8) -127 mod (U16) 256
-(U16) 129
-(S8) -127 mod (U16) 65535
-(U16) 65408
-(S8) -127 mod (U32) 65536
-(U32) 65409
-(S8) -127 mod (U32) 4294967295
-(U32) 4294967168
-(S8) -127 mod (U64) 4294967296
+-127 mod -2147483647
+-127
+-127 mod -32768
+-127
+-127 mod -32767
+-127
+-127 mod -128
+-127
+-127 mod -127
+0
+-127 mod 255
+128
+-127 mod 256
+129
+-127 mod 65535
+65408
+-127 mod 65536
+65409
+-127 mod 4294967295
+4294967168
+-127 mod 4294967296
4294967169
-(S8) -127 mod (U64) 18446744073709551615
+-127 mod 18446744073709551615
18446744073709551488
-(S8) -127 mod 18446744073709551616
+-127 mod 18446744073709551616
18446744073709551489
-(S8) -127 mod 340282366920938463463374607431768211455
+-127 mod 340282366920938463463374607431768211455
340282366920938463463374607431768211328
-(S8) -127 mod 340282366920938463463374607431768211456
+-127 mod 340282366920938463463374607431768211456
340282366920938463463374607431768211329
-(U8) 255 mod -170141183460469231731687303715884105728
+255 mod -170141183460469231731687303715884105728
-170141183460469231731687303715884105473
-(U8) 255 mod -170141183460469231731687303715884105727
+255 mod -170141183460469231731687303715884105727
-170141183460469231731687303715884105472
-(U8) 255 mod -9223372036854775808
+255 mod -9223372036854775808
-9223372036854775553
-(U8) 255 mod (S64) -9223372036854775807
+255 mod -9223372036854775807
-9223372036854775552
-(U8) 255 mod (S64) -2147483648
+255 mod -2147483648
-2147483393
-(U8) 255 mod (S32) -2147483647
-(S32) -2147483392
-(U8) 255 mod (S32) -32768
-(S32) -32513
-(U8) 255 mod (S16) -32767
-(S16) -32512
-(U8) 255 mod (S16) -128
-(S16) -1
-(U8) 255 mod (S8) -127
-(S8) -126
-(U8) 255 mod (U8) 255
-(U8) 0
-(U8) 255 mod (U16) 256
-(U8) 255
-(U8) 255 mod (U16) 65535
-(U8) 255
-(U8) 255 mod (U32) 65536
-(U8) 255
-(U8) 255 mod (U32) 4294967295
-(U8) 255
-(U8) 255 mod (U64) 4294967296
-(U8) 255
-(U8) 255 mod (U64) 18446744073709551615
-(U8) 255
-(U8) 255 mod 18446744073709551616
+255 mod -2147483647
+-2147483392
+255 mod -32768
+-32513
+255 mod -32767
+-32512
+255 mod -128
+-1
+255 mod -127
+-126
+255 mod 255
+0
+255 mod 256
255
-(U8) 255 mod 340282366920938463463374607431768211455
+255 mod 65535
255
-(U8) 255 mod 340282366920938463463374607431768211456
+255 mod 65536
255
-(U16) 256 mod -170141183460469231731687303715884105728
+255 mod 4294967295
+255
+255 mod 4294967296
+255
+255 mod 18446744073709551615
+255
+255 mod 18446744073709551616
+255
+255 mod 340282366920938463463374607431768211455
+255
+255 mod 340282366920938463463374607431768211456
+255
+256 mod -170141183460469231731687303715884105728
-170141183460469231731687303715884105472
-(U16) 256 mod -170141183460469231731687303715884105727
+256 mod -170141183460469231731687303715884105727
-170141183460469231731687303715884105471
-(U16) 256 mod -9223372036854775808
+256 mod -9223372036854775808
-9223372036854775552
-(U16) 256 mod (S64) -9223372036854775807
+256 mod -9223372036854775807
-9223372036854775551
-(U16) 256 mod (S64) -2147483648
+256 mod -2147483648
-2147483392
-(U16) 256 mod (S32) -2147483647
-(S32) -2147483391
-(U16) 256 mod (S32) -32768
-(S32) -32512
-(U16) 256 mod (S16) -32767
-(S16) -32511
-(U16) 256 mod (S16) -128
-(S16) 0
-(U16) 256 mod (S8) -127
-(S8) -125
-(U16) 256 mod (U8) 255
-(U8) 1
-(U16) 256 mod (U16) 256
-(U16) 0
-(U16) 256 mod (U16) 65535
-(U16) 256
-(U16) 256 mod (U32) 65536
-(U16) 256
-(U16) 256 mod (U32) 4294967295
-(U16) 256
-(U16) 256 mod (U64) 4294967296
-(U16) 256
-(U16) 256 mod (U64) 18446744073709551615
-(U16) 256
-(U16) 256 mod 18446744073709551616
+256 mod -2147483647
+-2147483391
+256 mod -32768
+-32512
+256 mod -32767
+-32511
+256 mod -128
+0
+256 mod -127
+-125
+256 mod 255
+1
+256 mod 256
+0
+256 mod 65535
+256
+256 mod 65536
+256
+256 mod 4294967295
256
-(U16) 256 mod 340282366920938463463374607431768211455
+256 mod 4294967296
256
-(U16) 256 mod 340282366920938463463374607431768211456
+256 mod 18446744073709551615
256
-(U16) 65535 mod -170141183460469231731687303715884105728
+256 mod 18446744073709551616
+256
+256 mod 340282366920938463463374607431768211455
+256
+256 mod 340282366920938463463374607431768211456
+256
+65535 mod -170141183460469231731687303715884105728
-170141183460469231731687303715884040193
-(U16) 65535 mod -170141183460469231731687303715884105727
+65535 mod -170141183460469231731687303715884105727
-170141183460469231731687303715884040192
-(U16) 65535 mod -9223372036854775808
+65535 mod -9223372036854775808
-9223372036854710273
-(U16) 65535 mod (S64) -9223372036854775807
+65535 mod -9223372036854775807
-9223372036854710272
-(U16) 65535 mod (S64) -2147483648
+65535 mod -2147483648
-2147418113
-(U16) 65535 mod (S32) -2147483647
-(S32) -2147418112
-(U16) 65535 mod (S32) -32768
-(S32) -1
-(U16) 65535 mod (S16) -32767
-(S16) -32766
-(U16) 65535 mod (S16) -128
-(S16) -1
-(U16) 65535 mod (S8) -127
-(S8) -124
-(U16) 65535 mod (U8) 255
-(U8) 0
-(U16) 65535 mod (U16) 256
-(U16) 255
-(U16) 65535 mod (U16) 65535
-(U16) 0
-(U16) 65535 mod (U32) 65536
-(U16) 65535
-(U16) 65535 mod (U32) 4294967295
-(U16) 65535
-(U16) 65535 mod (U64) 4294967296
-(U16) 65535
-(U16) 65535 mod (U64) 18446744073709551615
-(U16) 65535
-(U16) 65535 mod 18446744073709551616
+65535 mod -2147483647
+-2147418112
+65535 mod -32768
+-1
+65535 mod -32767
+-32766
+65535 mod -128
+-1
+65535 mod -127
+-124
+65535 mod 255
+0
+65535 mod 256
+255
+65535 mod 65535
+0
+65535 mod 65536
+65535
+65535 mod 4294967295
+65535
+65535 mod 4294967296
65535
-(U16) 65535 mod 340282366920938463463374607431768211455
+65535 mod 18446744073709551615
65535
-(U16) 65535 mod 340282366920938463463374607431768211456
+65535 mod 18446744073709551616
65535
-(U32) 65536 mod -170141183460469231731687303715884105728
+65535 mod 340282366920938463463374607431768211455
+65535
+65535 mod 340282366920938463463374607431768211456
+65535
+65536 mod -170141183460469231731687303715884105728
-170141183460469231731687303715884040192
-(U32) 65536 mod -170141183460469231731687303715884105727
+65536 mod -170141183460469231731687303715884105727
-170141183460469231731687303715884040191
-(U32) 65536 mod -9223372036854775808
+65536 mod -9223372036854775808
-9223372036854710272
-(U32) 65536 mod (S64) -9223372036854775807
+65536 mod -9223372036854775807
-9223372036854710271
-(U32) 65536 mod (S64) -2147483648
+65536 mod -2147483648
-2147418112
-(U32) 65536 mod (S32) -2147483647
-(S32) -2147418111
-(U32) 65536 mod (S32) -32768
-(S32) 0
-(U32) 65536 mod (S16) -32767
-(S16) -32765
-(U32) 65536 mod (S16) -128
-(S16) 0
-(U32) 65536 mod (S8) -127
-(S8) -123
-(U32) 65536 mod (U8) 255
-(U8) 1
-(U32) 65536 mod (U16) 256
-(U16) 0
-(U32) 65536 mod (U16) 65535
-(U16) 1
-(U32) 65536 mod (U32) 65536
-(U32) 0
-(U32) 65536 mod (U32) 4294967295
-(U32) 65536
-(U32) 65536 mod (U64) 4294967296
-(U32) 65536
-(U32) 65536 mod (U64) 18446744073709551615
-(U32) 65536
-(U32) 65536 mod 18446744073709551616
+65536 mod -2147483647
+-2147418111
+65536 mod -32768
+0
+65536 mod -32767
+-32765
+65536 mod -128
+0
+65536 mod -127
+-123
+65536 mod 255
+1
+65536 mod 256
+0
+65536 mod 65535
+1
+65536 mod 65536
+0
+65536 mod 4294967295
+65536
+65536 mod 4294967296
+65536
+65536 mod 18446744073709551615
+65536
+65536 mod 18446744073709551616
65536
-(U32) 65536 mod 340282366920938463463374607431768211455
+65536 mod 340282366920938463463374607431768211455
65536
-(U32) 65536 mod 340282366920938463463374607431768211456
+65536 mod 340282366920938463463374607431768211456
65536
-(U32) 4294967295 mod -170141183460469231731687303715884105728
+4294967295 mod -170141183460469231731687303715884105728
-170141183460469231731687303711589138433
-(U32) 4294967295 mod -170141183460469231731687303715884105727
+4294967295 mod -170141183460469231731687303715884105727
-170141183460469231731687303711589138432
-(U32) 4294967295 mod -9223372036854775808
+4294967295 mod -9223372036854775808
-9223372032559808513
-(U32) 4294967295 mod (S64) -9223372036854775807
+4294967295 mod -9223372036854775807
-9223372032559808512
-(U32) 4294967295 mod (S64) -2147483648
+4294967295 mod -2147483648
-1
-(U32) 4294967295 mod (S32) -2147483647
-(S32) -2147483646
-(U32) 4294967295 mod (S32) -32768
-(S32) -1
-(U32) 4294967295 mod (S16) -32767
-(S16) -32764
-(U32) 4294967295 mod (S16) -128
-(S16) -1
-(U32) 4294967295 mod (S8) -127
-(S8) -112
-(U32) 4294967295 mod (U8) 255
-(U8) 0
-(U32) 4294967295 mod (U16) 256
-(U16) 255
-(U32) 4294967295 mod (U16) 65535
-(U16) 0
-(U32) 4294967295 mod (U32) 65536
-(U32) 65535
-(U32) 4294967295 mod (U32) 4294967295
-(U32) 0
-(U32) 4294967295 mod (U64) 4294967296
-(U32) 4294967295
-(U32) 4294967295 mod (U64) 18446744073709551615
-(U32) 4294967295
-(U32) 4294967295 mod 18446744073709551616
+4294967295 mod -2147483647
+-2147483646
+4294967295 mod -32768
+-1
+4294967295 mod -32767
+-32764
+4294967295 mod -128
+-1
+4294967295 mod -127
+-112
+4294967295 mod 255
+0
+4294967295 mod 256
+255
+4294967295 mod 65535
+0
+4294967295 mod 65536
+65535
+4294967295 mod 4294967295
+0
+4294967295 mod 4294967296
+4294967295
+4294967295 mod 18446744073709551615
4294967295
-(U32) 4294967295 mod 340282366920938463463374607431768211455
+4294967295 mod 18446744073709551616
4294967295
-(U32) 4294967295 mod 340282366920938463463374607431768211456
+4294967295 mod 340282366920938463463374607431768211455
4294967295
-(U64) 4294967296 mod -170141183460469231731687303715884105728
+4294967295 mod 340282366920938463463374607431768211456
+4294967295
+4294967296 mod -170141183460469231731687303715884105728
-170141183460469231731687303711589138432
-(U64) 4294967296 mod -170141183460469231731687303715884105727
+4294967296 mod -170141183460469231731687303715884105727
-170141183460469231731687303711589138431
-(U64) 4294967296 mod -9223372036854775808
+4294967296 mod -9223372036854775808
-9223372032559808512
-(U64) 4294967296 mod (S64) -9223372036854775807
+4294967296 mod -9223372036854775807
-9223372032559808511
-(U64) 4294967296 mod (S64) -2147483648
+4294967296 mod -2147483648
0
-(U64) 4294967296 mod (S32) -2147483647
+4294967296 mod -2147483647
-2147483645
-(U64) 4294967296 mod (S32) -32768
+4294967296 mod -32768
0
-(U64) 4294967296 mod (S16) -32767
+4294967296 mod -32767
-32763
-(U64) 4294967296 mod (S16) -128
+4294967296 mod -128
0
-(U64) 4294967296 mod (S8) -127
+4294967296 mod -127
-111
-(U64) 4294967296 mod (U8) 255
-(U8) 1
-(U64) 4294967296 mod (U16) 256
-(U16) 0
-(U64) 4294967296 mod (U16) 65535
-(U16) 1
-(U64) 4294967296 mod (U32) 65536
-(U32) 0
-(U64) 4294967296 mod (U32) 4294967295
-(U32) 1
-(U64) 4294967296 mod (U64) 4294967296
-(U64) 0
-(U64) 4294967296 mod (U64) 18446744073709551615
-(U64) 4294967296
-(U64) 4294967296 mod 18446744073709551616
+4294967296 mod 255
+1
+4294967296 mod 256
+0
+4294967296 mod 65535
+1
+4294967296 mod 65536
+0
+4294967296 mod 4294967295
+1
+4294967296 mod 4294967296
+0
+4294967296 mod 18446744073709551615
+4294967296
+4294967296 mod 18446744073709551616
4294967296
-(U64) 4294967296 mod 340282366920938463463374607431768211455
+4294967296 mod 340282366920938463463374607431768211455
4294967296
-(U64) 4294967296 mod 340282366920938463463374607431768211456
+4294967296 mod 340282366920938463463374607431768211456
4294967296
-(U64) 18446744073709551615 mod -170141183460469231731687303715884105728
+18446744073709551615 mod -170141183460469231731687303715884105728
-170141183460469231713240559642174554113
-(U64) 18446744073709551615 mod -170141183460469231731687303715884105727
+18446744073709551615 mod -170141183460469231731687303715884105727
-170141183460469231713240559642174554112
-(U64) 18446744073709551615 mod -9223372036854775808
+18446744073709551615 mod -9223372036854775808
-1
-(U64) 18446744073709551615 mod (S64) -9223372036854775807
+18446744073709551615 mod -9223372036854775807
-9223372036854775806
-(U64) 18446744073709551615 mod (S64) -2147483648
+18446744073709551615 mod -2147483648
-1
-(U64) 18446744073709551615 mod (S32) -2147483647
+18446744073709551615 mod -2147483647
-2147483644
-(U64) 18446744073709551615 mod (S32) -32768
+18446744073709551615 mod -32768
-1
-(U64) 18446744073709551615 mod (S16) -32767
+18446744073709551615 mod -32767
-32752
-(U64) 18446744073709551615 mod (S16) -128
+18446744073709551615 mod -128
-1
-(U64) 18446744073709551615 mod (S8) -127
+18446744073709551615 mod -127
-126
-(U64) 18446744073709551615 mod (U8) 255
-(U8) 0
-(U64) 18446744073709551615 mod (U16) 256
-(U16) 255
-(U64) 18446744073709551615 mod (U16) 65535
-(U16) 0
-(U64) 18446744073709551615 mod (U32) 65536
-(U32) 65535
-(U64) 18446744073709551615 mod (U32) 4294967295
-(U32) 0
-(U64) 18446744073709551615 mod (U64) 4294967296
-(U64) 4294967295
-(U64) 18446744073709551615 mod (U64) 18446744073709551615
-(U64) 0
-(U64) 18446744073709551615 mod 18446744073709551616
+18446744073709551615 mod 255
+0
+18446744073709551615 mod 256
+255
+18446744073709551615 mod 65535
+0
+18446744073709551615 mod 65536
+65535
+18446744073709551615 mod 4294967295
+0
+18446744073709551615 mod 4294967296
+4294967295
+18446744073709551615 mod 18446744073709551615
+0
+18446744073709551615 mod 18446744073709551616
18446744073709551615
-(U64) 18446744073709551615 mod 340282366920938463463374607431768211455
+18446744073709551615 mod 340282366920938463463374607431768211455
18446744073709551615
-(U64) 18446744073709551615 mod 340282366920938463463374607431768211456
+18446744073709551615 mod 340282366920938463463374607431768211456
18446744073709551615
18446744073709551616 mod -170141183460469231731687303715884105728
-170141183460469231713240559642174554112
@@ -684,34 +684,34 @@
-170141183460469231713240559642174554111
18446744073709551616 mod -9223372036854775808
0
-18446744073709551616 mod (S64) -9223372036854775807
-(S64) -9223372036854775805
-18446744073709551616 mod (S64) -2147483648
-(S64) 0
-18446744073709551616 mod (S32) -2147483647
-(S32) -2147483643
-18446744073709551616 mod (S32) -32768
-(S32) 0
-18446744073709551616 mod (S16) -32767
-(S16) -32751
-18446744073709551616 mod (S16) -128
-(S16) 0
-18446744073709551616 mod (S8) -127
-(S8) -125
-18446744073709551616 mod (U8) 255
-(U8) 1
-18446744073709551616 mod (U16) 256
-(U16) 0
-18446744073709551616 mod (U16) 65535
-(U16) 1
-18446744073709551616 mod (U32) 65536
-(U32) 0
-18446744073709551616 mod (U32) 4294967295
-(U32) 1
-18446744073709551616 mod (U64) 4294967296
-(U64) 0
-18446744073709551616 mod (U64) 18446744073709551615
-(U64) 1
+18446744073709551616 mod -9223372036854775807
+-9223372036854775805
+18446744073709551616 mod -2147483648
+0
+18446744073709551616 mod -2147483647
+-2147483643
+18446744073709551616 mod -32768
+0
+18446744073709551616 mod -32767
+-32751
+18446744073709551616 mod -128
+0
+18446744073709551616 mod -127
+-125
+18446744073709551616 mod 255
+1
+18446744073709551616 mod 256
+0
+18446744073709551616 mod 65535
+1
+18446744073709551616 mod 65536
+0
+18446744073709551616 mod 4294967295
+1
+18446744073709551616 mod 4294967296
+0
+18446744073709551616 mod 18446744073709551615
+1
18446744073709551616 mod 18446744073709551616
0
18446744073709551616 mod 340282366920938463463374607431768211455
@@ -724,34 +724,34 @@
-170141183460469231731687303715884105726
340282366920938463463374607431768211455 mod -9223372036854775808
-1
-340282366920938463463374607431768211455 mod (S64) -9223372036854775807
-(S64) -9223372036854775804
-340282366920938463463374607431768211455 mod (S64) -2147483648
-(S64) -1
-340282366920938463463374607431768211455 mod (S32) -2147483647
-(S32) -2147483632
-340282366920938463463374607431768211455 mod (S32) -32768
-(S32) -1
-340282366920938463463374607431768211455 mod (S16) -32767
-(S16) -32512
-340282366920938463463374607431768211455 mod (S16) -128
-(S16) -1
-340282366920938463463374607431768211455 mod (S8) -127
-(S8) -124
-340282366920938463463374607431768211455 mod (U8) 255
-(U8) 0
-340282366920938463463374607431768211455 mod (U16) 256
-(U16) 255
-340282366920938463463374607431768211455 mod (U16) 65535
-(U16) 0
-340282366920938463463374607431768211455 mod (U32) 65536
-(U32) 65535
-340282366920938463463374607431768211455 mod (U32) 4294967295
-(U32) 0
-340282366920938463463374607431768211455 mod (U64) 4294967296
-(U64) 4294967295
-340282366920938463463374607431768211455 mod (U64) 18446744073709551615
-(U64) 0
+340282366920938463463374607431768211455 mod -9223372036854775807
+-9223372036854775804
+340282366920938463463374607431768211455 mod -2147483648
+-1
+340282366920938463463374607431768211455 mod -2147483647
+-2147483632
+340282366920938463463374607431768211455 mod -32768
+-1
+340282366920938463463374607431768211455 mod -32767
+-32512
+340282366920938463463374607431768211455 mod -128
+-1
+340282366920938463463374607431768211455 mod -127
+-124
+340282366920938463463374607431768211455 mod 255
+0
+340282366920938463463374607431768211455 mod 256
+255
+340282366920938463463374607431768211455 mod 65535
+0
+340282366920938463463374607431768211455 mod 65536
+65535
+340282366920938463463374607431768211455 mod 4294967295
+0
+340282366920938463463374607431768211455 mod 4294967296
+4294967295
+340282366920938463463374607431768211455 mod 18446744073709551615
+0
340282366920938463463374607431768211455 mod 18446744073709551616
18446744073709551615
340282366920938463463374607431768211455 mod 340282366920938463463374607431768211455
@@ -764,34 +764,34 @@
-170141183460469231731687303715884105725
340282366920938463463374607431768211456 mod -9223372036854775808
0
-340282366920938463463374607431768211456 mod (S64) -9223372036854775807
-(S64) -9223372036854775803
-340282366920938463463374607431768211456 mod (S64) -2147483648
-(S64) 0
-340282366920938463463374607431768211456 mod (S32) -2147483647
-(S32) -2147483631
-340282366920938463463374607431768211456 mod (S32) -32768
-(S32) 0
-340282366920938463463374607431768211456 mod (S16) -32767
-(S16) -32511
-340282366920938463463374607431768211456 mod (S16) -128
-(S16) 0
-340282366920938463463374607431768211456 mod (S8) -127
-(S8) -123
-340282366920938463463374607431768211456 mod (U8) 255
-(U8) 1
-340282366920938463463374607431768211456 mod (U16) 256
-(U16) 0
-340282366920938463463374607431768211456 mod (U16) 65535
-(U16) 1
-340282366920938463463374607431768211456 mod (U32) 65536
-(U32) 0
-340282366920938463463374607431768211456 mod (U32) 4294967295
-(U32) 1
-340282366920938463463374607431768211456 mod (U64) 4294967296
-(U64) 0
-340282366920938463463374607431768211456 mod (U64) 18446744073709551615
-(U64) 1
+340282366920938463463374607431768211456 mod -9223372036854775807
+-9223372036854775803
+340282366920938463463374607431768211456 mod -2147483648
+0
+340282366920938463463374607431768211456 mod -2147483647
+-2147483631
+340282366920938463463374607431768211456 mod -32768
+0
+340282366920938463463374607431768211456 mod -32767
+-32511
+340282366920938463463374607431768211456 mod -128
+0
+340282366920938463463374607431768211456 mod -127
+-123
+340282366920938463463374607431768211456 mod 255
+1
+340282366920938463463374607431768211456 mod 256
+0
+340282366920938463463374607431768211456 mod 65535
+1
+340282366920938463463374607431768211456 mod 65536
+0
+340282366920938463463374607431768211456 mod 4294967295
+1
+340282366920938463463374607431768211456 mod 4294967296
+0
+340282366920938463463374607431768211456 mod 18446744073709551615
+1
340282366920938463463374607431768211456 mod 18446744073709551616
0
340282366920938463463374607431768211456 mod 340282366920938463463374607431768211455
diff --git a/test/ikc3/integer_mul.out.expected b/test/ikc3/integer_mul.out.expected
index 50db78c..f8e913d 100644
--- a/test/ikc3/integer_mul.out.expected
+++ b/test/ikc3/integer_mul.out.expected
@@ -4,33 +4,33 @@
28948022309329048855892746252171976963147354982949671778132708698262398304256
-170141183460469231731687303715884105728 * -9223372036854775808
1569275433846670190958947355801916604025588861116008628224
--170141183460469231731687303715884105728 * (S64) -9223372036854775807
+-170141183460469231731687303715884105728 * -9223372036854775807
1569275433846670190788806172341447372293901557400124522496
--170141183460469231731687303715884105728 * (S64) -2147483648
+-170141183460469231731687303715884105728 * -2147483648
365375409332725729550921208179070754913983135744
--170141183460469231731687303715884105728 * (S32) -2147483647
+-170141183460469231731687303715884105728 * -2147483647
365375409162584546090451976447383451198099030016
--170141183460469231731687303715884105728 * (S32) -32768
+-170141183460469231731687303715884105728 * -32768
5575186299632655785383929568162090376495104
--170141183460469231731687303715884105728 * (S16) -32767
+-170141183460469231731687303715884105728 * -32767
5575016158449195316152197880858374492389376
--170141183460469231731687303715884105728 * (S16) -128
+-170141183460469231731687303715884105728 * -128
21778071482940061661655974875633165533184
--170141183460469231731687303715884105728 * (S8) -127
+-170141183460469231731687303715884105728 * -127
21607930299479592429924287571917281427456
--170141183460469231731687303715884105728 * (U8) 255
+-170141183460469231731687303715884105728 * 255
-43386001782419654091580262447550446960640
--170141183460469231731687303715884105728 * (U16) 256
+-170141183460469231731687303715884105728 * 256
-43556142965880123323311949751266331066368
--170141183460469231731687303715884105728 * (U16) 65535
+-170141183460469231731687303715884105728 * 65535
-11150202458081851101536127449020464868884480
--170141183460469231731687303715884105728 * (U32) 65536
+-170141183460469231731687303715884105728 * 65536
-11150372599265311570767859136324180752990208
--170141183460469231731687303715884105728 * (U32) 4294967295
+-170141183460469231731687303715884105728 * 4294967295
-730750818495310275641373184626454206112082165760
--170141183460469231731687303715884105728 * (U64) 4294967296
+-170141183460469231731687303715884105728 * 4294967296
-730750818665451459101842416358141509827966271488
--170141183460469231731687303715884105728 * (U64) 18446744073709551615
+-170141183460469231731687303715884105728 * 18446744073709551615
-3138550867693340381747753528143363976319490418516133150720
-170141183460469231731687303715884105728 * 18446744073709551616
-3138550867693340381917894711603833208051177722232017256448
@@ -44,33 +44,33 @@
28948022309329048855892746252171976962977213799489202546401021394546514198529
-170141183460469231731687303715884105727 * -9223372036854775808
1569275433846670190958947355801916604016365489079153852416
--170141183460469231731687303715884105727 * (S64) -9223372036854775807
+-170141183460469231731687303715884105727 * -9223372036854775807
1569275433846670190788806172341447372284678185363269746689
--170141183460469231731687303715884105727 * (S64) -2147483648
+-170141183460469231731687303715884105727 * -2147483648
365375409332725729550921208179070754911835652096
--170141183460469231731687303715884105727 * (S32) -2147483647
+-170141183460469231731687303715884105727 * -2147483647
365375409162584546090451976447383451195951546369
--170141183460469231731687303715884105727 * (S32) -32768
+-170141183460469231731687303715884105727 * -32768
5575186299632655785383929568162090376462336
--170141183460469231731687303715884105727 * (S16) -32767
+-170141183460469231731687303715884105727 * -32767
5575016158449195316152197880858374492356609
--170141183460469231731687303715884105727 * (S16) -128
+-170141183460469231731687303715884105727 * -128
21778071482940061661655974875633165533056
--170141183460469231731687303715884105727 * (S8) -127
+-170141183460469231731687303715884105727 * -127
21607930299479592429924287571917281427329
--170141183460469231731687303715884105727 * (U8) 255
+-170141183460469231731687303715884105727 * 255
-43386001782419654091580262447550446960385
--170141183460469231731687303715884105727 * (U16) 256
+-170141183460469231731687303715884105727 * 256
-43556142965880123323311949751266331066112
--170141183460469231731687303715884105727 * (U16) 65535
+-170141183460469231731687303715884105727 * 65535
-11150202458081851101536127449020464868818945
--170141183460469231731687303715884105727 * (U32) 65536
+-170141183460469231731687303715884105727 * 65536
-11150372599265311570767859136324180752924672
--170141183460469231731687303715884105727 * (U32) 4294967295
+-170141183460469231731687303715884105727 * 4294967295
-730750818495310275641373184626454206107787198465
--170141183460469231731687303715884105727 * (U64) 4294967296
+-170141183460469231731687303715884105727 * 4294967296
-730750818665451459101842416358141509823671304192
--170141183460469231731687303715884105727 * (U64) 18446744073709551615
+-170141183460469231731687303715884105727 * 18446744073709551615
-3138550867693340381747753528143363976301043674442423599105
-170141183460469231731687303715884105727 * 18446744073709551616
-3138550867693340381917894711603833208032730978158307704832
@@ -84,33 +84,33 @@
1569275433846670190958947355801916604016365489079153852416
-9223372036854775808 * -9223372036854775808
85070591730234615865843651857942052864
--9223372036854775808 * (S64) -9223372036854775807
+-9223372036854775808 * -9223372036854775807
85070591730234615856620279821087277056
--9223372036854775808 * (S64) -2147483648
+-9223372036854775808 * -2147483648
19807040628566084398385987584
--9223372036854775808 * (S32) -2147483647
+-9223372036854775808 * -2147483647
19807040619342712361531211776
--9223372036854775808 * (S32) -32768
+-9223372036854775808 * -32768
302231454903657293676544
--9223372036854775808 * (S16) -32767
+-9223372036854775808 * -32767
302222231531620438900736
--9223372036854775808 * (S16) -128
+-9223372036854775808 * -128
1180591620717411303424
--9223372036854775808 * (S8) -127
+-9223372036854775808 * -127
1171368248680556527616
--9223372036854775808 * (U8) 255
+-9223372036854775808 * 255
-2351959869397967831040
--9223372036854775808 * (U16) 256
+-9223372036854775808 * 256
-2361183241434822606848
--9223372036854775808 * (U16) 65535
+-9223372036854775808 * 65535
-604453686435277732577280
--9223372036854775808 * (U32) 65536
+-9223372036854775808 * 65536
-604462909807314587353088
--9223372036854775808 * (U32) 4294967295
+-9223372036854775808 * 4294967295
-39614081247908796759917199360
--9223372036854775808 * (U64) 4294967296
+-9223372036854775808 * 4294967296
-39614081257132168796771975168
--9223372036854775808 * (U64) 18446744073709551615
+-9223372036854775808 * 18446744073709551615
-170141183460469231722463931679029329920
-9223372036854775808 * 18446744073709551616
-170141183460469231731687303715884105728
@@ -118,565 +118,565 @@
-3138550867693340381917894711603833208041954350195162480640
-9223372036854775808 * 340282366920938463463374607431768211456
-3138550867693340381917894711603833208051177722232017256448
-(S64) -9223372036854775807 * -170141183460469231731687303715884105728
+-9223372036854775807 * -170141183460469231731687303715884105728
1569275433846670190788806172341447372293901557400124522496
-(S64) -9223372036854775807 * -170141183460469231731687303715884105727
+-9223372036854775807 * -170141183460469231731687303715884105727
1569275433846670190788806172341447372284678185363269746689
-(S64) -9223372036854775807 * -9223372036854775808
+-9223372036854775807 * -9223372036854775808
85070591730234615856620279821087277056
-(S64) -9223372036854775807 * (S64) -9223372036854775807
+-9223372036854775807 * -9223372036854775807
85070591730234615847396907784232501249
-(S64) -9223372036854775807 * (S64) -2147483648
+-9223372036854775807 * -2147483648
19807040628566084396238503936
-(S64) -9223372036854775807 * (S32) -2147483647
+-9223372036854775807 * -2147483647
19807040619342712359383728129
-(S64) -9223372036854775807 * (S32) -32768
+-9223372036854775807 * -32768
302231454903657293643776
-(S64) -9223372036854775807 * (S16) -32767
+-9223372036854775807 * -32767
302222231531620438867969
-(S64) -9223372036854775807 * (S16) -128
+-9223372036854775807 * -128
1180591620717411303296
-(S64) -9223372036854775807 * (S8) -127
+-9223372036854775807 * -127
1171368248680556527489
-(S64) -9223372036854775807 * (U8) 255
+-9223372036854775807 * 255
-2351959869397967830785
-(S64) -9223372036854775807 * (U16) 256
+-9223372036854775807 * 256
-2361183241434822606592
-(S64) -9223372036854775807 * (U16) 65535
+-9223372036854775807 * 65535
-604453686435277732511745
-(S64) -9223372036854775807 * (U32) 65536
+-9223372036854775807 * 65536
-604462909807314587287552
-(S64) -9223372036854775807 * (U32) 4294967295
+-9223372036854775807 * 4294967295
-39614081247908796755622232065
-(S64) -9223372036854775807 * (U64) 4294967296
+-9223372036854775807 * 4294967296
-39614081257132168792477007872
-(S64) -9223372036854775807 * (U64) 18446744073709551615
+-9223372036854775807 * 18446744073709551615
-170141183460469231704017187605319778305
-(S64) -9223372036854775807 * 18446744073709551616
+-9223372036854775807 * 18446744073709551616
-170141183460469231713240559642174554112
-(S64) -9223372036854775807 * 340282366920938463463374607431768211455
+-9223372036854775807 * 340282366920938463463374607431768211455
-3138550867693340381577612344682894744578579742763394269185
-(S64) -9223372036854775807 * 340282366920938463463374607431768211456
+-9223372036854775807 * 340282366920938463463374607431768211456
-3138550867693340381577612344682894744587803114800249044992
-(S64) -2147483648 * -170141183460469231731687303715884105728
+-2147483648 * -170141183460469231731687303715884105728
365375409332725729550921208179070754913983135744
-(S64) -2147483648 * -170141183460469231731687303715884105727
+-2147483648 * -170141183460469231731687303715884105727
365375409332725729550921208179070754911835652096
-(S64) -2147483648 * -9223372036854775808
+-2147483648 * -9223372036854775808
19807040628566084398385987584
-(S64) -2147483648 * (S64) -9223372036854775807
+-2147483648 * -9223372036854775807
19807040628566084396238503936
-(S64) -2147483648 * (S64) -2147483648
+-2147483648 * -2147483648
4611686018427387904
-(S64) -2147483648 * (S32) -2147483647
+-2147483648 * -2147483647
4611686016279904256
-(S64) -2147483648 * (S32) -32768
+-2147483648 * -32768
70368744177664
-(S64) -2147483648 * (S16) -32767
+-2147483648 * -32767
70366596694016
-(S64) -2147483648 * (S16) -128
+-2147483648 * -128
274877906944
-(S64) -2147483648 * (S8) -127
+-2147483648 * -127
272730423296
-(S64) -2147483648 * (U8) 255
+-2147483648 * 255
-547608330240
-(S64) -2147483648 * (U16) 256
+-2147483648 * 256
-549755813888
-(S64) -2147483648 * (U16) 65535
+-2147483648 * 65535
-140735340871680
-(S64) -2147483648 * (U32) 65536
+-2147483648 * 65536
-140737488355328
-(S64) -2147483648 * (U32) 4294967295
+-2147483648 * 4294967295
-9223372034707292160
-(S64) -2147483648 * (U64) 4294967296
+-2147483648 * 4294967296
-9223372036854775808
-(S64) -2147483648 * (U64) 18446744073709551615
+-2147483648 * 18446744073709551615
-39614081257132168794624491520
-(S64) -2147483648 * 18446744073709551616
+-2147483648 * 18446744073709551616
-39614081257132168796771975168
-(S64) -2147483648 * 340282366920938463463374607431768211455
+-2147483648 * 340282366920938463463374607431768211455
-730750818665451459101842416358141509825818787840
-(S64) -2147483648 * 340282366920938463463374607431768211456
+-2147483648 * 340282366920938463463374607431768211456
-730750818665451459101842416358141509827966271488
-(S32) -2147483647 * -170141183460469231731687303715884105728
+-2147483647 * -170141183460469231731687303715884105728
365375409162584546090451976447383451198099030016
-(S32) -2147483647 * -170141183460469231731687303715884105727
+-2147483647 * -170141183460469231731687303715884105727
365375409162584546090451976447383451195951546369
-(S32) -2147483647 * -9223372036854775808
+-2147483647 * -9223372036854775808
19807040619342712361531211776
-(S32) -2147483647 * (S64) -9223372036854775807
+-2147483647 * -9223372036854775807
19807040619342712359383728129
-(S32) -2147483647 * (S64) -2147483648
+-2147483647 * -2147483648
4611686016279904256
-(S32) -2147483647 * (S32) -2147483647
-(S64) 4611686014132420609
-(S32) -2147483647 * (S32) -32768
-(S64) 70368744144896
-(S32) -2147483647 * (S16) -32767
-(S64) 70366596661249
-(S32) -2147483647 * (S16) -128
-(S64) 274877906816
-(S32) -2147483647 * (S8) -127
-(S64) 272730423169
-(S32) -2147483647 * (U8) 255
-(S64) -547608329985
-(S32) -2147483647 * (U16) 256
-(S64) -549755813632
-(S32) -2147483647 * (U16) 65535
-(S64) -140735340806145
-(S32) -2147483647 * (U32) 65536
-(S64) -140737488289792
-(S32) -2147483647 * (U32) 4294967295
-(S64) -9223372030412324865
-(S32) -2147483647 * (U64) 4294967296
+-2147483647 * -2147483647
+4611686014132420609
+-2147483647 * -32768
+70368744144896
+-2147483647 * -32767
+70366596661249
+-2147483647 * -128
+274877906816
+-2147483647 * -127
+272730423169
+-2147483647 * 255
+-547608329985
+-2147483647 * 256
+-549755813632
+-2147483647 * 65535
+-140735340806145
+-2147483647 * 65536
+-140737488289792
+-2147483647 * 4294967295
+-9223372030412324865
+-2147483647 * 4294967296
-9223372032559808512
-(S32) -2147483647 * (U64) 18446744073709551615
+-2147483647 * 18446744073709551615
-39614081238685424720914939905
-(S32) -2147483647 * 18446744073709551616
+-2147483647 * 18446744073709551616
-39614081238685424723062423552
-(S32) -2147483647 * 340282366920938463463374607431768211455
+-2147483647 * 340282366920938463463374607431768211455
-730750818325169092180903952894766902394050576385
-(S32) -2147483647 * 340282366920938463463374607431768211456
+-2147483647 * 340282366920938463463374607431768211456
-730750818325169092180903952894766902396198060032
-(S32) -32768 * -170141183460469231731687303715884105728
+-32768 * -170141183460469231731687303715884105728
5575186299632655785383929568162090376495104
-(S32) -32768 * -170141183460469231731687303715884105727
+-32768 * -170141183460469231731687303715884105727
5575186299632655785383929568162090376462336
-(S32) -32768 * -9223372036854775808
+-32768 * -9223372036854775808
302231454903657293676544
-(S32) -32768 * (S64) -9223372036854775807
+-32768 * -9223372036854775807
302231454903657293643776
-(S32) -32768 * (S64) -2147483648
+-32768 * -2147483648
70368744177664
-(S32) -32768 * (S32) -2147483647
-(S64) 70368744144896
-(S32) -32768 * (S32) -32768
-(S64) 1073741824
-(S32) -32768 * (S16) -32767
-(S64) 1073709056
-(S32) -32768 * (S16) -128
-(S64) 4194304
-(S32) -32768 * (S8) -127
-(S64) 4161536
-(S32) -32768 * (U8) 255
-(S64) -8355840
-(S32) -32768 * (U16) 256
-(S64) -8388608
-(S32) -32768 * (U16) 65535
-(S64) -2147450880
-(S32) -32768 * (U32) 65536
-(S64) -2147483648
-(S32) -32768 * (U32) 4294967295
-(S64) -140737488322560
-(S32) -32768 * (U64) 4294967296
+-32768 * -2147483647
+70368744144896
+-32768 * -32768
+1073741824
+-32768 * -32767
+1073709056
+-32768 * -128
+4194304
+-32768 * -127
+4161536
+-32768 * 255
+-8355840
+-32768 * 256
+-8388608
+-32768 * 65535
+-2147450880
+-32768 * 65536
+-2147483648
+-32768 * 4294967295
+-140737488322560
+-32768 * 4294967296
-140737488355328
-(S32) -32768 * (U64) 18446744073709551615
+-32768 * 18446744073709551615
-604462909807314587320320
-(S32) -32768 * 18446744073709551616
+-32768 * 18446744073709551616
-604462909807314587353088
-(S32) -32768 * 340282366920938463463374607431768211455
+-32768 * 340282366920938463463374607431768211455
-11150372599265311570767859136324180752957440
-(S32) -32768 * 340282366920938463463374607431768211456
+-32768 * 340282366920938463463374607431768211456
-11150372599265311570767859136324180752990208
-(S16) -32767 * -170141183460469231731687303715884105728
+-32767 * -170141183460469231731687303715884105728
5575016158449195316152197880858374492389376
-(S16) -32767 * -170141183460469231731687303715884105727
+-32767 * -170141183460469231731687303715884105727
5575016158449195316152197880858374492356609
-(S16) -32767 * -9223372036854775808
+-32767 * -9223372036854775808
302222231531620438900736
-(S16) -32767 * (S64) -9223372036854775807
+-32767 * -9223372036854775807
302222231531620438867969
-(S16) -32767 * (S64) -2147483648
+-32767 * -2147483648
70366596694016
-(S16) -32767 * (S32) -2147483647
-(S64) 70366596661249
-(S16) -32767 * (S32) -32768
-(S64) 1073709056
-(S16) -32767 * (S16) -32767
-(S32) 1073676289
-(S16) -32767 * (S16) -128
-(S32) 4194176
-(S16) -32767 * (S8) -127
-(S32) 4161409
-(S16) -32767 * (U8) 255
-(S32) -8355585
-(S16) -32767 * (U16) 256
-(S32) -8388352
-(S16) -32767 * (U16) 65535
-(S32) -2147385345
-(S16) -32767 * (U32) 65536
-(S64) -2147418112
-(S16) -32767 * (U32) 4294967295
-(S64) -140733193355265
-(S16) -32767 * (U64) 4294967296
+-32767 * -2147483647
+70366596661249
+-32767 * -32768
+1073709056
+-32767 * -32767
+1073676289
+-32767 * -128
+4194176
+-32767 * -127
+4161409
+-32767 * 255
+-8355585
+-32767 * 256
+-8388352
+-32767 * 65535
+-2147385345
+-32767 * 65536
+-2147418112
+-32767 * 4294967295
+-140733193355265
+-32767 * 4294967296
-140733193388032
-(S16) -32767 * (U64) 18446744073709551615
+-32767 * 18446744073709551615
-604444463063240877768705
-(S16) -32767 * 18446744073709551616
+-32767 * 18446744073709551616
-604444463063240877801472
-(S16) -32767 * 340282366920938463463374607431768211455
+-32767 * 340282366920938463463374607431768211455
-11150032316898390632304395761716748984745985
-(S16) -32767 * 340282366920938463463374607431768211456
+-32767 * 340282366920938463463374607431768211456
-11150032316898390632304395761716748984778752
-(S16) -128 * -170141183460469231731687303715884105728
+-128 * -170141183460469231731687303715884105728
21778071482940061661655974875633165533184
-(S16) -128 * -170141183460469231731687303715884105727
+-128 * -170141183460469231731687303715884105727
21778071482940061661655974875633165533056
-(S16) -128 * -9223372036854775808
+-128 * -9223372036854775808
1180591620717411303424
-(S16) -128 * (S64) -9223372036854775807
+-128 * -9223372036854775807
1180591620717411303296
-(S16) -128 * (S64) -2147483648
+-128 * -2147483648
274877906944
-(S16) -128 * (S32) -2147483647
-(S64) 274877906816
-(S16) -128 * (S32) -32768
-(S64) 4194304
-(S16) -128 * (S16) -32767
-(S32) 4194176
-(S16) -128 * (S16) -128
-(S32) 16384
-(S16) -128 * (S8) -127
-(S32) 16256
-(S16) -128 * (U8) 255
-(S32) -32640
-(S16) -128 * (U16) 256
-(S32) -32768
-(S16) -128 * (U16) 65535
-(S32) -8388480
-(S16) -128 * (U32) 65536
-(S64) -8388608
-(S16) -128 * (U32) 4294967295
-(S64) -549755813760
-(S16) -128 * (U64) 4294967296
+-128 * -2147483647
+274877906816
+-128 * -32768
+4194304
+-128 * -32767
+4194176
+-128 * -128
+16384
+-128 * -127
+16256
+-128 * 255
+-32640
+-128 * 256
+-32768
+-128 * 65535
+-8388480
+-128 * 65536
+-8388608
+-128 * 4294967295
+-549755813760
+-128 * 4294967296
-549755813888
-(S16) -128 * (U64) 18446744073709551615
+-128 * 18446744073709551615
-2361183241434822606720
-(S16) -128 * 18446744073709551616
+-128 * 18446744073709551616
-2361183241434822606848
-(S16) -128 * 340282366920938463463374607431768211455
+-128 * 340282366920938463463374607431768211455
-43556142965880123323311949751266331066240
-(S16) -128 * 340282366920938463463374607431768211456
+-128 * 340282366920938463463374607431768211456
-43556142965880123323311949751266331066368
-(S8) -127 * -170141183460469231731687303715884105728
+-127 * -170141183460469231731687303715884105728
21607930299479592429924287571917281427456
-(S8) -127 * -170141183460469231731687303715884105727
+-127 * -170141183460469231731687303715884105727
21607930299479592429924287571917281427329
-(S8) -127 * -9223372036854775808
+-127 * -9223372036854775808
1171368248680556527616
-(S8) -127 * (S64) -9223372036854775807
+-127 * -9223372036854775807
1171368248680556527489
-(S8) -127 * (S64) -2147483648
+-127 * -2147483648
272730423296
-(S8) -127 * (S32) -2147483647
-(S64) 272730423169
-(S8) -127 * (S32) -32768
-(S64) 4161536
-(S8) -127 * (S16) -32767
-(S32) 4161409
-(S8) -127 * (S16) -128
-(S32) 16256
-(S8) -127 * (S8) -127
-(S16) 16129
-(S8) -127 * (U8) 255
-(S16) -32385
-(S8) -127 * (U16) 256
-(S32) -32512
-(S8) -127 * (U16) 65535
-(S32) -8322945
-(S8) -127 * (U32) 65536
-(S64) -8323072
-(S8) -127 * (U32) 4294967295
-(S64) -545460846465
-(S8) -127 * (U64) 4294967296
+-127 * -2147483647
+272730423169
+-127 * -32768
+4161536
+-127 * -32767
+4161409
+-127 * -128
+16256
+-127 * -127
+16129
+-127 * 255
+-32385
+-127 * 256
+-32512
+-127 * 65535
+-8322945
+-127 * 65536
+-8323072
+-127 * 4294967295
+-545460846465
+-127 * 4294967296
-545460846592
-(S8) -127 * (U64) 18446744073709551615
+-127 * 18446744073709551615
-2342736497361113055105
-(S8) -127 * 18446744073709551616
+-127 * 18446744073709551616
-2342736497361113055232
-(S8) -127 * 340282366920938463463374607431768211455
+-127 * 340282366920938463463374607431768211455
-43215860598959184859848575143834562854785
-(S8) -127 * 340282366920938463463374607431768211456
+-127 * 340282366920938463463374607431768211456
-43215860598959184859848575143834562854912
-(U8) 255 * -170141183460469231731687303715884105728
+255 * -170141183460469231731687303715884105728
-43386001782419654091580262447550446960640
-(U8) 255 * -170141183460469231731687303715884105727
+255 * -170141183460469231731687303715884105727
-43386001782419654091580262447550446960385
-(U8) 255 * -9223372036854775808
+255 * -9223372036854775808
-2351959869397967831040
-(U8) 255 * (S64) -9223372036854775807
+255 * -9223372036854775807
-2351959869397967830785
-(U8) 255 * (S64) -2147483648
+255 * -2147483648
-547608330240
-(U8) 255 * (S32) -2147483647
-(S64) -547608329985
-(U8) 255 * (S32) -32768
-(S64) -8355840
-(U8) 255 * (S16) -32767
-(S32) -8355585
-(U8) 255 * (S16) -128
-(S32) -32640
-(U8) 255 * (S8) -127
-(S16) -32385
-(U8) 255 * (U8) 255
-(U16) 65025
-(U8) 255 * (U16) 256
-(U32) 65280
-(U8) 255 * (U16) 65535
-(U32) 16711425
-(U8) 255 * (U32) 65536
-(U64) 16711680
-(U8) 255 * (U32) 4294967295
-(U64) 1095216660225
-(U8) 255 * (U64) 4294967296
+255 * -2147483647
+-547608329985
+255 * -32768
+-8355840
+255 * -32767
+-8355585
+255 * -128
+-32640
+255 * -127
+-32385
+255 * 255
+65025
+255 * 256
+65280
+255 * 65535
+16711425
+255 * 65536
+16711680
+255 * 4294967295
+1095216660225
+255 * 4294967296
1095216660480
-(U8) 255 * (U64) 18446744073709551615
+255 * 18446744073709551615
4703919738795935661825
-(U8) 255 * 18446744073709551616
+255 * 18446744073709551616
4703919738795935662080
-(U8) 255 * 340282366920938463463374607431768211455
+255 * 340282366920938463463374607431768211455
86772003564839308183160524895100893921025
-(U8) 255 * 340282366920938463463374607431768211456
+255 * 340282366920938463463374607431768211456
86772003564839308183160524895100893921280
-(U16) 256 * -170141183460469231731687303715884105728
+256 * -170141183460469231731687303715884105728
-43556142965880123323311949751266331066368
-(U16) 256 * -170141183460469231731687303715884105727
+256 * -170141183460469231731687303715884105727
-43556142965880123323311949751266331066112
-(U16) 256 * -9223372036854775808
+256 * -9223372036854775808
-2361183241434822606848
-(U16) 256 * (S64) -9223372036854775807
+256 * -9223372036854775807
-2361183241434822606592
-(U16) 256 * (S64) -2147483648
+256 * -2147483648
-549755813888
-(U16) 256 * (S32) -2147483647
-(S64) -549755813632
-(U16) 256 * (S32) -32768
-(S64) -8388608
-(U16) 256 * (S16) -32767
-(S32) -8388352
-(U16) 256 * (S16) -128
-(S32) -32768
-(U16) 256 * (S8) -127
-(S32) -32512
-(U16) 256 * (U8) 255
-(U32) 65280
-(U16) 256 * (U16) 256
-(U32) 65536
-(U16) 256 * (U16) 65535
-(U32) 16776960
-(U16) 256 * (U32) 65536
-(U64) 16777216
-(U16) 256 * (U32) 4294967295
-(U64) 1099511627520
-(U16) 256 * (U64) 4294967296
+256 * -2147483647
+-549755813632
+256 * -32768
+-8388608
+256 * -32767
+-8388352
+256 * -128
+-32768
+256 * -127
+-32512
+256 * 255
+65280
+256 * 256
+65536
+256 * 65535
+16776960
+256 * 65536
+16777216
+256 * 4294967295
+1099511627520
+256 * 4294967296
1099511627776
-(U16) 256 * (U64) 18446744073709551615
+256 * 18446744073709551615
4722366482869645213440
-(U16) 256 * 18446744073709551616
+256 * 18446744073709551616
4722366482869645213696
-(U16) 256 * 340282366920938463463374607431768211455
+256 * 340282366920938463463374607431768211455
87112285931760246646623899502532662132480
-(U16) 256 * 340282366920938463463374607431768211456
+256 * 340282366920938463463374607431768211456
87112285931760246646623899502532662132736
-(U16) 65535 * -170141183460469231731687303715884105728
+65535 * -170141183460469231731687303715884105728
-11150202458081851101536127449020464868884480
-(U16) 65535 * -170141183460469231731687303715884105727
+65535 * -170141183460469231731687303715884105727
-11150202458081851101536127449020464868818945
-(U16) 65535 * -9223372036854775808
+65535 * -9223372036854775808
-604453686435277732577280
-(U16) 65535 * (S64) -9223372036854775807
+65535 * -9223372036854775807
-604453686435277732511745
-(U16) 65535 * (S64) -2147483648
+65535 * -2147483648
-140735340871680
-(U16) 65535 * (S32) -2147483647
-(S64) -140735340806145
-(U16) 65535 * (S32) -32768
-(S64) -2147450880
-(U16) 65535 * (S16) -32767
-(S32) -2147385345
-(U16) 65535 * (S16) -128
-(S32) -8388480
-(U16) 65535 * (S8) -127
-(S32) -8322945
-(U16) 65535 * (U8) 255
-(U32) 16711425
-(U16) 65535 * (U16) 256
-(U32) 16776960
-(U16) 65535 * (U16) 65535
-(U32) 4294836225
-(U16) 65535 * (U32) 65536
-(U64) 4294901760
-(U16) 65535 * (U32) 4294967295
-(U64) 281470681677825
-(U16) 65535 * (U64) 4294967296
+65535 * -2147483647
+-140735340806145
+65535 * -32768
+-2147450880
+65535 * -32767
+-2147385345
+65535 * -128
+-8388480
+65535 * -127
+-8322945
+65535 * 255
+16711425
+65535 * 256
+16776960
+65535 * 65535
+4294836225
+65535 * 65536
+4294901760
+65535 * 4294967295
+281470681677825
+65535 * 4294967296
281470681743360
-(U16) 65535 * (U64) 18446744073709551615
+65535 * 18446744073709551615
1208907372870555465089025
-(U16) 65535 * 18446744073709551616
+65535 * 18446744073709551616
1208907372870555465154560
-(U16) 65535 * 340282366920938463463374607431768211455
+65535 * 340282366920938463463374607431768211455
22300404916163702203072254898040929737703425
-(U16) 65535 * 340282366920938463463374607431768211456
+65535 * 340282366920938463463374607431768211456
22300404916163702203072254898040929737768960
-(U32) 65536 * -170141183460469231731687303715884105728
+65536 * -170141183460469231731687303715884105728
-11150372599265311570767859136324180752990208
-(U32) 65536 * -170141183460469231731687303715884105727
+65536 * -170141183460469231731687303715884105727
-11150372599265311570767859136324180752924672
-(U32) 65536 * -9223372036854775808
+65536 * -9223372036854775808
-604462909807314587353088
-(U32) 65536 * (S64) -9223372036854775807
+65536 * -9223372036854775807
-604462909807314587287552
-(U32) 65536 * (S64) -2147483648
+65536 * -2147483648
-140737488355328
-(U32) 65536 * (S32) -2147483647
-(S64) -140737488289792
-(U32) 65536 * (S32) -32768
-(S64) -2147483648
-(U32) 65536 * (S16) -32767
-(S64) -2147418112
-(U32) 65536 * (S16) -128
-(S64) -8388608
-(U32) 65536 * (S8) -127
-(S64) -8323072
-(U32) 65536 * (U8) 255
-(U64) 16711680
-(U32) 65536 * (U16) 256
-(U64) 16777216
-(U32) 65536 * (U16) 65535
-(U64) 4294901760
-(U32) 65536 * (U32) 65536
-(U64) 4294967296
-(U32) 65536 * (U32) 4294967295
-(U64) 281474976645120
-(U32) 65536 * (U64) 4294967296
+65536 * -2147483647
+-140737488289792
+65536 * -32768
+-2147483648
+65536 * -32767
+-2147418112
+65536 * -128
+-8388608
+65536 * -127
+-8323072
+65536 * 255
+16711680
+65536 * 256
+16777216
+65536 * 65535
+4294901760
+65536 * 65536
+4294967296
+65536 * 4294967295
+281474976645120
+65536 * 4294967296
281474976710656
-(U32) 65536 * (U64) 18446744073709551615
+65536 * 18446744073709551615
1208925819614629174640640
-(U32) 65536 * 18446744073709551616
+65536 * 18446744073709551616
1208925819614629174706176
-(U32) 65536 * 340282366920938463463374607431768211455
+65536 * 340282366920938463463374607431768211455
22300745198530623141535718272648361505914880
-(U32) 65536 * 340282366920938463463374607431768211456
+65536 * 340282366920938463463374607431768211456
22300745198530623141535718272648361505980416
-(U32) 4294967295 * -170141183460469231731687303715884105728
+4294967295 * -170141183460469231731687303715884105728
-730750818495310275641373184626454206112082165760
-(U32) 4294967295 * -170141183460469231731687303715884105727
+4294967295 * -170141183460469231731687303715884105727
-730750818495310275641373184626454206107787198465
-(U32) 4294967295 * -9223372036854775808
+4294967295 * -9223372036854775808
-39614081247908796759917199360
-(U32) 4294967295 * (S64) -9223372036854775807
+4294967295 * -9223372036854775807
-39614081247908796755622232065
-(U32) 4294967295 * (S64) -2147483648
+4294967295 * -2147483648
-9223372034707292160
-(U32) 4294967295 * (S32) -2147483647
-(S64) -9223372030412324865
-(U32) 4294967295 * (S32) -32768
-(S64) -140737488322560
-(U32) 4294967295 * (S16) -32767
-(S64) -140733193355265
-(U32) 4294967295 * (S16) -128
-(S64) -549755813760
-(U32) 4294967295 * (S8) -127
-(S64) -545460846465
-(U32) 4294967295 * (U8) 255
-(U64) 1095216660225
-(U32) 4294967295 * (U16) 256
-(U64) 1099511627520
-(U32) 4294967295 * (U16) 65535
-(U64) 281470681677825
-(U32) 4294967295 * (U32) 65536
-(U64) 281474976645120
-(U32) 4294967295 * (U32) 4294967295
-(U64) 18446744065119617025
-(U32) 4294967295 * (U64) 4294967296
+4294967295 * -2147483647
+-9223372030412324865
+4294967295 * -32768
+-140737488322560
+4294967295 * -32767
+-140733193355265
+4294967295 * -128
+-549755813760
+4294967295 * -127
+-545460846465
+4294967295 * 255
+1095216660225
+4294967295 * 256
+1099511627520
+4294967295 * 65535
+281470681677825
+4294967295 * 65536
+281474976645120
+4294967295 * 4294967295
+18446744065119617025
+4294967295 * 4294967296
18446744069414584320
-(U32) 4294967295 * (U64) 18446744073709551615
+4294967295 * 18446744073709551615
79228162495817593515539431425
-(U32) 4294967295 * 18446744073709551616
+4294967295 * 18446744073709551616
79228162495817593519834398720
-(U32) 4294967295 * 340282366920938463463374607431768211455
+4294967295 * 340282366920938463463374607431768211455
1461501636990620551282746369252908412219869364225
-(U32) 4294967295 * 340282366920938463463374607431768211456
+4294967295 * 340282366920938463463374607431768211456
1461501636990620551282746369252908412224164331520
-(U64) 4294967296 * -170141183460469231731687303715884105728
+4294967296 * -170141183460469231731687303715884105728
-730750818665451459101842416358141509827966271488
-(U64) 4294967296 * -170141183460469231731687303715884105727
+4294967296 * -170141183460469231731687303715884105727
-730750818665451459101842416358141509823671304192
-(U64) 4294967296 * -9223372036854775808
+4294967296 * -9223372036854775808
-39614081257132168796771975168
-(U64) 4294967296 * (S64) -9223372036854775807
+4294967296 * -9223372036854775807
-39614081257132168792477007872
-(U64) 4294967296 * (S64) -2147483648
+4294967296 * -2147483648
-9223372036854775808
-(U64) 4294967296 * (S32) -2147483647
+4294967296 * -2147483647
-9223372032559808512
-(U64) 4294967296 * (S32) -32768
+4294967296 * -32768
-140737488355328
-(U64) 4294967296 * (S16) -32767
+4294967296 * -32767
-140733193388032
-(U64) 4294967296 * (S16) -128
+4294967296 * -128
-549755813888
-(U64) 4294967296 * (S8) -127
+4294967296 * -127
-545460846592
-(U64) 4294967296 * (U8) 255
+4294967296 * 255
1095216660480
-(U64) 4294967296 * (U16) 256
+4294967296 * 256
1099511627776
-(U64) 4294967296 * (U16) 65535
+4294967296 * 65535
281470681743360
-(U64) 4294967296 * (U32) 65536
+4294967296 * 65536
281474976710656
-(U64) 4294967296 * (U32) 4294967295
+4294967296 * 4294967295
18446744069414584320
-(U64) 4294967296 * (U64) 4294967296
+4294967296 * 4294967296
18446744073709551616
-(U64) 4294967296 * (U64) 18446744073709551615
+4294967296 * 18446744073709551615
79228162514264337589248983040
-(U64) 4294967296 * 18446744073709551616
+4294967296 * 18446744073709551616
79228162514264337593543950336
-(U64) 4294967296 * 340282366920938463463374607431768211455
+4294967296 * 340282366920938463463374607431768211455
1461501637330902918203684832716283019651637575680
-(U64) 4294967296 * 340282366920938463463374607431768211456
+4294967296 * 340282366920938463463374607431768211456
1461501637330902918203684832716283019655932542976
-(U64) 18446744073709551615 * -170141183460469231731687303715884105728
+18446744073709551615 * -170141183460469231731687303715884105728
-3138550867693340381747753528143363976319490418516133150720
-(U64) 18446744073709551615 * -170141183460469231731687303715884105727
+18446744073709551615 * -170141183460469231731687303715884105727
-3138550867693340381747753528143363976301043674442423599105
-(U64) 18446744073709551615 * -9223372036854775808
+18446744073709551615 * -9223372036854775808
-170141183460469231722463931679029329920
-(U64) 18446744073709551615 * (S64) -9223372036854775807
+18446744073709551615 * -9223372036854775807
-170141183460469231704017187605319778305
-(U64) 18446744073709551615 * (S64) -2147483648
+18446744073709551615 * -2147483648
-39614081257132168794624491520
-(U64) 18446744073709551615 * (S32) -2147483647
+18446744073709551615 * -2147483647
-39614081238685424720914939905
-(U64) 18446744073709551615 * (S32) -32768
+18446744073709551615 * -32768
-604462909807314587320320
-(U64) 18446744073709551615 * (S16) -32767
+18446744073709551615 * -32767
-604444463063240877768705
-(U64) 18446744073709551615 * (S16) -128
+18446744073709551615 * -128
-2361183241434822606720
-(U64) 18446744073709551615 * (S8) -127
+18446744073709551615 * -127
-2342736497361113055105
-(U64) 18446744073709551615 * (U8) 255
+18446744073709551615 * 255
4703919738795935661825
-(U64) 18446744073709551615 * (U16) 256
+18446744073709551615 * 256
4722366482869645213440
-(U64) 18446744073709551615 * (U16) 65535
+18446744073709551615 * 65535
1208907372870555465089025
-(U64) 18446744073709551615 * (U32) 65536
+18446744073709551615 * 65536
1208925819614629174640640
-(U64) 18446744073709551615 * (U32) 4294967295
+18446744073709551615 * 4294967295
79228162495817593515539431425
-(U64) 18446744073709551615 * (U64) 4294967296
+18446744073709551615 * 4294967296
79228162514264337589248983040
-(U64) 18446744073709551615 * (U64) 18446744073709551615
+18446744073709551615 * 18446744073709551615
340282366920938463426481119284349108225
-(U64) 18446744073709551615 * 18446744073709551616
+18446744073709551615 * 18446744073709551616
340282366920938463444927863358058659840
-(U64) 18446744073709551615 * 340282366920938463463374607431768211455
+18446744073709551615 * 340282366920938463463374607431768211455
6277101735386680763495507056286727952620534092958556749825
-(U64) 18446744073709551615 * 340282366920938463463374607431768211456
+18446744073709551615 * 340282366920938463463374607431768211456
6277101735386680763495507056286727952638980837032266301440
18446744073709551616 * -170141183460469231731687303715884105728
-3138550867693340381917894711603833208051177722232017256448
@@ -684,33 +684,33 @@
-3138550867693340381917894711603833208032730978158307704832
18446744073709551616 * -9223372036854775808
-170141183460469231731687303715884105728
-18446744073709551616 * (S64) -9223372036854775807
+18446744073709551616 * -9223372036854775807
-170141183460469231713240559642174554112
-18446744073709551616 * (S64) -2147483648
+18446744073709551616 * -2147483648
-39614081257132168796771975168
-18446744073709551616 * (S32) -2147483647
+18446744073709551616 * -2147483647
-39614081238685424723062423552
-18446744073709551616 * (S32) -32768
+18446744073709551616 * -32768
-604462909807314587353088
-18446744073709551616 * (S16) -32767
+18446744073709551616 * -32767
-604444463063240877801472
-18446744073709551616 * (S16) -128
+18446744073709551616 * -128
-2361183241434822606848
-18446744073709551616 * (S8) -127
+18446744073709551616 * -127
-2342736497361113055232
-18446744073709551616 * (U8) 255
+18446744073709551616 * 255
4703919738795935662080
-18446744073709551616 * (U16) 256
+18446744073709551616 * 256
4722366482869645213696
-18446744073709551616 * (U16) 65535
+18446744073709551616 * 65535
1208907372870555465154560
-18446744073709551616 * (U32) 65536
+18446744073709551616 * 65536
1208925819614629174706176
-18446744073709551616 * (U32) 4294967295
+18446744073709551616 * 4294967295
79228162495817593519834398720
-18446744073709551616 * (U64) 4294967296
+18446744073709551616 * 4294967296
79228162514264337593543950336
-18446744073709551616 * (U64) 18446744073709551615
+18446744073709551616 * 18446744073709551615
340282366920938463444927863358058659840
18446744073709551616 * 18446744073709551616
340282366920938463463374607431768211456
@@ -724,33 +724,33 @@
-57896044618658097711785492504343953926124568782438874324533730092808912502785
340282366920938463463374607431768211455 * -9223372036854775808
-3138550867693340381917894711603833208041954350195162480640
-340282366920938463463374607431768211455 * (S64) -9223372036854775807
+340282366920938463463374607431768211455 * -9223372036854775807
-3138550867693340381577612344682894744578579742763394269185
-340282366920938463463374607431768211455 * (S64) -2147483648
+340282366920938463463374607431768211455 * -2147483648
-730750818665451459101842416358141509825818787840
-340282366920938463463374607431768211455 * (S32) -2147483647
+340282366920938463463374607431768211455 * -2147483647
-730750818325169092180903952894766902394050576385
-340282366920938463463374607431768211455 * (S32) -32768
+340282366920938463463374607431768211455 * -32768
-11150372599265311570767859136324180752957440
-340282366920938463463374607431768211455 * (S16) -32767
+340282366920938463463374607431768211455 * -32767
-11150032316898390632304395761716748984745985
-340282366920938463463374607431768211455 * (S16) -128
+340282366920938463463374607431768211455 * -128
-43556142965880123323311949751266331066240
-340282366920938463463374607431768211455 * (S8) -127
+340282366920938463463374607431768211455 * -127
-43215860598959184859848575143834562854785
-340282366920938463463374607431768211455 * (U8) 255
+340282366920938463463374607431768211455 * 255
86772003564839308183160524895100893921025
-340282366920938463463374607431768211455 * (U16) 256
+340282366920938463463374607431768211455 * 256
87112285931760246646623899502532662132480
-340282366920938463463374607431768211455 * (U16) 65535
+340282366920938463463374607431768211455 * 65535
22300404916163702203072254898040929737703425
-340282366920938463463374607431768211455 * (U32) 65536
+340282366920938463463374607431768211455 * 65536
22300745198530623141535718272648361505914880
-340282366920938463463374607431768211455 * (U32) 4294967295
+340282366920938463463374607431768211455 * 4294967295
1461501636990620551282746369252908412219869364225
-340282366920938463463374607431768211455 * (U64) 4294967296
+340282366920938463463374607431768211455 * 4294967296
1461501637330902918203684832716283019651637575680
-340282366920938463463374607431768211455 * (U64) 18446744073709551615
+340282366920938463463374607431768211455 * 18446744073709551615
6277101735386680763495507056286727952620534092958556749825
340282366920938463463374607431768211455 * 18446744073709551616
6277101735386680763835789423207666416083908700390324961280
@@ -764,33 +764,33 @@
-57896044618658097711785492504343953926294709965899343556265417396524796608512
340282366920938463463374607431768211456 * -9223372036854775808
-3138550867693340381917894711603833208051177722232017256448
-340282366920938463463374607431768211456 * (S64) -9223372036854775807
+340282366920938463463374607431768211456 * -9223372036854775807
-3138550867693340381577612344682894744587803114800249044992
-340282366920938463463374607431768211456 * (S64) -2147483648
+340282366920938463463374607431768211456 * -2147483648
-730750818665451459101842416358141509827966271488
-340282366920938463463374607431768211456 * (S32) -2147483647
+340282366920938463463374607431768211456 * -2147483647
-730750818325169092180903952894766902396198060032
-340282366920938463463374607431768211456 * (S32) -32768
+340282366920938463463374607431768211456 * -32768
-11150372599265311570767859136324180752990208
-340282366920938463463374607431768211456 * (S16) -32767
+340282366920938463463374607431768211456 * -32767
-11150032316898390632304395761716748984778752
-340282366920938463463374607431768211456 * (S16) -128
+340282366920938463463374607431768211456 * -128
-43556142965880123323311949751266331066368
-340282366920938463463374607431768211456 * (S8) -127
+340282366920938463463374607431768211456 * -127
-43215860598959184859848575143834562854912
-340282366920938463463374607431768211456 * (U8) 255
+340282366920938463463374607431768211456 * 255
86772003564839308183160524895100893921280
-340282366920938463463374607431768211456 * (U16) 256
+340282366920938463463374607431768211456 * 256
87112285931760246646623899502532662132736
-340282366920938463463374607431768211456 * (U16) 65535
+340282366920938463463374607431768211456 * 65535
22300404916163702203072254898040929737768960
-340282366920938463463374607431768211456 * (U32) 65536
+340282366920938463463374607431768211456 * 65536
22300745198530623141535718272648361505980416
-340282366920938463463374607431768211456 * (U32) 4294967295
+340282366920938463463374607431768211456 * 4294967295
1461501636990620551282746369252908412224164331520
-340282366920938463463374607431768211456 * (U64) 4294967296
+340282366920938463463374607431768211456 * 4294967296
1461501637330902918203684832716283019655932542976
-340282366920938463463374607431768211456 * (U64) 18446744073709551615
+340282366920938463463374607431768211456 * 18446744073709551615
6277101735386680763495507056286727952638980837032266301440
340282366920938463463374607431768211456 * 18446744073709551616
6277101735386680763835789423207666416102355444464034512896
diff --git a/test/ikc3/integer_neg.out.expected b/test/ikc3/integer_neg.out.expected
index 4875eaf..643657f 100644
--- a/test/ikc3/integer_neg.out.expected
+++ b/test/ikc3/integer_neg.out.expected
@@ -4,33 +4,33 @@
170141183460469231731687303715884105727
- -9223372036854775808
9223372036854775808
-- (S64) -9223372036854775807
-(S64) 9223372036854775807
-- (S64) -2147483648
-(S64) 2147483648
-- (S32) -2147483647
-(S64) 2147483647
-- (S32) -32768
-(S64) 32768
-- (S16) -32767
-(S32) 32767
-- (S16) -128
-(S32) 128
-- (S8) -127
-(S16) 127
-- (U8) 255
-(S16) -255
-- (U16) 256
-(S32) -256
-- (U16) 65535
-(S32) -65535
-- (U32) 65536
-(S64) -65536
-- (U32) 4294967295
-(S64) -4294967295
-- (U64) 4294967296
+- -9223372036854775807
+9223372036854775807
+- -2147483648
+2147483648
+- -2147483647
+2147483647
+- -32768
+32768
+- -32767
+32767
+- -128
+128
+- -127
+127
+- 255
+-255
+- 256
+-256
+- 65535
+-65535
+- 65536
+-65536
+- 4294967295
+-4294967295
+- 4294967296
-4294967296
-- (U64) 18446744073709551615
+- 18446744073709551615
-18446744073709551615
- 18446744073709551616
-18446744073709551616
diff --git a/test/ikc3/integer_sub.out.expected b/test/ikc3/integer_sub.out.expected
index f32a4c4..c6a58ea 100644
--- a/test/ikc3/integer_sub.out.expected
+++ b/test/ikc3/integer_sub.out.expected
@@ -4,33 +4,33 @@
-1
-170141183460469231731687303715884105728 - -9223372036854775808
-170141183460469231722463931679029329920
--170141183460469231731687303715884105728 - (S64) -9223372036854775807
+-170141183460469231731687303715884105728 - -9223372036854775807
-170141183460469231722463931679029329921
--170141183460469231731687303715884105728 - (S64) -2147483648
+-170141183460469231731687303715884105728 - -2147483648
-170141183460469231731687303713736622080
--170141183460469231731687303715884105728 - (S32) -2147483647
+-170141183460469231731687303715884105728 - -2147483647
-170141183460469231731687303713736622081
--170141183460469231731687303715884105728 - (S32) -32768
+-170141183460469231731687303715884105728 - -32768
-170141183460469231731687303715884072960
--170141183460469231731687303715884105728 - (S16) -32767
+-170141183460469231731687303715884105728 - -32767
-170141183460469231731687303715884072961
--170141183460469231731687303715884105728 - (S16) -128
+-170141183460469231731687303715884105728 - -128
-170141183460469231731687303715884105600
--170141183460469231731687303715884105728 - (S8) -127
+-170141183460469231731687303715884105728 - -127
-170141183460469231731687303715884105601
--170141183460469231731687303715884105728 - (U8) 255
+-170141183460469231731687303715884105728 - 255
-170141183460469231731687303715884105983
--170141183460469231731687303715884105728 - (U16) 256
+-170141183460469231731687303715884105728 - 256
-170141183460469231731687303715884105984
--170141183460469231731687303715884105728 - (U16) 65535
+-170141183460469231731687303715884105728 - 65535
-170141183460469231731687303715884171263
--170141183460469231731687303715884105728 - (U32) 65536
+-170141183460469231731687303715884105728 - 65536
-170141183460469231731687303715884171264
--170141183460469231731687303715884105728 - (U32) 4294967295
+-170141183460469231731687303715884105728 - 4294967295
-170141183460469231731687303720179073023
--170141183460469231731687303715884105728 - (U64) 4294967296
+-170141183460469231731687303715884105728 - 4294967296
-170141183460469231731687303720179073024
--170141183460469231731687303715884105728 - (U64) 18446744073709551615
+-170141183460469231731687303715884105728 - 18446744073709551615
-170141183460469231750134047789593657343
-170141183460469231731687303715884105728 - 18446744073709551616
-170141183460469231750134047789593657344
@@ -44,33 +44,33 @@
0
-170141183460469231731687303715884105727 - -9223372036854775808
-170141183460469231722463931679029329919
--170141183460469231731687303715884105727 - (S64) -9223372036854775807
+-170141183460469231731687303715884105727 - -9223372036854775807
-170141183460469231722463931679029329920
--170141183460469231731687303715884105727 - (S64) -2147483648
+-170141183460469231731687303715884105727 - -2147483648
-170141183460469231731687303713736622079
--170141183460469231731687303715884105727 - (S32) -2147483647
+-170141183460469231731687303715884105727 - -2147483647
-170141183460469231731687303713736622080
--170141183460469231731687303715884105727 - (S32) -32768
+-170141183460469231731687303715884105727 - -32768
-170141183460469231731687303715884072959
--170141183460469231731687303715884105727 - (S16) -32767
+-170141183460469231731687303715884105727 - -32767
-170141183460469231731687303715884072960
--170141183460469231731687303715884105727 - (S16) -128
+-170141183460469231731687303715884105727 - -128
-170141183460469231731687303715884105599
--170141183460469231731687303715884105727 - (S8) -127
+-170141183460469231731687303715884105727 - -127
-170141183460469231731687303715884105600
--170141183460469231731687303715884105727 - (U8) 255
+-170141183460469231731687303715884105727 - 255
-170141183460469231731687303715884105982
--170141183460469231731687303715884105727 - (U16) 256
+-170141183460469231731687303715884105727 - 256
-170141183460469231731687303715884105983
--170141183460469231731687303715884105727 - (U16) 65535
+-170141183460469231731687303715884105727 - 65535
-170141183460469231731687303715884171262
--170141183460469231731687303715884105727 - (U32) 65536
+-170141183460469231731687303715884105727 - 65536
-170141183460469231731687303715884171263
--170141183460469231731687303715884105727 - (U32) 4294967295
+-170141183460469231731687303715884105727 - 4294967295
-170141183460469231731687303720179073022
--170141183460469231731687303715884105727 - (U64) 4294967296
+-170141183460469231731687303715884105727 - 4294967296
-170141183460469231731687303720179073023
--170141183460469231731687303715884105727 - (U64) 18446744073709551615
+-170141183460469231731687303715884105727 - 18446744073709551615
-170141183460469231750134047789593657342
-170141183460469231731687303715884105727 - 18446744073709551616
-170141183460469231750134047789593657343
@@ -84,33 +84,33 @@
170141183460469231722463931679029329919
-9223372036854775808 - -9223372036854775808
0
--9223372036854775808 - (S64) -9223372036854775807
+-9223372036854775808 - -9223372036854775807
-1
--9223372036854775808 - (S64) -2147483648
+-9223372036854775808 - -2147483648
-9223372034707292160
--9223372036854775808 - (S32) -2147483647
+-9223372036854775808 - -2147483647
-9223372034707292161
--9223372036854775808 - (S32) -32768
+-9223372036854775808 - -32768
-9223372036854743040
--9223372036854775808 - (S16) -32767
+-9223372036854775808 - -32767
-9223372036854743041
--9223372036854775808 - (S16) -128
+-9223372036854775808 - -128
-9223372036854775680
--9223372036854775808 - (S8) -127
+-9223372036854775808 - -127
-9223372036854775681
--9223372036854775808 - (U8) 255
+-9223372036854775808 - 255
-9223372036854776063
--9223372036854775808 - (U16) 256
+-9223372036854775808 - 256
-9223372036854776064
--9223372036854775808 - (U16) 65535
+-9223372036854775808 - 65535
-9223372036854841343
--9223372036854775808 - (U32) 65536
+-9223372036854775808 - 65536
-9223372036854841344
--9223372036854775808 - (U32) 4294967295
+-9223372036854775808 - 4294967295
-9223372041149743103
--9223372036854775808 - (U64) 4294967296
+-9223372036854775808 - 4294967296
-9223372041149743104
--9223372036854775808 - (U64) 18446744073709551615
+-9223372036854775808 - 18446744073709551615
-27670116110564327423
-9223372036854775808 - 18446744073709551616
-27670116110564327424
@@ -118,565 +118,565 @@
-340282366920938463472597979468622987263
-9223372036854775808 - 340282366920938463463374607431768211456
-340282366920938463472597979468622987264
-(S64) -9223372036854775807 - -170141183460469231731687303715884105728
+-9223372036854775807 - -170141183460469231731687303715884105728
170141183460469231722463931679029329921
-(S64) -9223372036854775807 - -170141183460469231731687303715884105727
+-9223372036854775807 - -170141183460469231731687303715884105727
170141183460469231722463931679029329920
-(S64) -9223372036854775807 - -9223372036854775808
+-9223372036854775807 - -9223372036854775808
1
-(S64) -9223372036854775807 - (S64) -9223372036854775807
+-9223372036854775807 - -9223372036854775807
0
-(S64) -9223372036854775807 - (S64) -2147483648
+-9223372036854775807 - -2147483648
-9223372034707292159
-(S64) -9223372036854775807 - (S32) -2147483647
+-9223372036854775807 - -2147483647
-9223372034707292160
-(S64) -9223372036854775807 - (S32) -32768
+-9223372036854775807 - -32768
-9223372036854743039
-(S64) -9223372036854775807 - (S16) -32767
+-9223372036854775807 - -32767
-9223372036854743040
-(S64) -9223372036854775807 - (S16) -128
+-9223372036854775807 - -128
-9223372036854775679
-(S64) -9223372036854775807 - (S8) -127
+-9223372036854775807 - -127
-9223372036854775680
-(S64) -9223372036854775807 - (U8) 255
+-9223372036854775807 - 255
-9223372036854776062
-(S64) -9223372036854775807 - (U16) 256
+-9223372036854775807 - 256
-9223372036854776063
-(S64) -9223372036854775807 - (U16) 65535
+-9223372036854775807 - 65535
-9223372036854841342
-(S64) -9223372036854775807 - (U32) 65536
+-9223372036854775807 - 65536
-9223372036854841343
-(S64) -9223372036854775807 - (U32) 4294967295
+-9223372036854775807 - 4294967295
-9223372041149743102
-(S64) -9223372036854775807 - (U64) 4294967296
+-9223372036854775807 - 4294967296
-9223372041149743103
-(S64) -9223372036854775807 - (U64) 18446744073709551615
+-9223372036854775807 - 18446744073709551615
-27670116110564327422
-(S64) -9223372036854775807 - 18446744073709551616
+-9223372036854775807 - 18446744073709551616
-27670116110564327423
-(S64) -9223372036854775807 - 340282366920938463463374607431768211455
+-9223372036854775807 - 340282366920938463463374607431768211455
-340282366920938463472597979468622987262
-(S64) -9223372036854775807 - 340282366920938463463374607431768211456
+-9223372036854775807 - 340282366920938463463374607431768211456
-340282366920938463472597979468622987263
-(S64) -2147483648 - -170141183460469231731687303715884105728
+-2147483648 - -170141183460469231731687303715884105728
170141183460469231731687303713736622080
-(S64) -2147483648 - -170141183460469231731687303715884105727
+-2147483648 - -170141183460469231731687303715884105727
170141183460469231731687303713736622079
-(S64) -2147483648 - -9223372036854775808
+-2147483648 - -9223372036854775808
9223372034707292160
-(S64) -2147483648 - (S64) -9223372036854775807
+-2147483648 - -9223372036854775807
9223372034707292159
-(S64) -2147483648 - (S64) -2147483648
+-2147483648 - -2147483648
0
-(S64) -2147483648 - (S32) -2147483647
+-2147483648 - -2147483647
-1
-(S64) -2147483648 - (S32) -32768
+-2147483648 - -32768
-2147450880
-(S64) -2147483648 - (S16) -32767
+-2147483648 - -32767
-2147450881
-(S64) -2147483648 - (S16) -128
+-2147483648 - -128
-2147483520
-(S64) -2147483648 - (S8) -127
+-2147483648 - -127
-2147483521
-(S64) -2147483648 - (U8) 255
+-2147483648 - 255
-2147483903
-(S64) -2147483648 - (U16) 256
+-2147483648 - 256
-2147483904
-(S64) -2147483648 - (U16) 65535
+-2147483648 - 65535
-2147549183
-(S64) -2147483648 - (U32) 65536
+-2147483648 - 65536
-2147549184
-(S64) -2147483648 - (U32) 4294967295
+-2147483648 - 4294967295
-6442450943
-(S64) -2147483648 - (U64) 4294967296
+-2147483648 - 4294967296
-6442450944
-(S64) -2147483648 - (U64) 18446744073709551615
+-2147483648 - 18446744073709551615
-18446744075857035263
-(S64) -2147483648 - 18446744073709551616
+-2147483648 - 18446744073709551616
-18446744075857035264
-(S64) -2147483648 - 340282366920938463463374607431768211455
+-2147483648 - 340282366920938463463374607431768211455
-340282366920938463463374607433915695103
-(S64) -2147483648 - 340282366920938463463374607431768211456
+-2147483648 - 340282366920938463463374607431768211456
-340282366920938463463374607433915695104
-(S32) -2147483647 - -170141183460469231731687303715884105728
+-2147483647 - -170141183460469231731687303715884105728
170141183460469231731687303713736622081
-(S32) -2147483647 - -170141183460469231731687303715884105727
+-2147483647 - -170141183460469231731687303715884105727
170141183460469231731687303713736622080
-(S32) -2147483647 - -9223372036854775808
+-2147483647 - -9223372036854775808
9223372034707292161
-(S32) -2147483647 - (S64) -9223372036854775807
+-2147483647 - -9223372036854775807
9223372034707292160
-(S32) -2147483647 - (S64) -2147483648
+-2147483647 - -2147483648
1
-(S32) -2147483647 - (S32) -2147483647
-(S64) 0
-(S32) -2147483647 - (S32) -32768
-(S64) -2147450879
-(S32) -2147483647 - (S16) -32767
-(S64) -2147450880
-(S32) -2147483647 - (S16) -128
-(S64) -2147483519
-(S32) -2147483647 - (S8) -127
-(S64) -2147483520
-(S32) -2147483647 - (U8) 255
-(S64) -2147483902
-(S32) -2147483647 - (U16) 256
-(S64) -2147483903
-(S32) -2147483647 - (U16) 65535
-(S64) -2147549182
-(S32) -2147483647 - (U32) 65536
-(S64) -2147549183
-(S32) -2147483647 - (U32) 4294967295
-(S64) -6442450942
-(S32) -2147483647 - (U64) 4294967296
+-2147483647 - -2147483647
+0
+-2147483647 - -32768
+-2147450879
+-2147483647 - -32767
+-2147450880
+-2147483647 - -128
+-2147483519
+-2147483647 - -127
+-2147483520
+-2147483647 - 255
+-2147483902
+-2147483647 - 256
+-2147483903
+-2147483647 - 65535
+-2147549182
+-2147483647 - 65536
+-2147549183
+-2147483647 - 4294967295
+-6442450942
+-2147483647 - 4294967296
-6442450943
-(S32) -2147483647 - (U64) 18446744073709551615
+-2147483647 - 18446744073709551615
-18446744075857035262
-(S32) -2147483647 - 18446744073709551616
+-2147483647 - 18446744073709551616
-18446744075857035263
-(S32) -2147483647 - 340282366920938463463374607431768211455
+-2147483647 - 340282366920938463463374607431768211455
-340282366920938463463374607433915695102
-(S32) -2147483647 - 340282366920938463463374607431768211456
+-2147483647 - 340282366920938463463374607431768211456
-340282366920938463463374607433915695103
-(S32) -32768 - -170141183460469231731687303715884105728
+-32768 - -170141183460469231731687303715884105728
170141183460469231731687303715884072960
-(S32) -32768 - -170141183460469231731687303715884105727
+-32768 - -170141183460469231731687303715884105727
170141183460469231731687303715884072959
-(S32) -32768 - -9223372036854775808
+-32768 - -9223372036854775808
9223372036854743040
-(S32) -32768 - (S64) -9223372036854775807
+-32768 - -9223372036854775807
9223372036854743039
-(S32) -32768 - (S64) -2147483648
+-32768 - -2147483648
2147450880
-(S32) -32768 - (S32) -2147483647
-(S64) 2147450879
-(S32) -32768 - (S32) -32768
-(S64) 0
-(S32) -32768 - (S16) -32767
-(S64) -1
-(S32) -32768 - (S16) -128
-(S64) -32640
-(S32) -32768 - (S8) -127
-(S64) -32641
-(S32) -32768 - (U8) 255
-(S64) -33023
-(S32) -32768 - (U16) 256
-(S64) -33024
-(S32) -32768 - (U16) 65535
-(S64) -98303
-(S32) -32768 - (U32) 65536
-(S64) -98304
-(S32) -32768 - (U32) 4294967295
-(S64) -4295000063
-(S32) -32768 - (U64) 4294967296
+-32768 - -2147483647
+2147450879
+-32768 - -32768
+0
+-32768 - -32767
+-1
+-32768 - -128
+-32640
+-32768 - -127
+-32641
+-32768 - 255
+-33023
+-32768 - 256
+-33024
+-32768 - 65535
+-98303
+-32768 - 65536
+-98304
+-32768 - 4294967295
+-4295000063
+-32768 - 4294967296
-4295000064
-(S32) -32768 - (U64) 18446744073709551615
+-32768 - 18446744073709551615
-18446744073709584383
-(S32) -32768 - 18446744073709551616
+-32768 - 18446744073709551616
-18446744073709584384
-(S32) -32768 - 340282366920938463463374607431768211455
+-32768 - 340282366920938463463374607431768211455
-340282366920938463463374607431768244223
-(S32) -32768 - 340282366920938463463374607431768211456
+-32768 - 340282366920938463463374607431768211456
-340282366920938463463374607431768244224
-(S16) -32767 - -170141183460469231731687303715884105728
+-32767 - -170141183460469231731687303715884105728
170141183460469231731687303715884072961
-(S16) -32767 - -170141183460469231731687303715884105727
+-32767 - -170141183460469231731687303715884105727
170141183460469231731687303715884072960
-(S16) -32767 - -9223372036854775808
+-32767 - -9223372036854775808
9223372036854743041
-(S16) -32767 - (S64) -9223372036854775807
+-32767 - -9223372036854775807
9223372036854743040
-(S16) -32767 - (S64) -2147483648
+-32767 - -2147483648
2147450881
-(S16) -32767 - (S32) -2147483647
-(S32) 2147450880
-(S16) -32767 - (S32) -32768
-(S32) 1
-(S16) -32767 - (S16) -32767
-(S16) 0
-(S16) -32767 - (S16) -128
-(S16) -32639
-(S16) -32767 - (S8) -127
-(S16) -32640
-(S16) -32767 - (U8) 255
-(S32) -33022
-(S16) -32767 - (U16) 256
-(S32) -33023
-(S16) -32767 - (U16) 65535
-(S32) -98302
-(S16) -32767 - (U32) 65536
-(S64) -98303
-(S16) -32767 - (U32) 4294967295
-(S64) -4295000062
-(S16) -32767 - (U64) 4294967296
+-32767 - -2147483647
+2147450880
+-32767 - -32768
+1
+-32767 - -32767
+0
+-32767 - -128
+-32639
+-32767 - -127
+-32640
+-32767 - 255
+-33022
+-32767 - 256
+-33023
+-32767 - 65535
+-98302
+-32767 - 65536
+-98303
+-32767 - 4294967295
+-4295000062
+-32767 - 4294967296
-4295000063
-(S16) -32767 - (U64) 18446744073709551615
+-32767 - 18446744073709551615
-18446744073709584382
-(S16) -32767 - 18446744073709551616
+-32767 - 18446744073709551616
-18446744073709584383
-(S16) -32767 - 340282366920938463463374607431768211455
+-32767 - 340282366920938463463374607431768211455
-340282366920938463463374607431768244222
-(S16) -32767 - 340282366920938463463374607431768211456
+-32767 - 340282366920938463463374607431768211456
-340282366920938463463374607431768244223
-(S16) -128 - -170141183460469231731687303715884105728
+-128 - -170141183460469231731687303715884105728
170141183460469231731687303715884105600
-(S16) -128 - -170141183460469231731687303715884105727
+-128 - -170141183460469231731687303715884105727
170141183460469231731687303715884105599
-(S16) -128 - -9223372036854775808
+-128 - -9223372036854775808
9223372036854775680
-(S16) -128 - (S64) -9223372036854775807
+-128 - -9223372036854775807
9223372036854775679
-(S16) -128 - (S64) -2147483648
+-128 - -2147483648
2147483520
-(S16) -128 - (S32) -2147483647
-(S32) 2147483519
-(S16) -128 - (S32) -32768
-(S32) 32640
-(S16) -128 - (S16) -32767
-(S16) 32639
-(S16) -128 - (S16) -128
-(S16) 0
-(S16) -128 - (S8) -127
-(S16) -1
-(S16) -128 - (U8) 255
-(S32) -383
-(S16) -128 - (U16) 256
-(S32) -384
-(S16) -128 - (U16) 65535
-(S32) -65663
-(S16) -128 - (U32) 65536
-(S64) -65664
-(S16) -128 - (U32) 4294967295
-(S64) -4294967423
-(S16) -128 - (U64) 4294967296
+-128 - -2147483647
+2147483519
+-128 - -32768
+32640
+-128 - -32767
+32639
+-128 - -128
+0
+-128 - -127
+-1
+-128 - 255
+-383
+-128 - 256
+-384
+-128 - 65535
+-65663
+-128 - 65536
+-65664
+-128 - 4294967295
+-4294967423
+-128 - 4294967296
-4294967424
-(S16) -128 - (U64) 18446744073709551615
+-128 - 18446744073709551615
-18446744073709551743
-(S16) -128 - 18446744073709551616
+-128 - 18446744073709551616
-18446744073709551744
-(S16) -128 - 340282366920938463463374607431768211455
+-128 - 340282366920938463463374607431768211455
-340282366920938463463374607431768211583
-(S16) -128 - 340282366920938463463374607431768211456
+-128 - 340282366920938463463374607431768211456
-340282366920938463463374607431768211584
-(S8) -127 - -170141183460469231731687303715884105728
+-127 - -170141183460469231731687303715884105728
170141183460469231731687303715884105601
-(S8) -127 - -170141183460469231731687303715884105727
+-127 - -170141183460469231731687303715884105727
170141183460469231731687303715884105600
-(S8) -127 - -9223372036854775808
+-127 - -9223372036854775808
9223372036854775681
-(S8) -127 - (S64) -9223372036854775807
+-127 - -9223372036854775807
9223372036854775680
-(S8) -127 - (S64) -2147483648
+-127 - -2147483648
2147483521
-(S8) -127 - (S32) -2147483647
-(S64) 2147483520
-(S8) -127 - (S32) -32768
-(S64) 32641
-(S8) -127 - (S16) -32767
-(S32) 32640
-(S8) -127 - (S16) -128
-(S32) 1
-(S8) -127 - (S8) -127
-(S16) 0
-(S8) -127 - (U8) 255
-(S16) -382
-(S8) -127 - (U16) 256
-(S32) -383
-(S8) -127 - (U16) 65535
-(S32) -65662
-(S8) -127 - (U32) 65536
-(S64) -65663
-(S8) -127 - (U32) 4294967295
-(S64) -4294967422
-(S8) -127 - (U64) 4294967296
+-127 - -2147483647
+2147483520
+-127 - -32768
+32641
+-127 - -32767
+32640
+-127 - -128
+1
+-127 - -127
+0
+-127 - 255
+-382
+-127 - 256
+-383
+-127 - 65535
+-65662
+-127 - 65536
+-65663
+-127 - 4294967295
+-4294967422
+-127 - 4294967296
-4294967423
-(S8) -127 - (U64) 18446744073709551615
+-127 - 18446744073709551615
-18446744073709551742
-(S8) -127 - 18446744073709551616
+-127 - 18446744073709551616
-18446744073709551743
-(S8) -127 - 340282366920938463463374607431768211455
+-127 - 340282366920938463463374607431768211455
-340282366920938463463374607431768211582
-(S8) -127 - 340282366920938463463374607431768211456
+-127 - 340282366920938463463374607431768211456
-340282366920938463463374607431768211583
-(U8) 255 - -170141183460469231731687303715884105728
+255 - -170141183460469231731687303715884105728
170141183460469231731687303715884105983
-(U8) 255 - -170141183460469231731687303715884105727
+255 - -170141183460469231731687303715884105727
170141183460469231731687303715884105982
-(U8) 255 - -9223372036854775808
+255 - -9223372036854775808
9223372036854776063
-(U8) 255 - (S64) -9223372036854775807
+255 - -9223372036854775807
9223372036854776062
-(U8) 255 - (S64) -2147483648
+255 - -2147483648
2147483903
-(U8) 255 - (S32) -2147483647
-(S64) 2147483902
-(U8) 255 - (S32) -32768
-(S64) 33023
-(U8) 255 - (S16) -32767
-(S32) 33022
-(U8) 255 - (S16) -128
-(S32) 383
-(U8) 255 - (S8) -127
-(S16) 382
-(U8) 255 - (U8) 255
-(S16) 0
-(U8) 255 - (U16) 256
-(S32) -1
-(U8) 255 - (U16) 65535
-(S32) -65280
-(U8) 255 - (U32) 65536
-(S64) -65281
-(U8) 255 - (U32) 4294967295
-(S64) -4294967040
-(U8) 255 - (U64) 4294967296
+255 - -2147483647
+2147483902
+255 - -32768
+33023
+255 - -32767
+33022
+255 - -128
+383
+255 - -127
+382
+255 - 255
+0
+255 - 256
+-1
+255 - 65535
+-65280
+255 - 65536
+-65281
+255 - 4294967295
+-4294967040
+255 - 4294967296
-4294967041
-(U8) 255 - (U64) 18446744073709551615
+255 - 18446744073709551615
-18446744073709551360
-(U8) 255 - 18446744073709551616
+255 - 18446744073709551616
-18446744073709551361
-(U8) 255 - 340282366920938463463374607431768211455
+255 - 340282366920938463463374607431768211455
-340282366920938463463374607431768211200
-(U8) 255 - 340282366920938463463374607431768211456
+255 - 340282366920938463463374607431768211456
-340282366920938463463374607431768211201
-(U16) 256 - -170141183460469231731687303715884105728
+256 - -170141183460469231731687303715884105728
170141183460469231731687303715884105984
-(U16) 256 - -170141183460469231731687303715884105727
+256 - -170141183460469231731687303715884105727
170141183460469231731687303715884105983
-(U16) 256 - -9223372036854775808
+256 - -9223372036854775808
9223372036854776064
-(U16) 256 - (S64) -9223372036854775807
+256 - -9223372036854775807
9223372036854776063
-(U16) 256 - (S64) -2147483648
+256 - -2147483648
2147483904
-(U16) 256 - (S32) -2147483647
-(S64) 2147483903
-(U16) 256 - (S32) -32768
-(S64) 33024
-(U16) 256 - (S16) -32767
-(S32) 33023
-(U16) 256 - (S16) -128
-(S32) 384
-(U16) 256 - (S8) -127
-(S32) 383
-(U16) 256 - (U8) 255
-(S32) 1
-(U16) 256 - (U16) 256
-(S32) 0
-(U16) 256 - (U16) 65535
-(S32) -65279
-(U16) 256 - (U32) 65536
-(S64) -65280
-(U16) 256 - (U32) 4294967295
-(S64) -4294967039
-(U16) 256 - (U64) 4294967296
+256 - -2147483647
+2147483903
+256 - -32768
+33024
+256 - -32767
+33023
+256 - -128
+384
+256 - -127
+383
+256 - 255
+1
+256 - 256
+0
+256 - 65535
+-65279
+256 - 65536
+-65280
+256 - 4294967295
+-4294967039
+256 - 4294967296
-4294967040
-(U16) 256 - (U64) 18446744073709551615
+256 - 18446744073709551615
-18446744073709551359
-(U16) 256 - 18446744073709551616
+256 - 18446744073709551616
-18446744073709551360
-(U16) 256 - 340282366920938463463374607431768211455
+256 - 340282366920938463463374607431768211455
-340282366920938463463374607431768211199
-(U16) 256 - 340282366920938463463374607431768211456
+256 - 340282366920938463463374607431768211456
-340282366920938463463374607431768211200
-(U16) 65535 - -170141183460469231731687303715884105728
+65535 - -170141183460469231731687303715884105728
170141183460469231731687303715884171263
-(U16) 65535 - -170141183460469231731687303715884105727
+65535 - -170141183460469231731687303715884105727
170141183460469231731687303715884171262
-(U16) 65535 - -9223372036854775808
+65535 - -9223372036854775808
9223372036854841343
-(U16) 65535 - (S64) -9223372036854775807
+65535 - -9223372036854775807
9223372036854841342
-(U16) 65535 - (S64) -2147483648
+65535 - -2147483648
2147549183
-(U16) 65535 - (S32) -2147483647
-(S64) 2147549182
-(U16) 65535 - (S32) -32768
-(S64) 98303
-(U16) 65535 - (S16) -32767
-(S32) 98302
-(U16) 65535 - (S16) -128
-(S32) 65663
-(U16) 65535 - (S8) -127
-(S32) 65662
-(U16) 65535 - (U8) 255
-(S32) 65280
-(U16) 65535 - (U16) 256
-(S32) 65279
-(U16) 65535 - (U16) 65535
-(S32) 0
-(U16) 65535 - (U32) 65536
-(S64) -1
-(U16) 65535 - (U32) 4294967295
-(S64) -4294901760
-(U16) 65535 - (U64) 4294967296
+65535 - -2147483647
+2147549182
+65535 - -32768
+98303
+65535 - -32767
+98302
+65535 - -128
+65663
+65535 - -127
+65662
+65535 - 255
+65280
+65535 - 256
+65279
+65535 - 65535
+0
+65535 - 65536
+-1
+65535 - 4294967295
+-4294901760
+65535 - 4294967296
-4294901761
-(U16) 65535 - (U64) 18446744073709551615
+65535 - 18446744073709551615
-18446744073709486080
-(U16) 65535 - 18446744073709551616
+65535 - 18446744073709551616
-18446744073709486081
-(U16) 65535 - 340282366920938463463374607431768211455
+65535 - 340282366920938463463374607431768211455
-340282366920938463463374607431768145920
-(U16) 65535 - 340282366920938463463374607431768211456
+65535 - 340282366920938463463374607431768211456
-340282366920938463463374607431768145921
-(U32) 65536 - -170141183460469231731687303715884105728
+65536 - -170141183460469231731687303715884105728
170141183460469231731687303715884171264
-(U32) 65536 - -170141183460469231731687303715884105727
+65536 - -170141183460469231731687303715884105727
170141183460469231731687303715884171263
-(U32) 65536 - -9223372036854775808
+65536 - -9223372036854775808
9223372036854841344
-(U32) 65536 - (S64) -9223372036854775807
+65536 - -9223372036854775807
9223372036854841343
-(U32) 65536 - (S64) -2147483648
+65536 - -2147483648
2147549184
-(U32) 65536 - (S32) -2147483647
-(S64) 2147549183
-(U32) 65536 - (S32) -32768
-(S64) 98304
-(U32) 65536 - (S16) -32767
-(S64) 98303
-(U32) 65536 - (S16) -128
-(S64) 65664
-(U32) 65536 - (S8) -127
-(S64) 65663
-(U32) 65536 - (U8) 255
-(S64) 65281
-(U32) 65536 - (U16) 256
-(S64) 65280
-(U32) 65536 - (U16) 65535
-(S64) 1
-(U32) 65536 - (U32) 65536
-(S64) 0
-(U32) 65536 - (U32) 4294967295
-(S64) -4294901759
-(U32) 65536 - (U64) 4294967296
+65536 - -2147483647
+2147549183
+65536 - -32768
+98304
+65536 - -32767
+98303
+65536 - -128
+65664
+65536 - -127
+65663
+65536 - 255
+65281
+65536 - 256
+65280
+65536 - 65535
+1
+65536 - 65536
+0
+65536 - 4294967295
+-4294901759
+65536 - 4294967296
-4294901760
-(U32) 65536 - (U64) 18446744073709551615
+65536 - 18446744073709551615
-18446744073709486079
-(U32) 65536 - 18446744073709551616
+65536 - 18446744073709551616
-18446744073709486080
-(U32) 65536 - 340282366920938463463374607431768211455
+65536 - 340282366920938463463374607431768211455
-340282366920938463463374607431768145919
-(U32) 65536 - 340282366920938463463374607431768211456
+65536 - 340282366920938463463374607431768211456
-340282366920938463463374607431768145920
-(U32) 4294967295 - -170141183460469231731687303715884105728
+4294967295 - -170141183460469231731687303715884105728
170141183460469231731687303720179073023
-(U32) 4294967295 - -170141183460469231731687303715884105727
+4294967295 - -170141183460469231731687303715884105727
170141183460469231731687303720179073022
-(U32) 4294967295 - -9223372036854775808
+4294967295 - -9223372036854775808
9223372041149743103
-(U32) 4294967295 - (S64) -9223372036854775807
+4294967295 - -9223372036854775807
9223372041149743102
-(U32) 4294967295 - (S64) -2147483648
+4294967295 - -2147483648
6442450943
-(U32) 4294967295 - (S32) -2147483647
-(S64) 6442450942
-(U32) 4294967295 - (S32) -32768
-(S64) 4295000063
-(U32) 4294967295 - (S16) -32767
-(S64) 4295000062
-(U32) 4294967295 - (S16) -128
-(S64) 4294967423
-(U32) 4294967295 - (S8) -127
-(S64) 4294967422
-(U32) 4294967295 - (U8) 255
-(S64) 4294967040
-(U32) 4294967295 - (U16) 256
-(S64) 4294967039
-(U32) 4294967295 - (U16) 65535
-(S64) 4294901760
-(U32) 4294967295 - (U32) 65536
-(S64) 4294901759
-(U32) 4294967295 - (U32) 4294967295
-(S64) 0
-(U32) 4294967295 - (U64) 4294967296
+4294967295 - -2147483647
+6442450942
+4294967295 - -32768
+4295000063
+4294967295 - -32767
+4295000062
+4294967295 - -128
+4294967423
+4294967295 - -127
+4294967422
+4294967295 - 255
+4294967040
+4294967295 - 256
+4294967039
+4294967295 - 65535
+4294901760
+4294967295 - 65536
+4294901759
+4294967295 - 4294967295
+0
+4294967295 - 4294967296
-1
-(U32) 4294967295 - (U64) 18446744073709551615
+4294967295 - 18446744073709551615
-18446744069414584320
-(U32) 4294967295 - 18446744073709551616
+4294967295 - 18446744073709551616
-18446744069414584321
-(U32) 4294967295 - 340282366920938463463374607431768211455
+4294967295 - 340282366920938463463374607431768211455
-340282366920938463463374607427473244160
-(U32) 4294967295 - 340282366920938463463374607431768211456
+4294967295 - 340282366920938463463374607431768211456
-340282366920938463463374607427473244161
-(U64) 4294967296 - -170141183460469231731687303715884105728
+4294967296 - -170141183460469231731687303715884105728
170141183460469231731687303720179073024
-(U64) 4294967296 - -170141183460469231731687303715884105727
+4294967296 - -170141183460469231731687303715884105727
170141183460469231731687303720179073023
-(U64) 4294967296 - -9223372036854775808
+4294967296 - -9223372036854775808
9223372041149743104
-(U64) 4294967296 - (S64) -9223372036854775807
+4294967296 - -9223372036854775807
9223372041149743103
-(U64) 4294967296 - (S64) -2147483648
+4294967296 - -2147483648
6442450944
-(U64) 4294967296 - (S32) -2147483647
+4294967296 - -2147483647
6442450943
-(U64) 4294967296 - (S32) -32768
+4294967296 - -32768
4295000064
-(U64) 4294967296 - (S16) -32767
+4294967296 - -32767
4295000063
-(U64) 4294967296 - (S16) -128
+4294967296 - -128
4294967424
-(U64) 4294967296 - (S8) -127
+4294967296 - -127
4294967423
-(U64) 4294967296 - (U8) 255
+4294967296 - 255
4294967041
-(U64) 4294967296 - (U16) 256
+4294967296 - 256
4294967040
-(U64) 4294967296 - (U16) 65535
+4294967296 - 65535
4294901761
-(U64) 4294967296 - (U32) 65536
+4294967296 - 65536
4294901760
-(U64) 4294967296 - (U32) 4294967295
+4294967296 - 4294967295
1
-(U64) 4294967296 - (U64) 4294967296
+4294967296 - 4294967296
0
-(U64) 4294967296 - (U64) 18446744073709551615
+4294967296 - 18446744073709551615
-18446744069414584319
-(U64) 4294967296 - 18446744073709551616
+4294967296 - 18446744073709551616
-18446744069414584320
-(U64) 4294967296 - 340282366920938463463374607431768211455
+4294967296 - 340282366920938463463374607431768211455
-340282366920938463463374607427473244159
-(U64) 4294967296 - 340282366920938463463374607431768211456
+4294967296 - 340282366920938463463374607431768211456
-340282366920938463463374607427473244160
-(U64) 18446744073709551615 - -170141183460469231731687303715884105728
+18446744073709551615 - -170141183460469231731687303715884105728
170141183460469231750134047789593657343
-(U64) 18446744073709551615 - -170141183460469231731687303715884105727
+18446744073709551615 - -170141183460469231731687303715884105727
170141183460469231750134047789593657342
-(U64) 18446744073709551615 - -9223372036854775808
+18446744073709551615 - -9223372036854775808
27670116110564327423
-(U64) 18446744073709551615 - (S64) -9223372036854775807
+18446744073709551615 - -9223372036854775807
27670116110564327422
-(U64) 18446744073709551615 - (S64) -2147483648
+18446744073709551615 - -2147483648
18446744075857035263
-(U64) 18446744073709551615 - (S32) -2147483647
+18446744073709551615 - -2147483647
18446744075857035262
-(U64) 18446744073709551615 - (S32) -32768
+18446744073709551615 - -32768
18446744073709584383
-(U64) 18446744073709551615 - (S16) -32767
+18446744073709551615 - -32767
18446744073709584382
-(U64) 18446744073709551615 - (S16) -128
+18446744073709551615 - -128
18446744073709551743
-(U64) 18446744073709551615 - (S8) -127
+18446744073709551615 - -127
18446744073709551742
-(U64) 18446744073709551615 - (U8) 255
+18446744073709551615 - 255
18446744073709551360
-(U64) 18446744073709551615 - (U16) 256
+18446744073709551615 - 256
18446744073709551359
-(U64) 18446744073709551615 - (U16) 65535
+18446744073709551615 - 65535
18446744073709486080
-(U64) 18446744073709551615 - (U32) 65536
+18446744073709551615 - 65536
18446744073709486079
-(U64) 18446744073709551615 - (U32) 4294967295
+18446744073709551615 - 4294967295
18446744069414584320
-(U64) 18446744073709551615 - (U64) 4294967296
+18446744073709551615 - 4294967296
18446744069414584319
-(U64) 18446744073709551615 - (U64) 18446744073709551615
+18446744073709551615 - 18446744073709551615
0
-(U64) 18446744073709551615 - 18446744073709551616
+18446744073709551615 - 18446744073709551616
-1
-(U64) 18446744073709551615 - 340282366920938463463374607431768211455
+18446744073709551615 - 340282366920938463463374607431768211455
-340282366920938463444927863358058659840
-(U64) 18446744073709551615 - 340282366920938463463374607431768211456
+18446744073709551615 - 340282366920938463463374607431768211456
-340282366920938463444927863358058659841
18446744073709551616 - -170141183460469231731687303715884105728
170141183460469231750134047789593657344
@@ -684,33 +684,33 @@
170141183460469231750134047789593657343
18446744073709551616 - -9223372036854775808
27670116110564327424
-18446744073709551616 - (S64) -9223372036854775807
+18446744073709551616 - -9223372036854775807
27670116110564327423
-18446744073709551616 - (S64) -2147483648
+18446744073709551616 - -2147483648
18446744075857035264
-18446744073709551616 - (S32) -2147483647
+18446744073709551616 - -2147483647
18446744075857035263
-18446744073709551616 - (S32) -32768
+18446744073709551616 - -32768
18446744073709584384
-18446744073709551616 - (S16) -32767
+18446744073709551616 - -32767
18446744073709584383
-18446744073709551616 - (S16) -128
+18446744073709551616 - -128
18446744073709551744
-18446744073709551616 - (S8) -127
+18446744073709551616 - -127
18446744073709551743
-18446744073709551616 - (U8) 255
+18446744073709551616 - 255
18446744073709551361
-18446744073709551616 - (U16) 256
+18446744073709551616 - 256
18446744073709551360
-18446744073709551616 - (U16) 65535
+18446744073709551616 - 65535
18446744073709486081
-18446744073709551616 - (U32) 65536
+18446744073709551616 - 65536
18446744073709486080
-18446744073709551616 - (U32) 4294967295
+18446744073709551616 - 4294967295
18446744069414584321
-18446744073709551616 - (U64) 4294967296
+18446744073709551616 - 4294967296
18446744069414584320
-18446744073709551616 - (U64) 18446744073709551615
+18446744073709551616 - 18446744073709551615
1
18446744073709551616 - 18446744073709551616
0
@@ -724,33 +724,33 @@
510423550381407695195061911147652317182
340282366920938463463374607431768211455 - -9223372036854775808
340282366920938463472597979468622987263
-340282366920938463463374607431768211455 - (S64) -9223372036854775807
+340282366920938463463374607431768211455 - -9223372036854775807
340282366920938463472597979468622987262
-340282366920938463463374607431768211455 - (S64) -2147483648
+340282366920938463463374607431768211455 - -2147483648
340282366920938463463374607433915695103
-340282366920938463463374607431768211455 - (S32) -2147483647
+340282366920938463463374607431768211455 - -2147483647
340282366920938463463374607433915695102
-340282366920938463463374607431768211455 - (S32) -32768
+340282366920938463463374607431768211455 - -32768
340282366920938463463374607431768244223
-340282366920938463463374607431768211455 - (S16) -32767
+340282366920938463463374607431768211455 - -32767
340282366920938463463374607431768244222
-340282366920938463463374607431768211455 - (S16) -128
+340282366920938463463374607431768211455 - -128
340282366920938463463374607431768211583
-340282366920938463463374607431768211455 - (S8) -127
+340282366920938463463374607431768211455 - -127
340282366920938463463374607431768211582
-340282366920938463463374607431768211455 - (U8) 255
+340282366920938463463374607431768211455 - 255
340282366920938463463374607431768211200
-340282366920938463463374607431768211455 - (U16) 256
+340282366920938463463374607431768211455 - 256
340282366920938463463374607431768211199
-340282366920938463463374607431768211455 - (U16) 65535
+340282366920938463463374607431768211455 - 65535
340282366920938463463374607431768145920
-340282366920938463463374607431768211455 - (U32) 65536
+340282366920938463463374607431768211455 - 65536
340282366920938463463374607431768145919
-340282366920938463463374607431768211455 - (U32) 4294967295
+340282366920938463463374607431768211455 - 4294967295
340282366920938463463374607427473244160
-340282366920938463463374607431768211455 - (U64) 4294967296
+340282366920938463463374607431768211455 - 4294967296
340282366920938463463374607427473244159
-340282366920938463463374607431768211455 - (U64) 18446744073709551615
+340282366920938463463374607431768211455 - 18446744073709551615
340282366920938463444927863358058659840
340282366920938463463374607431768211455 - 18446744073709551616
340282366920938463444927863358058659839
@@ -764,33 +764,33 @@
510423550381407695195061911147652317183
340282366920938463463374607431768211456 - -9223372036854775808
340282366920938463472597979468622987264
-340282366920938463463374607431768211456 - (S64) -9223372036854775807
+340282366920938463463374607431768211456 - -9223372036854775807
340282366920938463472597979468622987263
-340282366920938463463374607431768211456 - (S64) -2147483648
+340282366920938463463374607431768211456 - -2147483648
340282366920938463463374607433915695104
-340282366920938463463374607431768211456 - (S32) -2147483647
+340282366920938463463374607431768211456 - -2147483647
340282366920938463463374607433915695103
-340282366920938463463374607431768211456 - (S32) -32768
+340282366920938463463374607431768211456 - -32768
340282366920938463463374607431768244224
-340282366920938463463374607431768211456 - (S16) -32767
+340282366920938463463374607431768211456 - -32767
340282366920938463463374607431768244223
-340282366920938463463374607431768211456 - (S16) -128
+340282366920938463463374607431768211456 - -128
340282366920938463463374607431768211584
-340282366920938463463374607431768211456 - (S8) -127
+340282366920938463463374607431768211456 - -127
340282366920938463463374607431768211583
-340282366920938463463374607431768211456 - (U8) 255
+340282366920938463463374607431768211456 - 255
340282366920938463463374607431768211201
-340282366920938463463374607431768211456 - (U16) 256
+340282366920938463463374607431768211456 - 256
340282366920938463463374607431768211200
-340282366920938463463374607431768211456 - (U16) 65535
+340282366920938463463374607431768211456 - 65535
340282366920938463463374607431768145921
-340282366920938463463374607431768211456 - (U32) 65536
+340282366920938463463374607431768211456 - 65536
340282366920938463463374607431768145920
-340282366920938463463374607431768211456 - (U32) 4294967295
+340282366920938463463374607431768211456 - 4294967295
340282366920938463463374607427473244161
-340282366920938463463374607431768211456 - (U64) 4294967296
+340282366920938463463374607431768211456 - 4294967296
340282366920938463463374607427473244160
-340282366920938463463374607431768211456 - (U64) 18446744073709551615
+340282366920938463463374607431768211456 - 18446744073709551615
340282366920938463444927863358058659841
340282366920938463463374607431768211456 - 18446744073709551616
340282366920938463444927863358058659840
diff --git a/test/ikc3/let.out.expected b/test/ikc3/let.out.expected
index 31d5135..fe1a2bb 100644
--- a/test/ikc3/let.out.expected
+++ b/test/ikc3/let.out.expected
@@ -1,8 +1,8 @@
-let %{a: (U8) 1} do
+let %{a: 1} do
a
end
-(U8) 1
-let %{a: (U8) 1, b: (U8) 2} do
+1
+let %{a: 1, b: 2} do
a + b
end
-(U8) 3
+3
diff --git a/test/ikc3/list.out.expected b/test/ikc3/list.out.expected
index 774ba29..7837778 100644
--- a/test/ikc3/list.out.expected
+++ b/test/ikc3/list.out.expected
@@ -20,7 +20,7 @@
[:a, :b, :c, :d]
[:a, :b, :c | :d]
[:a, :b, :c | :d]
-List.map([(U8) 1, (U8) 2, (U8) 3, (U8) 4], fn (x) { x * (U8) 2 })
-[(U16) 2, (U16) 4, (U16) 6, (U16) 8]
-List.reverse([(U8) 1, (U8) 2, (U8) 3, (U8) 4])
-[(U8) 4, (U8) 3, (U8) 2, (U8) 1]
+List.map([1, 2, 3, 4], fn (x) { x * 2 })
+[2, 4, 6, 8]
+List.reverse([1, 2, 3, 4])
+[4, 3, 2, 1]
diff --git a/test/ikc3/map.out.expected b/test/ikc3/map.out.expected
index 506afb3..4deb429 100644
--- a/test/ikc3/map.out.expected
+++ b/test/ikc3/map.out.expected
@@ -1,55 +1,55 @@
%{}
%{}
-%{a: (U8) 1}
-%{a: (U8) 1}
-%{a: (U8) 1, b: (U8) 2}
-%{a: (U8) 1, b: (U8) 2}
-%{a: (U8) 1, b: (U8) 2, c: (U8) 3}
-%{a: (U8) 1, b: (U8) 2, c: (U8) 3}
-%{a: (U8) 3, b: (U8) 2, c: (U8) 1}
-%{a: (U8) 3, b: (U8) 2, c: (U8) 1}
-%{"a" => (U8) 1}
-%{"a" => (U8) 1}
-%{"a" => (U8) 1, "b" => (U8) 2}
-%{"a" => (U8) 1, "b" => (U8) 2}
-%{"a" => (U8) 1, "b" => (U8) 2, "c" => (U8) 3}
-%{"a" => (U8) 1, "b" => (U8) 2, "c" => (U8) 3}
-%{"a" => (U8) 3, "b" => (U8) 2, "c" => (U8) 1}
-%{"a" => (U8) 3, "b" => (U8) 2, "c" => (U8) 1}
-%{(U8) 1 => (U8) 1}
-%{(U8) 1 => (U8) 1}
-%{(U8) 1 => (U8) 1, (U8) 2 => (U8) 2}
-%{(U8) 1 => (U8) 1, (U8) 2 => (U8) 2}
-%{(U8) 1 => (U8) 1, (U8) 2 => (U8) 2, (U8) 3 => (U8) 3}
-%{(U8) 1 => (U8) 1, (U8) 2 => (U8) 2, (U8) 3 => (U8) 3}
-%{(U8) 1 => (U8) 3, (U8) 2 => (U8) 2, (U8) 3 => (U8) 1}
-%{(U8) 1 => (U8) 3, (U8) 2 => (U8) 2, (U8) 3 => (U8) 1}
-%{(U8) 1 + (U8) 1 => (U8) 2 + (U8) 2}
-%{(U8) 2 => (U8) 4}
-%{(U8) 1 + (U8) 1 => (U8) 2 + (U8) 2, (U8) 3 + (U8) 3 => (U8) 4 + (U8) 4}
-%{(U8) 2 => (U8) 4, (U8) 6 => (U8) 8}
-%{(U8) 1 + (U8) 1 => (U8) 2 + (U8) 2, (U8) 3 + (U8) 3 => (U8) 4 + (U8) 4, (U8) 5 + (U8) 5 => (U8) 6 + (U8) 6}
-%{(U8) 2 => (U8) 4, (U8) 6 => (U8) 8, (U8) 10 => (U8) 12}
-%{(U8) 4 + (U8) 4 => (U8) 3 + (U8) 3, (U8) 5 + (U8) 5 => (U8) 2 + (U8) 2, (U8) 6 + (U8) 6 => (U8) 1 + (U8) 1}
-%{(U8) 8 => (U8) 6, (U8) 10 => (U8) 4, (U8) 12 => (U8) 2}
-%{a: (U8) 1}
-%{a: (U8) 1}
-%{a: (U8) 1, b: (U8) 2}
-%{a: (U8) 1, b: (U8) 2}
-%{a: (U8) 1, b: (U8) 2, c: (U8) 3}
-%{a: (U8) 1, b: (U8) 2, c: (U8) 3}
-%{a: (U8) 3, b: (U8) 2, c: (U8) 1}
-%{a: (U8) 3, b: (U8) 2, c: (U8) 1}
-%{} = %{a: (U8) 1, b: (U8) 2}
-%{a: (U8) 1, b: (U8) 2}
-%{a: a} = %{a: (U8) 1, b: (U8) 2}
-%{a: (U8) 1, b: (U8) 2}
+%{a: 1}
+%{a: 1}
+%{a: 1, b: 2}
+%{a: 1, b: 2}
+%{a: 1, b: 2, c: 3}
+%{a: 1, b: 2, c: 3}
+%{a: 3, b: 2, c: 1}
+%{a: 3, b: 2, c: 1}
+%{"a" => 1}
+%{"a" => 1}
+%{"a" => 1, "b" => 2}
+%{"a" => 1, "b" => 2}
+%{"a" => 1, "b" => 2, "c" => 3}
+%{"a" => 1, "b" => 2, "c" => 3}
+%{"a" => 3, "b" => 2, "c" => 1}
+%{"a" => 3, "b" => 2, "c" => 1}
+%{1 => 1}
+%{1 => 1}
+%{1 => 1, 2 => 2}
+%{1 => 1, 2 => 2}
+%{1 => 1, 2 => 2, 3 => 3}
+%{1 => 1, 2 => 2, 3 => 3}
+%{1 => 3, 2 => 2, 3 => 1}
+%{1 => 3, 2 => 2, 3 => 1}
+%{1 + 1 => 2 + 2}
+%{2 => 4}
+%{1 + 1 => 2 + 2, 3 + 3 => 4 + 4}
+%{2 => 4, 6 => 8}
+%{1 + 1 => 2 + 2, 3 + 3 => 4 + 4, 5 + 5 => 6 + 6}
+%{2 => 4, 6 => 8, 10 => 12}
+%{4 + 4 => 3 + 3, 5 + 5 => 2 + 2, 6 + 6 => 1 + 1}
+%{8 => 6, 10 => 4, 12 => 2}
+%{a: 1}
+%{a: 1}
+%{a: 1, b: 2}
+%{a: 1, b: 2}
+%{a: 1, b: 2, c: 3}
+%{a: 1, b: 2, c: 3}
+%{a: 3, b: 2, c: 1}
+%{a: 3, b: 2, c: 1}
+%{} = %{a: 1, b: 2}
+%{a: 1, b: 2}
+%{a: a} = %{a: 1, b: 2}
+%{a: 1, b: 2}
a
-(U8) 1
-%{b: b} = %{a: (U8) 1, b: (U8) 2}
-%{a: (U8) 1, b: (U8) 2}
+1
+%{b: b} = %{a: 1, b: 2}
+%{a: 1, b: 2}
b
-(U8) 2
+2
%{a: A, b: A} < %{a: A, b: A}
false
%{a: A, b: A} < %{a: A, c: A}
diff --git a/test/ikc3/op.out.expected b/test/ikc3/op.out.expected
index fdb2126..7ff43c5 100644
--- a/test/ikc3/op.out.expected
+++ b/test/ikc3/op.out.expected
@@ -1,14 +1,14 @@
-(U8) 1 + (U8) 20
-(U8) 21
-(U8) 1 + (U8) 20 / (U8) 3
-(U8) 7
-(U8) 1 + (U8) 20 / (U8) 3 * (U8) 4
-(U16) 25
-(U8) 1 + (U8) 20 / (U8) 3 * (U8) 4 - (U8) 5
-(S32) 20
-(U8) 20 / (U8) 3 * (U8) 4 - (U8) 5
-(S32) 19
-((U8) 1 + (U8) 20)
-(U8) 21
-a = ((U8) 1 + (U8) 20)
-(U8) 21
+1 + 20
+21
+1 + 20 / 3
+7
+1 + 20 / 3 * 4
+25
+1 + 20 / 3 * 4 - 5
+20
+20 / 3 * 4 - 5
+19
+(1 + 20)
+21
+a = (1 + 20)
+21
diff --git a/test/ikc3/plist.out.expected b/test/ikc3/plist.out.expected
index 5da71d0..5b5b6f2 100644
--- a/test/ikc3/plist.out.expected
+++ b/test/ikc3/plist.out.expected
@@ -1,6 +1,6 @@
-[a: (U8) 1]
-[a: (U8) 1]
-[a: (U8) 1, b: (U8) 2]
-[a: (U8) 1, b: (U8) 2]
-[a: (U8) 1, b: (U8) 2, c: (U8) 3]
-[a: (U8) 1, b: (U8) 2, c: (U8) 3]
+[a: 1]
+[a: 1]
+[a: 1, b: 2]
+[a: 1, b: 2]
+[a: 1, b: 2, c: 3]
+[a: 1, b: 2, c: 3]
diff --git a/test/ikc3/quote.out.expected b/test/ikc3/quote.out.expected
index 08cea6e..1907e64 100644
--- a/test/ikc3/quote.out.expected
+++ b/test/ikc3/quote.out.expected
@@ -1,35 +1,35 @@
-(U8) 1
-a = (U8) 1 + (U8) 1
+1
+a = 1 + 1
a + a
-%{a: (U8) 1}
-%{"a" => (U8) 1}
-%{(U8) 1 => (U8) 1}
-%{(U8) 1 + (U8) 1 => (U8) 1}
-%{(U8) 1 => (U8) 1 + (U8) 1}
-quote (U8) 1
-quote a = (U8) 1 + (U8) 1
+%{a: 1}
+%{"a" => 1}
+%{1 => 1}
+%{1 + 1 => 1}
+%{1 => 1 + 1}
+quote 1
+quote a = 1 + 1
quote a + a
-quote %{a: (U8) 1}
-quote %{"a" => (U8) 1}
-quote %{(U8) 1 => (U8) 1}
-quote %{(U8) 1 + (U8) 1 => (U8) 1}
-quote %{(U8) 1 => (U8) 1 + (U8) 1}
-quote (U8) 1
-quote a = (U8) 1 + (U8) 1
+quote %{a: 1}
+quote %{"a" => 1}
+quote %{1 => 1}
+quote %{1 + 1 => 1}
+quote %{1 => 1 + 1}
+quote 1
+quote a = 1 + 1
quote a + a
-quote %{a: (U8) 1}
-quote %{"a" => (U8) 1}
-quote %{(U8) 1 => (U8) 1}
-quote %{(U8) 1 => (U8) 1}
-quote %{(U8) 1 + (U8) 1 => (U8) 1}
-quote %{(U8) 1 => (U8) 1 + (U8) 1}
-quote %{unquote((U8) 1 + (U8) 1) => (U8) 1}
-quote %{(U8) 1 => unquote((U8) 1 + (U8) 1)}
-(U8) 1
-(U8) 2
-(U8) 4
-%{a: (U8) 1}
-%{"a" => (U8) 1}
-%{(U8) 1 => (U8) 1}
-%{(U8) 2 => (U8) 1}
-%{(U8) 1 => (U8) 2}
+quote %{a: 1}
+quote %{"a" => 1}
+quote %{1 => 1}
+quote %{1 => 1}
+quote %{1 + 1 => 1}
+quote %{1 => 1 + 1}
+quote %{unquote(1 + 1) => 1}
+quote %{1 => unquote(1 + 1)}
+1
+2
+4
+%{a: 1}
+%{"a" => 1}
+%{1 => 1}
+%{2 => 1}
+%{1 => 2}
diff --git a/test/ikc3/ratio.out.expected b/test/ikc3/ratio.out.expected
index f0ae05b..bf835a0 100644
--- a/test/ikc3/ratio.out.expected
+++ b/test/ikc3/ratio.out.expected
@@ -30,7 +30,7 @@
123456/3
1/3 + 1/6
1/2
-1/2 + (U8) 1
+1/2 + 1
3/2
1/3 - 1/6
1/6
diff --git a/test/ikc3/str.out.expected b/test/ikc3/str.out.expected
index bb6f431..1189555 100644
--- a/test/ikc3/str.out.expected
+++ b/test/ikc3/str.out.expected
@@ -31,14 +31,14 @@
"abc\ndef\n"
"abc\ndef"
"abc\ndef"
-"1 + 2 = #{(U8) 1 + (U8) 2}"
+"1 + 2 = #{1 + 2}"
"1 + 2 = 3"
-"#{%{a: (U8) 1, b: (U8) 2}}"
-"%{a: (U8) 1, b: (U8) 2}"
+"#{%{a: 1, b: 2}}"
+"%{a: 1, b: 2}"
"#{%KC3.Operator{}}"
-"%KC3.Operator{sym: :+, symbol_value: ?, operator_precedence: (U8) 0, operator_associativity: :left}"
-"#{%KC3.Operator{sym: :-}}"
-"%KC3.Operator{sym: :-, symbol_value: ?, operator_precedence: (U8) 0, operator_associativity: :left}"
+"%KC3.Operator{sym: :+, symbol_value: ?, operator_precedence: 0, operator_associativity: :left}"
+"#{%KC3.Operator{sym: :-, symbol_value: ?, operator_precedence: 0, operator_associativity: :left}}"
+"%KC3.Operator{sym: :-, symbol_value: ?, operator_precedence: 0, operator_associativity: :left}"
"#{false}"
"false"
"#{(Ptr) 0}"