diff --git a/libc3/tag.c b/libc3/tag.c
index 92c8952..e411887 100644
--- a/libc3/tag.c
+++ b/libc3/tag.c
@@ -6247,17 +6247,17 @@ s_tag * tag_neg (const s_tag *tag, s_tag *result)
}
return tag_init_s64(result, -tag->data.s64);
case TAG_S32:
- return tag_init_s64(result, -tag->data.s32);
+ return tag_init_s64(result, - (s64) tag->data.s32);
case TAG_S16:
- return tag_init_s32(result, -tag->data.s16);
+ return tag_init_s32(result, - (s32) tag->data.s16);
case TAG_S8:
- return tag_init_s16(result, -tag->data.s8);
+ return tag_init_s16(result, - (s16) tag->data.s8);
case TAG_U8:
- return tag_init_s16(result, -tag->data.u8);
+ return tag_init_s16(result, - (s16) tag->data.u8);
case TAG_U16:
- return tag_init_s32(result, -tag->data.u16);
+ return tag_init_s32(result, - (s32) tag->data.u16);
case TAG_U32:
- return tag_init_s64(result, -tag->data.u32);
+ return tag_init_s64(result, - (s64) tag->data.u32);
case TAG_U64:
integer_init_u64(&tmp, tag->data.u64);
result->type = TAG_INTEGER;
diff --git a/test/ic3/integer.lisp b/test/ic3/integer.lisp
index 240e065..705a143 100644
--- a/test/ic3/integer.lisp
+++ b/test/ic3/integer.lisp
@@ -22,12 +22,18 @@
(setf *print-case* :downcase)
-(defparameter *ops* '(+ - * / mod < == > ^ & bor))
+(defparameter *ops1* '(-))
+(defparameter *ops2* '(+ - * / mod < == > ^ & bor))
(defparameter *su* '(s u))
(defparameter *bits* '(8 16 32 64 128))
+(defgeneric ~ (a))
+
+(defmethod ~ (a)
+ (lognot a))
+
(defgeneric == (a b))
(defmethod == (a b)
@@ -122,6 +128,9 @@
(defgeneric op-to-str (op))
+(defmethod op-to-str ((op (eql '~)))
+ "bnot")
+
(defmethod op-to-str ((op (eql '+)))
"add")
@@ -161,23 +170,50 @@
(defmethod op-to-str (op)
(string-downcase (symbol-name op)))
-(dolist (op *ops*)
+(dolist (op *ops1*)
+ (with-open-file (ret (pathname
+ (concatenate
+ 'string "integer_" (op-to-str op) "_1.ret.expected"))
+ :direction :output
+ :element-type 'character
+ :if-exists :supersede)
+ (format ret "0~%"))
+ (with-open-file (expected (pathname
+ (concatenate
+ 'string "integer_" (op-to-str op) "_1.out.expected"))
+ :direction :output
+ :element-type 'character
+ :if-exists :supersede)
+ (with-open-file (in (pathname
+ (concatenate
+ 'string "integer_" (op-to-str op) "_1.in"))
+ :direction :output
+ :element-type 'character
+ :if-exists :supersede)
+ (do-numbers
+ (lambda (a)
+ (format expected "~A ~A~%" op a)
+ (format expected "~A~%" (translate (funcall op a)))
+ (format in "quote ~A ~A~%" op a)
+ (format in "~A ~A~%" op a))))))
+
+(dolist (op *ops2*)
(with-open-file (ret (pathname
(concatenate
- 'string "integer_" (op-to-str op) ".ret.expected"))
+ 'string "integer_" (op-to-str op) "_2.ret.expected"))
:direction :output
:element-type 'character
:if-exists :supersede)
(format ret "0~%"))
(with-open-file (expected (pathname
(concatenate
- 'string "integer_" (op-to-str op) ".out.expected"))
+ 'string "integer_" (op-to-str op) "_2.out.expected"))
:direction :output
:element-type 'character
:if-exists :supersede)
(with-open-file (in (pathname
(concatenate
- 'string "integer_" (op-to-str op) ".in"))
+ 'string "integer_" (op-to-str op) "_2.in"))
:direction :output
:element-type 'character
:if-exists :supersede)
diff --git a/test/ic3/integer_add.in b/test/ic3/integer_add.in
deleted file mode 100644
index bcb8fd3..0000000
--- a/test/ic3/integer_add.in
+++ /dev/null
@@ -1,800 +0,0 @@
-quote -170141183460469231731687303715884105728 + -170141183460469231731687303715884105728
--170141183460469231731687303715884105728 + -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105728 + -170141183460469231731687303715884105727
--170141183460469231731687303715884105728 + -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105728 + -9223372036854775808
--170141183460469231731687303715884105728 + -9223372036854775808
-quote -170141183460469231731687303715884105728 + -9223372036854775807
--170141183460469231731687303715884105728 + -9223372036854775807
-quote -170141183460469231731687303715884105728 + -2147483648
--170141183460469231731687303715884105728 + -2147483648
-quote -170141183460469231731687303715884105728 + -2147483647
--170141183460469231731687303715884105728 + -2147483647
-quote -170141183460469231731687303715884105728 + -32768
--170141183460469231731687303715884105728 + -32768
-quote -170141183460469231731687303715884105728 + -32767
--170141183460469231731687303715884105728 + -32767
-quote -170141183460469231731687303715884105728 + -128
--170141183460469231731687303715884105728 + -128
-quote -170141183460469231731687303715884105728 + -127
--170141183460469231731687303715884105728 + -127
-quote -170141183460469231731687303715884105728 + 255
--170141183460469231731687303715884105728 + 255
-quote -170141183460469231731687303715884105728 + 256
--170141183460469231731687303715884105728 + 256
-quote -170141183460469231731687303715884105728 + 65535
--170141183460469231731687303715884105728 + 65535
-quote -170141183460469231731687303715884105728 + 65536
--170141183460469231731687303715884105728 + 65536
-quote -170141183460469231731687303715884105728 + 4294967295
--170141183460469231731687303715884105728 + 4294967295
-quote -170141183460469231731687303715884105728 + 4294967296
--170141183460469231731687303715884105728 + 4294967296
-quote -170141183460469231731687303715884105728 + 18446744073709551615
--170141183460469231731687303715884105728 + 18446744073709551615
-quote -170141183460469231731687303715884105728 + 18446744073709551616
--170141183460469231731687303715884105728 + 18446744073709551616
-quote -170141183460469231731687303715884105728 + 340282366920938463463374607431768211455
--170141183460469231731687303715884105728 + 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105728 + 340282366920938463463374607431768211456
--170141183460469231731687303715884105728 + 340282366920938463463374607431768211456
-quote -170141183460469231731687303715884105727 + -170141183460469231731687303715884105728
--170141183460469231731687303715884105727 + -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105727 + -170141183460469231731687303715884105727
--170141183460469231731687303715884105727 + -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105727 + -9223372036854775808
--170141183460469231731687303715884105727 + -9223372036854775808
-quote -170141183460469231731687303715884105727 + -9223372036854775807
--170141183460469231731687303715884105727 + -9223372036854775807
-quote -170141183460469231731687303715884105727 + -2147483648
--170141183460469231731687303715884105727 + -2147483648
-quote -170141183460469231731687303715884105727 + -2147483647
--170141183460469231731687303715884105727 + -2147483647
-quote -170141183460469231731687303715884105727 + -32768
--170141183460469231731687303715884105727 + -32768
-quote -170141183460469231731687303715884105727 + -32767
--170141183460469231731687303715884105727 + -32767
-quote -170141183460469231731687303715884105727 + -128
--170141183460469231731687303715884105727 + -128
-quote -170141183460469231731687303715884105727 + -127
--170141183460469231731687303715884105727 + -127
-quote -170141183460469231731687303715884105727 + 255
--170141183460469231731687303715884105727 + 255
-quote -170141183460469231731687303715884105727 + 256
--170141183460469231731687303715884105727 + 256
-quote -170141183460469231731687303715884105727 + 65535
--170141183460469231731687303715884105727 + 65535
-quote -170141183460469231731687303715884105727 + 65536
--170141183460469231731687303715884105727 + 65536
-quote -170141183460469231731687303715884105727 + 4294967295
--170141183460469231731687303715884105727 + 4294967295
-quote -170141183460469231731687303715884105727 + 4294967296
--170141183460469231731687303715884105727 + 4294967296
-quote -170141183460469231731687303715884105727 + 18446744073709551615
--170141183460469231731687303715884105727 + 18446744073709551615
-quote -170141183460469231731687303715884105727 + 18446744073709551616
--170141183460469231731687303715884105727 + 18446744073709551616
-quote -170141183460469231731687303715884105727 + 340282366920938463463374607431768211455
--170141183460469231731687303715884105727 + 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105727 + 340282366920938463463374607431768211456
--170141183460469231731687303715884105727 + 340282366920938463463374607431768211456
-quote -9223372036854775808 + -170141183460469231731687303715884105728
--9223372036854775808 + -170141183460469231731687303715884105728
-quote -9223372036854775808 + -170141183460469231731687303715884105727
--9223372036854775808 + -170141183460469231731687303715884105727
-quote -9223372036854775808 + -9223372036854775808
--9223372036854775808 + -9223372036854775808
-quote -9223372036854775808 + -9223372036854775807
--9223372036854775808 + -9223372036854775807
-quote -9223372036854775808 + -2147483648
--9223372036854775808 + -2147483648
-quote -9223372036854775808 + -2147483647
--9223372036854775808 + -2147483647
-quote -9223372036854775808 + -32768
--9223372036854775808 + -32768
-quote -9223372036854775808 + -32767
--9223372036854775808 + -32767
-quote -9223372036854775808 + -128
--9223372036854775808 + -128
-quote -9223372036854775808 + -127
--9223372036854775808 + -127
-quote -9223372036854775808 + 255
--9223372036854775808 + 255
-quote -9223372036854775808 + 256
--9223372036854775808 + 256
-quote -9223372036854775808 + 65535
--9223372036854775808 + 65535
-quote -9223372036854775808 + 65536
--9223372036854775808 + 65536
-quote -9223372036854775808 + 4294967295
--9223372036854775808 + 4294967295
-quote -9223372036854775808 + 4294967296
--9223372036854775808 + 4294967296
-quote -9223372036854775808 + 18446744073709551615
--9223372036854775808 + 18446744073709551615
-quote -9223372036854775808 + 18446744073709551616
--9223372036854775808 + 18446744073709551616
-quote -9223372036854775808 + 340282366920938463463374607431768211455
--9223372036854775808 + 340282366920938463463374607431768211455
-quote -9223372036854775808 + 340282366920938463463374607431768211456
--9223372036854775808 + 340282366920938463463374607431768211456
-quote -9223372036854775807 + -170141183460469231731687303715884105728
--9223372036854775807 + -170141183460469231731687303715884105728
-quote -9223372036854775807 + -170141183460469231731687303715884105727
--9223372036854775807 + -170141183460469231731687303715884105727
-quote -9223372036854775807 + -9223372036854775808
--9223372036854775807 + -9223372036854775808
-quote -9223372036854775807 + -9223372036854775807
--9223372036854775807 + -9223372036854775807
-quote -9223372036854775807 + -2147483648
--9223372036854775807 + -2147483648
-quote -9223372036854775807 + -2147483647
--9223372036854775807 + -2147483647
-quote -9223372036854775807 + -32768
--9223372036854775807 + -32768
-quote -9223372036854775807 + -32767
--9223372036854775807 + -32767
-quote -9223372036854775807 + -128
--9223372036854775807 + -128
-quote -9223372036854775807 + -127
--9223372036854775807 + -127
-quote -9223372036854775807 + 255
--9223372036854775807 + 255
-quote -9223372036854775807 + 256
--9223372036854775807 + 256
-quote -9223372036854775807 + 65535
--9223372036854775807 + 65535
-quote -9223372036854775807 + 65536
--9223372036854775807 + 65536
-quote -9223372036854775807 + 4294967295
--9223372036854775807 + 4294967295
-quote -9223372036854775807 + 4294967296
--9223372036854775807 + 4294967296
-quote -9223372036854775807 + 18446744073709551615
--9223372036854775807 + 18446744073709551615
-quote -9223372036854775807 + 18446744073709551616
--9223372036854775807 + 18446744073709551616
-quote -9223372036854775807 + 340282366920938463463374607431768211455
--9223372036854775807 + 340282366920938463463374607431768211455
-quote -9223372036854775807 + 340282366920938463463374607431768211456
--9223372036854775807 + 340282366920938463463374607431768211456
-quote -2147483648 + -170141183460469231731687303715884105728
--2147483648 + -170141183460469231731687303715884105728
-quote -2147483648 + -170141183460469231731687303715884105727
--2147483648 + -170141183460469231731687303715884105727
-quote -2147483648 + -9223372036854775808
--2147483648 + -9223372036854775808
-quote -2147483648 + -9223372036854775807
--2147483648 + -9223372036854775807
-quote -2147483648 + -2147483648
--2147483648 + -2147483648
-quote -2147483648 + -2147483647
--2147483648 + -2147483647
-quote -2147483648 + -32768
--2147483648 + -32768
-quote -2147483648 + -32767
--2147483648 + -32767
-quote -2147483648 + -128
--2147483648 + -128
-quote -2147483648 + -127
--2147483648 + -127
-quote -2147483648 + 255
--2147483648 + 255
-quote -2147483648 + 256
--2147483648 + 256
-quote -2147483648 + 65535
--2147483648 + 65535
-quote -2147483648 + 65536
--2147483648 + 65536
-quote -2147483648 + 4294967295
--2147483648 + 4294967295
-quote -2147483648 + 4294967296
--2147483648 + 4294967296
-quote -2147483648 + 18446744073709551615
--2147483648 + 18446744073709551615
-quote -2147483648 + 18446744073709551616
--2147483648 + 18446744073709551616
-quote -2147483648 + 340282366920938463463374607431768211455
--2147483648 + 340282366920938463463374607431768211455
-quote -2147483648 + 340282366920938463463374607431768211456
--2147483648 + 340282366920938463463374607431768211456
-quote -2147483647 + -170141183460469231731687303715884105728
--2147483647 + -170141183460469231731687303715884105728
-quote -2147483647 + -170141183460469231731687303715884105727
--2147483647 + -170141183460469231731687303715884105727
-quote -2147483647 + -9223372036854775808
--2147483647 + -9223372036854775808
-quote -2147483647 + -9223372036854775807
--2147483647 + -9223372036854775807
-quote -2147483647 + -2147483648
--2147483647 + -2147483648
-quote -2147483647 + -2147483647
--2147483647 + -2147483647
-quote -2147483647 + -32768
--2147483647 + -32768
-quote -2147483647 + -32767
--2147483647 + -32767
-quote -2147483647 + -128
--2147483647 + -128
-quote -2147483647 + -127
--2147483647 + -127
-quote -2147483647 + 255
--2147483647 + 255
-quote -2147483647 + 256
--2147483647 + 256
-quote -2147483647 + 65535
--2147483647 + 65535
-quote -2147483647 + 65536
--2147483647 + 65536
-quote -2147483647 + 4294967295
--2147483647 + 4294967295
-quote -2147483647 + 4294967296
--2147483647 + 4294967296
-quote -2147483647 + 18446744073709551615
--2147483647 + 18446744073709551615
-quote -2147483647 + 18446744073709551616
--2147483647 + 18446744073709551616
-quote -2147483647 + 340282366920938463463374607431768211455
--2147483647 + 340282366920938463463374607431768211455
-quote -2147483647 + 340282366920938463463374607431768211456
--2147483647 + 340282366920938463463374607431768211456
-quote -32768 + -170141183460469231731687303715884105728
--32768 + -170141183460469231731687303715884105728
-quote -32768 + -170141183460469231731687303715884105727
--32768 + -170141183460469231731687303715884105727
-quote -32768 + -9223372036854775808
--32768 + -9223372036854775808
-quote -32768 + -9223372036854775807
--32768 + -9223372036854775807
-quote -32768 + -2147483648
--32768 + -2147483648
-quote -32768 + -2147483647
--32768 + -2147483647
-quote -32768 + -32768
--32768 + -32768
-quote -32768 + -32767
--32768 + -32767
-quote -32768 + -128
--32768 + -128
-quote -32768 + -127
--32768 + -127
-quote -32768 + 255
--32768 + 255
-quote -32768 + 256
--32768 + 256
-quote -32768 + 65535
--32768 + 65535
-quote -32768 + 65536
--32768 + 65536
-quote -32768 + 4294967295
--32768 + 4294967295
-quote -32768 + 4294967296
--32768 + 4294967296
-quote -32768 + 18446744073709551615
--32768 + 18446744073709551615
-quote -32768 + 18446744073709551616
--32768 + 18446744073709551616
-quote -32768 + 340282366920938463463374607431768211455
--32768 + 340282366920938463463374607431768211455
-quote -32768 + 340282366920938463463374607431768211456
--32768 + 340282366920938463463374607431768211456
-quote -32767 + -170141183460469231731687303715884105728
--32767 + -170141183460469231731687303715884105728
-quote -32767 + -170141183460469231731687303715884105727
--32767 + -170141183460469231731687303715884105727
-quote -32767 + -9223372036854775808
--32767 + -9223372036854775808
-quote -32767 + -9223372036854775807
--32767 + -9223372036854775807
-quote -32767 + -2147483648
--32767 + -2147483648
-quote -32767 + -2147483647
--32767 + -2147483647
-quote -32767 + -32768
--32767 + -32768
-quote -32767 + -32767
--32767 + -32767
-quote -32767 + -128
--32767 + -128
-quote -32767 + -127
--32767 + -127
-quote -32767 + 255
--32767 + 255
-quote -32767 + 256
--32767 + 256
-quote -32767 + 65535
--32767 + 65535
-quote -32767 + 65536
--32767 + 65536
-quote -32767 + 4294967295
--32767 + 4294967295
-quote -32767 + 4294967296
--32767 + 4294967296
-quote -32767 + 18446744073709551615
--32767 + 18446744073709551615
-quote -32767 + 18446744073709551616
--32767 + 18446744073709551616
-quote -32767 + 340282366920938463463374607431768211455
--32767 + 340282366920938463463374607431768211455
-quote -32767 + 340282366920938463463374607431768211456
--32767 + 340282366920938463463374607431768211456
-quote -128 + -170141183460469231731687303715884105728
--128 + -170141183460469231731687303715884105728
-quote -128 + -170141183460469231731687303715884105727
--128 + -170141183460469231731687303715884105727
-quote -128 + -9223372036854775808
--128 + -9223372036854775808
-quote -128 + -9223372036854775807
--128 + -9223372036854775807
-quote -128 + -2147483648
--128 + -2147483648
-quote -128 + -2147483647
--128 + -2147483647
-quote -128 + -32768
--128 + -32768
-quote -128 + -32767
--128 + -32767
-quote -128 + -128
--128 + -128
-quote -128 + -127
--128 + -127
-quote -128 + 255
--128 + 255
-quote -128 + 256
--128 + 256
-quote -128 + 65535
--128 + 65535
-quote -128 + 65536
--128 + 65536
-quote -128 + 4294967295
--128 + 4294967295
-quote -128 + 4294967296
--128 + 4294967296
-quote -128 + 18446744073709551615
--128 + 18446744073709551615
-quote -128 + 18446744073709551616
--128 + 18446744073709551616
-quote -128 + 340282366920938463463374607431768211455
--128 + 340282366920938463463374607431768211455
-quote -128 + 340282366920938463463374607431768211456
--128 + 340282366920938463463374607431768211456
-quote -127 + -170141183460469231731687303715884105728
--127 + -170141183460469231731687303715884105728
-quote -127 + -170141183460469231731687303715884105727
--127 + -170141183460469231731687303715884105727
-quote -127 + -9223372036854775808
--127 + -9223372036854775808
-quote -127 + -9223372036854775807
--127 + -9223372036854775807
-quote -127 + -2147483648
--127 + -2147483648
-quote -127 + -2147483647
--127 + -2147483647
-quote -127 + -32768
--127 + -32768
-quote -127 + -32767
--127 + -32767
-quote -127 + -128
--127 + -128
-quote -127 + -127
--127 + -127
-quote -127 + 255
--127 + 255
-quote -127 + 256
--127 + 256
-quote -127 + 65535
--127 + 65535
-quote -127 + 65536
--127 + 65536
-quote -127 + 4294967295
--127 + 4294967295
-quote -127 + 4294967296
--127 + 4294967296
-quote -127 + 18446744073709551615
--127 + 18446744073709551615
-quote -127 + 18446744073709551616
--127 + 18446744073709551616
-quote -127 + 340282366920938463463374607431768211455
--127 + 340282366920938463463374607431768211455
-quote -127 + 340282366920938463463374607431768211456
--127 + 340282366920938463463374607431768211456
-quote 255 + -170141183460469231731687303715884105728
-255 + -170141183460469231731687303715884105728
-quote 255 + -170141183460469231731687303715884105727
-255 + -170141183460469231731687303715884105727
-quote 255 + -9223372036854775808
-255 + -9223372036854775808
-quote 255 + -9223372036854775807
-255 + -9223372036854775807
-quote 255 + -2147483648
-255 + -2147483648
-quote 255 + -2147483647
-255 + -2147483647
-quote 255 + -32768
-255 + -32768
-quote 255 + -32767
-255 + -32767
-quote 255 + -128
-255 + -128
-quote 255 + -127
-255 + -127
-quote 255 + 255
-255 + 255
-quote 255 + 256
-255 + 256
-quote 255 + 65535
-255 + 65535
-quote 255 + 65536
-255 + 65536
-quote 255 + 4294967295
-255 + 4294967295
-quote 255 + 4294967296
-255 + 4294967296
-quote 255 + 18446744073709551615
-255 + 18446744073709551615
-quote 255 + 18446744073709551616
-255 + 18446744073709551616
-quote 255 + 340282366920938463463374607431768211455
-255 + 340282366920938463463374607431768211455
-quote 255 + 340282366920938463463374607431768211456
-255 + 340282366920938463463374607431768211456
-quote 256 + -170141183460469231731687303715884105728
-256 + -170141183460469231731687303715884105728
-quote 256 + -170141183460469231731687303715884105727
-256 + -170141183460469231731687303715884105727
-quote 256 + -9223372036854775808
-256 + -9223372036854775808
-quote 256 + -9223372036854775807
-256 + -9223372036854775807
-quote 256 + -2147483648
-256 + -2147483648
-quote 256 + -2147483647
-256 + -2147483647
-quote 256 + -32768
-256 + -32768
-quote 256 + -32767
-256 + -32767
-quote 256 + -128
-256 + -128
-quote 256 + -127
-256 + -127
-quote 256 + 255
-256 + 255
-quote 256 + 256
-256 + 256
-quote 256 + 65535
-256 + 65535
-quote 256 + 65536
-256 + 65536
-quote 256 + 4294967295
-256 + 4294967295
-quote 256 + 4294967296
-256 + 4294967296
-quote 256 + 18446744073709551615
-256 + 18446744073709551615
-quote 256 + 18446744073709551616
-256 + 18446744073709551616
-quote 256 + 340282366920938463463374607431768211455
-256 + 340282366920938463463374607431768211455
-quote 256 + 340282366920938463463374607431768211456
-256 + 340282366920938463463374607431768211456
-quote 65535 + -170141183460469231731687303715884105728
-65535 + -170141183460469231731687303715884105728
-quote 65535 + -170141183460469231731687303715884105727
-65535 + -170141183460469231731687303715884105727
-quote 65535 + -9223372036854775808
-65535 + -9223372036854775808
-quote 65535 + -9223372036854775807
-65535 + -9223372036854775807
-quote 65535 + -2147483648
-65535 + -2147483648
-quote 65535 + -2147483647
-65535 + -2147483647
-quote 65535 + -32768
-65535 + -32768
-quote 65535 + -32767
-65535 + -32767
-quote 65535 + -128
-65535 + -128
-quote 65535 + -127
-65535 + -127
-quote 65535 + 255
-65535 + 255
-quote 65535 + 256
-65535 + 256
-quote 65535 + 65535
-65535 + 65535
-quote 65535 + 65536
-65535 + 65536
-quote 65535 + 4294967295
-65535 + 4294967295
-quote 65535 + 4294967296
-65535 + 4294967296
-quote 65535 + 18446744073709551615
-65535 + 18446744073709551615
-quote 65535 + 18446744073709551616
-65535 + 18446744073709551616
-quote 65535 + 340282366920938463463374607431768211455
-65535 + 340282366920938463463374607431768211455
-quote 65535 + 340282366920938463463374607431768211456
-65535 + 340282366920938463463374607431768211456
-quote 65536 + -170141183460469231731687303715884105728
-65536 + -170141183460469231731687303715884105728
-quote 65536 + -170141183460469231731687303715884105727
-65536 + -170141183460469231731687303715884105727
-quote 65536 + -9223372036854775808
-65536 + -9223372036854775808
-quote 65536 + -9223372036854775807
-65536 + -9223372036854775807
-quote 65536 + -2147483648
-65536 + -2147483648
-quote 65536 + -2147483647
-65536 + -2147483647
-quote 65536 + -32768
-65536 + -32768
-quote 65536 + -32767
-65536 + -32767
-quote 65536 + -128
-65536 + -128
-quote 65536 + -127
-65536 + -127
-quote 65536 + 255
-65536 + 255
-quote 65536 + 256
-65536 + 256
-quote 65536 + 65535
-65536 + 65535
-quote 65536 + 65536
-65536 + 65536
-quote 65536 + 4294967295
-65536 + 4294967295
-quote 65536 + 4294967296
-65536 + 4294967296
-quote 65536 + 18446744073709551615
-65536 + 18446744073709551615
-quote 65536 + 18446744073709551616
-65536 + 18446744073709551616
-quote 65536 + 340282366920938463463374607431768211455
-65536 + 340282366920938463463374607431768211455
-quote 65536 + 340282366920938463463374607431768211456
-65536 + 340282366920938463463374607431768211456
-quote 4294967295 + -170141183460469231731687303715884105728
-4294967295 + -170141183460469231731687303715884105728
-quote 4294967295 + -170141183460469231731687303715884105727
-4294967295 + -170141183460469231731687303715884105727
-quote 4294967295 + -9223372036854775808
-4294967295 + -9223372036854775808
-quote 4294967295 + -9223372036854775807
-4294967295 + -9223372036854775807
-quote 4294967295 + -2147483648
-4294967295 + -2147483648
-quote 4294967295 + -2147483647
-4294967295 + -2147483647
-quote 4294967295 + -32768
-4294967295 + -32768
-quote 4294967295 + -32767
-4294967295 + -32767
-quote 4294967295 + -128
-4294967295 + -128
-quote 4294967295 + -127
-4294967295 + -127
-quote 4294967295 + 255
-4294967295 + 255
-quote 4294967295 + 256
-4294967295 + 256
-quote 4294967295 + 65535
-4294967295 + 65535
-quote 4294967295 + 65536
-4294967295 + 65536
-quote 4294967295 + 4294967295
-4294967295 + 4294967295
-quote 4294967295 + 4294967296
-4294967295 + 4294967296
-quote 4294967295 + 18446744073709551615
-4294967295 + 18446744073709551615
-quote 4294967295 + 18446744073709551616
-4294967295 + 18446744073709551616
-quote 4294967295 + 340282366920938463463374607431768211455
-4294967295 + 340282366920938463463374607431768211455
-quote 4294967295 + 340282366920938463463374607431768211456
-4294967295 + 340282366920938463463374607431768211456
-quote 4294967296 + -170141183460469231731687303715884105728
-4294967296 + -170141183460469231731687303715884105728
-quote 4294967296 + -170141183460469231731687303715884105727
-4294967296 + -170141183460469231731687303715884105727
-quote 4294967296 + -9223372036854775808
-4294967296 + -9223372036854775808
-quote 4294967296 + -9223372036854775807
-4294967296 + -9223372036854775807
-quote 4294967296 + -2147483648
-4294967296 + -2147483648
-quote 4294967296 + -2147483647
-4294967296 + -2147483647
-quote 4294967296 + -32768
-4294967296 + -32768
-quote 4294967296 + -32767
-4294967296 + -32767
-quote 4294967296 + -128
-4294967296 + -128
-quote 4294967296 + -127
-4294967296 + -127
-quote 4294967296 + 255
-4294967296 + 255
-quote 4294967296 + 256
-4294967296 + 256
-quote 4294967296 + 65535
-4294967296 + 65535
-quote 4294967296 + 65536
-4294967296 + 65536
-quote 4294967296 + 4294967295
-4294967296 + 4294967295
-quote 4294967296 + 4294967296
-4294967296 + 4294967296
-quote 4294967296 + 18446744073709551615
-4294967296 + 18446744073709551615
-quote 4294967296 + 18446744073709551616
-4294967296 + 18446744073709551616
-quote 4294967296 + 340282366920938463463374607431768211455
-4294967296 + 340282366920938463463374607431768211455
-quote 4294967296 + 340282366920938463463374607431768211456
-4294967296 + 340282366920938463463374607431768211456
-quote 18446744073709551615 + -170141183460469231731687303715884105728
-18446744073709551615 + -170141183460469231731687303715884105728
-quote 18446744073709551615 + -170141183460469231731687303715884105727
-18446744073709551615 + -170141183460469231731687303715884105727
-quote 18446744073709551615 + -9223372036854775808
-18446744073709551615 + -9223372036854775808
-quote 18446744073709551615 + -9223372036854775807
-18446744073709551615 + -9223372036854775807
-quote 18446744073709551615 + -2147483648
-18446744073709551615 + -2147483648
-quote 18446744073709551615 + -2147483647
-18446744073709551615 + -2147483647
-quote 18446744073709551615 + -32768
-18446744073709551615 + -32768
-quote 18446744073709551615 + -32767
-18446744073709551615 + -32767
-quote 18446744073709551615 + -128
-18446744073709551615 + -128
-quote 18446744073709551615 + -127
-18446744073709551615 + -127
-quote 18446744073709551615 + 255
-18446744073709551615 + 255
-quote 18446744073709551615 + 256
-18446744073709551615 + 256
-quote 18446744073709551615 + 65535
-18446744073709551615 + 65535
-quote 18446744073709551615 + 65536
-18446744073709551615 + 65536
-quote 18446744073709551615 + 4294967295
-18446744073709551615 + 4294967295
-quote 18446744073709551615 + 4294967296
-18446744073709551615 + 4294967296
-quote 18446744073709551615 + 18446744073709551615
-18446744073709551615 + 18446744073709551615
-quote 18446744073709551615 + 18446744073709551616
-18446744073709551615 + 18446744073709551616
-quote 18446744073709551615 + 340282366920938463463374607431768211455
-18446744073709551615 + 340282366920938463463374607431768211455
-quote 18446744073709551615 + 340282366920938463463374607431768211456
-18446744073709551615 + 340282366920938463463374607431768211456
-quote 18446744073709551616 + -170141183460469231731687303715884105728
-18446744073709551616 + -170141183460469231731687303715884105728
-quote 18446744073709551616 + -170141183460469231731687303715884105727
-18446744073709551616 + -170141183460469231731687303715884105727
-quote 18446744073709551616 + -9223372036854775808
-18446744073709551616 + -9223372036854775808
-quote 18446744073709551616 + -9223372036854775807
-18446744073709551616 + -9223372036854775807
-quote 18446744073709551616 + -2147483648
-18446744073709551616 + -2147483648
-quote 18446744073709551616 + -2147483647
-18446744073709551616 + -2147483647
-quote 18446744073709551616 + -32768
-18446744073709551616 + -32768
-quote 18446744073709551616 + -32767
-18446744073709551616 + -32767
-quote 18446744073709551616 + -128
-18446744073709551616 + -128
-quote 18446744073709551616 + -127
-18446744073709551616 + -127
-quote 18446744073709551616 + 255
-18446744073709551616 + 255
-quote 18446744073709551616 + 256
-18446744073709551616 + 256
-quote 18446744073709551616 + 65535
-18446744073709551616 + 65535
-quote 18446744073709551616 + 65536
-18446744073709551616 + 65536
-quote 18446744073709551616 + 4294967295
-18446744073709551616 + 4294967295
-quote 18446744073709551616 + 4294967296
-18446744073709551616 + 4294967296
-quote 18446744073709551616 + 18446744073709551615
-18446744073709551616 + 18446744073709551615
-quote 18446744073709551616 + 18446744073709551616
-18446744073709551616 + 18446744073709551616
-quote 18446744073709551616 + 340282366920938463463374607431768211455
-18446744073709551616 + 340282366920938463463374607431768211455
-quote 18446744073709551616 + 340282366920938463463374607431768211456
-18446744073709551616 + 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211455 + -170141183460469231731687303715884105728
-340282366920938463463374607431768211455 + -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211455 + -170141183460469231731687303715884105727
-340282366920938463463374607431768211455 + -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211455 + -9223372036854775808
-340282366920938463463374607431768211455 + -9223372036854775808
-quote 340282366920938463463374607431768211455 + -9223372036854775807
-340282366920938463463374607431768211455 + -9223372036854775807
-quote 340282366920938463463374607431768211455 + -2147483648
-340282366920938463463374607431768211455 + -2147483648
-quote 340282366920938463463374607431768211455 + -2147483647
-340282366920938463463374607431768211455 + -2147483647
-quote 340282366920938463463374607431768211455 + -32768
-340282366920938463463374607431768211455 + -32768
-quote 340282366920938463463374607431768211455 + -32767
-340282366920938463463374607431768211455 + -32767
-quote 340282366920938463463374607431768211455 + -128
-340282366920938463463374607431768211455 + -128
-quote 340282366920938463463374607431768211455 + -127
-340282366920938463463374607431768211455 + -127
-quote 340282366920938463463374607431768211455 + 255
-340282366920938463463374607431768211455 + 255
-quote 340282366920938463463374607431768211455 + 256
-340282366920938463463374607431768211455 + 256
-quote 340282366920938463463374607431768211455 + 65535
-340282366920938463463374607431768211455 + 65535
-quote 340282366920938463463374607431768211455 + 65536
-340282366920938463463374607431768211455 + 65536
-quote 340282366920938463463374607431768211455 + 4294967295
-340282366920938463463374607431768211455 + 4294967295
-quote 340282366920938463463374607431768211455 + 4294967296
-340282366920938463463374607431768211455 + 4294967296
-quote 340282366920938463463374607431768211455 + 18446744073709551615
-340282366920938463463374607431768211455 + 18446744073709551615
-quote 340282366920938463463374607431768211455 + 18446744073709551616
-340282366920938463463374607431768211455 + 18446744073709551616
-quote 340282366920938463463374607431768211455 + 340282366920938463463374607431768211455
-340282366920938463463374607431768211455 + 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211455 + 340282366920938463463374607431768211456
-340282366920938463463374607431768211455 + 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211456 + -170141183460469231731687303715884105728
-340282366920938463463374607431768211456 + -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211456 + -170141183460469231731687303715884105727
-340282366920938463463374607431768211456 + -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211456 + -9223372036854775808
-340282366920938463463374607431768211456 + -9223372036854775808
-quote 340282366920938463463374607431768211456 + -9223372036854775807
-340282366920938463463374607431768211456 + -9223372036854775807
-quote 340282366920938463463374607431768211456 + -2147483648
-340282366920938463463374607431768211456 + -2147483648
-quote 340282366920938463463374607431768211456 + -2147483647
-340282366920938463463374607431768211456 + -2147483647
-quote 340282366920938463463374607431768211456 + -32768
-340282366920938463463374607431768211456 + -32768
-quote 340282366920938463463374607431768211456 + -32767
-340282366920938463463374607431768211456 + -32767
-quote 340282366920938463463374607431768211456 + -128
-340282366920938463463374607431768211456 + -128
-quote 340282366920938463463374607431768211456 + -127
-340282366920938463463374607431768211456 + -127
-quote 340282366920938463463374607431768211456 + 255
-340282366920938463463374607431768211456 + 255
-quote 340282366920938463463374607431768211456 + 256
-340282366920938463463374607431768211456 + 256
-quote 340282366920938463463374607431768211456 + 65535
-340282366920938463463374607431768211456 + 65535
-quote 340282366920938463463374607431768211456 + 65536
-340282366920938463463374607431768211456 + 65536
-quote 340282366920938463463374607431768211456 + 4294967295
-340282366920938463463374607431768211456 + 4294967295
-quote 340282366920938463463374607431768211456 + 4294967296
-340282366920938463463374607431768211456 + 4294967296
-quote 340282366920938463463374607431768211456 + 18446744073709551615
-340282366920938463463374607431768211456 + 18446744073709551615
-quote 340282366920938463463374607431768211456 + 18446744073709551616
-340282366920938463463374607431768211456 + 18446744073709551616
-quote 340282366920938463463374607431768211456 + 340282366920938463463374607431768211455
-340282366920938463463374607431768211456 + 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211456 + 340282366920938463463374607431768211456
-340282366920938463463374607431768211456 + 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_add.out.expected b/test/ic3/integer_add.out.expected
deleted file mode 100644
index 3db7f46..0000000
--- a/test/ic3/integer_add.out.expected
+++ /dev/null
@@ -1,800 +0,0 @@
--170141183460469231731687303715884105728 + -170141183460469231731687303715884105728
--340282366920938463463374607431768211456
--170141183460469231731687303715884105728 + -170141183460469231731687303715884105727
--340282366920938463463374607431768211455
--170141183460469231731687303715884105728 + -9223372036854775808
--170141183460469231740910675752738881536
--170141183460469231731687303715884105728 + -9223372036854775807
--170141183460469231740910675752738881535
--170141183460469231731687303715884105728 + -2147483648
--170141183460469231731687303718031589376
--170141183460469231731687303715884105728 + -2147483647
--170141183460469231731687303718031589375
--170141183460469231731687303715884105728 + -32768
--170141183460469231731687303715884138496
--170141183460469231731687303715884105728 + -32767
--170141183460469231731687303715884138495
--170141183460469231731687303715884105728 + -128
--170141183460469231731687303715884105856
--170141183460469231731687303715884105728 + -127
--170141183460469231731687303715884105855
--170141183460469231731687303715884105728 + 255
--170141183460469231731687303715884105473
--170141183460469231731687303715884105728 + 256
--170141183460469231731687303715884105472
--170141183460469231731687303715884105728 + 65535
--170141183460469231731687303715884040193
--170141183460469231731687303715884105728 + 65536
--170141183460469231731687303715884040192
--170141183460469231731687303715884105728 + 4294967295
--170141183460469231731687303711589138433
--170141183460469231731687303715884105728 + 4294967296
--170141183460469231731687303711589138432
--170141183460469231731687303715884105728 + 18446744073709551615
--170141183460469231713240559642174554113
--170141183460469231731687303715884105728 + 18446744073709551616
--170141183460469231713240559642174554112
--170141183460469231731687303715884105728 + 340282366920938463463374607431768211455
-170141183460469231731687303715884105727
--170141183460469231731687303715884105728 + 340282366920938463463374607431768211456
-170141183460469231731687303715884105728
--170141183460469231731687303715884105727 + -170141183460469231731687303715884105728
--340282366920938463463374607431768211455
--170141183460469231731687303715884105727 + -170141183460469231731687303715884105727
--340282366920938463463374607431768211454
--170141183460469231731687303715884105727 + -9223372036854775808
--170141183460469231740910675752738881535
--170141183460469231731687303715884105727 + -9223372036854775807
--170141183460469231740910675752738881534
--170141183460469231731687303715884105727 + -2147483648
--170141183460469231731687303718031589375
--170141183460469231731687303715884105727 + -2147483647
--170141183460469231731687303718031589374
--170141183460469231731687303715884105727 + -32768
--170141183460469231731687303715884138495
--170141183460469231731687303715884105727 + -32767
--170141183460469231731687303715884138494
--170141183460469231731687303715884105727 + -128
--170141183460469231731687303715884105855
--170141183460469231731687303715884105727 + -127
--170141183460469231731687303715884105854
--170141183460469231731687303715884105727 + 255
--170141183460469231731687303715884105472
--170141183460469231731687303715884105727 + 256
--170141183460469231731687303715884105471
--170141183460469231731687303715884105727 + 65535
--170141183460469231731687303715884040192
--170141183460469231731687303715884105727 + 65536
--170141183460469231731687303715884040191
--170141183460469231731687303715884105727 + 4294967295
--170141183460469231731687303711589138432
--170141183460469231731687303715884105727 + 4294967296
--170141183460469231731687303711589138431
--170141183460469231731687303715884105727 + 18446744073709551615
--170141183460469231713240559642174554112
--170141183460469231731687303715884105727 + 18446744073709551616
--170141183460469231713240559642174554111
--170141183460469231731687303715884105727 + 340282366920938463463374607431768211455
-170141183460469231731687303715884105728
--170141183460469231731687303715884105727 + 340282366920938463463374607431768211456
-170141183460469231731687303715884105729
--9223372036854775808 + -170141183460469231731687303715884105728
--170141183460469231740910675752738881536
--9223372036854775808 + -170141183460469231731687303715884105727
--170141183460469231740910675752738881535
--9223372036854775808 + -9223372036854775808
--18446744073709551616
--9223372036854775808 + -9223372036854775807
--18446744073709551615
--9223372036854775808 + -2147483648
--9223372039002259456
--9223372036854775808 + -2147483647
--9223372039002259455
--9223372036854775808 + -32768
--9223372036854808576
--9223372036854775808 + -32767
--9223372036854808575
--9223372036854775808 + -128
--9223372036854775936
--9223372036854775808 + -127
--9223372036854775935
--9223372036854775808 + 255
--9223372036854775553
--9223372036854775808 + 256
--9223372036854775552
--9223372036854775808 + 65535
--9223372036854710273
--9223372036854775808 + 65536
--9223372036854710272
--9223372036854775808 + 4294967295
--9223372032559808513
--9223372036854775808 + 4294967296
--9223372032559808512
--9223372036854775808 + 18446744073709551615
-9223372036854775807
--9223372036854775808 + 18446744073709551616
-9223372036854775808
--9223372036854775808 + 340282366920938463463374607431768211455
-340282366920938463454151235394913435647
--9223372036854775808 + 340282366920938463463374607431768211456
-340282366920938463454151235394913435648
--9223372036854775807 + -170141183460469231731687303715884105728
--170141183460469231740910675752738881535
--9223372036854775807 + -170141183460469231731687303715884105727
--170141183460469231740910675752738881534
--9223372036854775807 + -9223372036854775808
--18446744073709551615
--9223372036854775807 + -9223372036854775807
--18446744073709551614
--9223372036854775807 + -2147483648
--9223372039002259455
--9223372036854775807 + -2147483647
--9223372039002259454
--9223372036854775807 + -32768
--9223372036854808575
--9223372036854775807 + -32767
--9223372036854808574
--9223372036854775807 + -128
--9223372036854775935
--9223372036854775807 + -127
--9223372036854775934
--9223372036854775807 + 255
--9223372036854775552
--9223372036854775807 + 256
--9223372036854775551
--9223372036854775807 + 65535
--9223372036854710272
--9223372036854775807 + 65536
--9223372036854710271
--9223372036854775807 + 4294967295
--9223372032559808512
--9223372036854775807 + 4294967296
--9223372032559808511
--9223372036854775807 + 18446744073709551615
-9223372036854775808
--9223372036854775807 + 18446744073709551616
-9223372036854775809
--9223372036854775807 + 340282366920938463463374607431768211455
-340282366920938463454151235394913435648
--9223372036854775807 + 340282366920938463463374607431768211456
-340282366920938463454151235394913435649
--2147483648 + -170141183460469231731687303715884105728
--170141183460469231731687303718031589376
--2147483648 + -170141183460469231731687303715884105727
--170141183460469231731687303718031589375
--2147483648 + -9223372036854775808
--9223372039002259456
--2147483648 + -9223372036854775807
--9223372039002259455
--2147483648 + -2147483648
--4294967296
--2147483648 + -2147483647
--4294967295
--2147483648 + -32768
--2147516416
--2147483648 + -32767
--2147516415
--2147483648 + -128
--2147483776
--2147483648 + -127
--2147483775
--2147483648 + 255
--2147483393
--2147483648 + 256
--2147483392
--2147483648 + 65535
--2147418113
--2147483648 + 65536
--2147418112
--2147483648 + 4294967295
-2147483647
--2147483648 + 4294967296
-2147483648
--2147483648 + 18446744073709551615
-18446744071562067967
--2147483648 + 18446744073709551616
-18446744071562067968
--2147483648 + 340282366920938463463374607431768211455
-340282366920938463463374607429620727807
--2147483648 + 340282366920938463463374607431768211456
-340282366920938463463374607429620727808
--2147483647 + -170141183460469231731687303715884105728
--170141183460469231731687303718031589375
--2147483647 + -170141183460469231731687303715884105727
--170141183460469231731687303718031589374
--2147483647 + -9223372036854775808
--9223372039002259455
--2147483647 + -9223372036854775807
--9223372039002259454
--2147483647 + -2147483648
--4294967295
--2147483647 + -2147483647
--4294967294
--2147483647 + -32768
--2147516415
--2147483647 + -32767
--2147516414
--2147483647 + -128
--2147483775
--2147483647 + -127
--2147483774
--2147483647 + 255
--2147483392
--2147483647 + 256
--2147483391
--2147483647 + 65535
--2147418112
--2147483647 + 65536
--2147418111
--2147483647 + 4294967295
-2147483648
--2147483647 + 4294967296
-2147483649
--2147483647 + 18446744073709551615
-18446744071562067968
--2147483647 + 18446744073709551616
-18446744071562067969
--2147483647 + 340282366920938463463374607431768211455
-340282366920938463463374607429620727808
--2147483647 + 340282366920938463463374607431768211456
-340282366920938463463374607429620727809
--32768 + -170141183460469231731687303715884105728
--170141183460469231731687303715884138496
--32768 + -170141183460469231731687303715884105727
--170141183460469231731687303715884138495
--32768 + -9223372036854775808
--9223372036854808576
--32768 + -9223372036854775807
--9223372036854808575
--32768 + -2147483648
--2147516416
--32768 + -2147483647
--2147516415
--32768 + -32768
--65536
--32768 + -32767
--65535
--32768 + -128
--32896
--32768 + -127
--32895
--32768 + 255
--32513
--32768 + 256
--32512
--32768 + 65535
-32767
--32768 + 65536
-32768
--32768 + 4294967295
-4294934527
--32768 + 4294967296
-4294934528
--32768 + 18446744073709551615
-18446744073709518847
--32768 + 18446744073709551616
-18446744073709518848
--32768 + 340282366920938463463374607431768211455
-340282366920938463463374607431768178687
--32768 + 340282366920938463463374607431768211456
-340282366920938463463374607431768178688
--32767 + -170141183460469231731687303715884105728
--170141183460469231731687303715884138495
--32767 + -170141183460469231731687303715884105727
--170141183460469231731687303715884138494
--32767 + -9223372036854775808
--9223372036854808575
--32767 + -9223372036854775807
--9223372036854808574
--32767 + -2147483648
--2147516415
--32767 + -2147483647
--2147516414
--32767 + -32768
--65535
--32767 + -32767
--65534
--32767 + -128
--32895
--32767 + -127
--32894
--32767 + 255
--32512
--32767 + 256
--32511
--32767 + 65535
-32768
--32767 + 65536
-32769
--32767 + 4294967295
-4294934528
--32767 + 4294967296
-4294934529
--32767 + 18446744073709551615
-18446744073709518848
--32767 + 18446744073709551616
-18446744073709518849
--32767 + 340282366920938463463374607431768211455
-340282366920938463463374607431768178688
--32767 + 340282366920938463463374607431768211456
-340282366920938463463374607431768178689
--128 + -170141183460469231731687303715884105728
--170141183460469231731687303715884105856
--128 + -170141183460469231731687303715884105727
--170141183460469231731687303715884105855
--128 + -9223372036854775808
--9223372036854775936
--128 + -9223372036854775807
--9223372036854775935
--128 + -2147483648
--2147483776
--128 + -2147483647
--2147483775
--128 + -32768
--32896
--128 + -32767
--32895
--128 + -128
--256
--128 + -127
--255
--128 + 255
-127
--128 + 256
-128
--128 + 65535
-65407
--128 + 65536
-65408
--128 + 4294967295
-4294967167
--128 + 4294967296
-4294967168
--128 + 18446744073709551615
-18446744073709551487
--128 + 18446744073709551616
-18446744073709551488
--128 + 340282366920938463463374607431768211455
-340282366920938463463374607431768211327
--128 + 340282366920938463463374607431768211456
-340282366920938463463374607431768211328
--127 + -170141183460469231731687303715884105728
--170141183460469231731687303715884105855
--127 + -170141183460469231731687303715884105727
--170141183460469231731687303715884105854
--127 + -9223372036854775808
--9223372036854775935
--127 + -9223372036854775807
--9223372036854775934
--127 + -2147483648
--2147483775
--127 + -2147483647
--2147483774
--127 + -32768
--32895
--127 + -32767
--32894
--127 + -128
--255
--127 + -127
--254
--127 + 255
-128
--127 + 256
-129
--127 + 65535
-65408
--127 + 65536
-65409
--127 + 4294967295
-4294967168
--127 + 4294967296
-4294967169
--127 + 18446744073709551615
-18446744073709551488
--127 + 18446744073709551616
-18446744073709551489
--127 + 340282366920938463463374607431768211455
-340282366920938463463374607431768211328
--127 + 340282366920938463463374607431768211456
-340282366920938463463374607431768211329
-255 + -170141183460469231731687303715884105728
--170141183460469231731687303715884105473
-255 + -170141183460469231731687303715884105727
--170141183460469231731687303715884105472
-255 + -9223372036854775808
--9223372036854775553
-255 + -9223372036854775807
--9223372036854775552
-255 + -2147483648
--2147483393
-255 + -2147483647
--2147483392
-255 + -32768
--32513
-255 + -32767
--32512
-255 + -128
-127
-255 + -127
-128
-255 + 255
-510
-255 + 256
-511
-255 + 65535
-65790
-255 + 65536
-65791
-255 + 4294967295
-4294967550
-255 + 4294967296
-4294967551
-255 + 18446744073709551615
-18446744073709551870
-255 + 18446744073709551616
-18446744073709551871
-255 + 340282366920938463463374607431768211455
-340282366920938463463374607431768211710
-255 + 340282366920938463463374607431768211456
-340282366920938463463374607431768211711
-256 + -170141183460469231731687303715884105728
--170141183460469231731687303715884105472
-256 + -170141183460469231731687303715884105727
--170141183460469231731687303715884105471
-256 + -9223372036854775808
--9223372036854775552
-256 + -9223372036854775807
--9223372036854775551
-256 + -2147483648
--2147483392
-256 + -2147483647
--2147483391
-256 + -32768
--32512
-256 + -32767
--32511
-256 + -128
-128
-256 + -127
-129
-256 + 255
-511
-256 + 256
-512
-256 + 65535
-65791
-256 + 65536
-65792
-256 + 4294967295
-4294967551
-256 + 4294967296
-4294967552
-256 + 18446744073709551615
-18446744073709551871
-256 + 18446744073709551616
-18446744073709551872
-256 + 340282366920938463463374607431768211455
-340282366920938463463374607431768211711
-256 + 340282366920938463463374607431768211456
-340282366920938463463374607431768211712
-65535 + -170141183460469231731687303715884105728
--170141183460469231731687303715884040193
-65535 + -170141183460469231731687303715884105727
--170141183460469231731687303715884040192
-65535 + -9223372036854775808
--9223372036854710273
-65535 + -9223372036854775807
--9223372036854710272
-65535 + -2147483648
--2147418113
-65535 + -2147483647
--2147418112
-65535 + -32768
-32767
-65535 + -32767
-32768
-65535 + -128
-65407
-65535 + -127
-65408
-65535 + 255
-65790
-65535 + 256
-65791
-65535 + 65535
-131070
-65535 + 65536
-131071
-65535 + 4294967295
-4295032830
-65535 + 4294967296
-4295032831
-65535 + 18446744073709551615
-18446744073709617150
-65535 + 18446744073709551616
-18446744073709617151
-65535 + 340282366920938463463374607431768211455
-340282366920938463463374607431768276990
-65535 + 340282366920938463463374607431768211456
-340282366920938463463374607431768276991
-65536 + -170141183460469231731687303715884105728
--170141183460469231731687303715884040192
-65536 + -170141183460469231731687303715884105727
--170141183460469231731687303715884040191
-65536 + -9223372036854775808
--9223372036854710272
-65536 + -9223372036854775807
--9223372036854710271
-65536 + -2147483648
--2147418112
-65536 + -2147483647
--2147418111
-65536 + -32768
-32768
-65536 + -32767
-32769
-65536 + -128
-65408
-65536 + -127
-65409
-65536 + 255
-65791
-65536 + 256
-65792
-65536 + 65535
-131071
-65536 + 65536
-131072
-65536 + 4294967295
-4295032831
-65536 + 4294967296
-4295032832
-65536 + 18446744073709551615
-18446744073709617151
-65536 + 18446744073709551616
-18446744073709617152
-65536 + 340282366920938463463374607431768211455
-340282366920938463463374607431768276991
-65536 + 340282366920938463463374607431768211456
-340282366920938463463374607431768276992
-4294967295 + -170141183460469231731687303715884105728
--170141183460469231731687303711589138433
-4294967295 + -170141183460469231731687303715884105727
--170141183460469231731687303711589138432
-4294967295 + -9223372036854775808
--9223372032559808513
-4294967295 + -9223372036854775807
--9223372032559808512
-4294967295 + -2147483648
-2147483647
-4294967295 + -2147483647
-2147483648
-4294967295 + -32768
-4294934527
-4294967295 + -32767
-4294934528
-4294967295 + -128
-4294967167
-4294967295 + -127
-4294967168
-4294967295 + 255
-4294967550
-4294967295 + 256
-4294967551
-4294967295 + 65535
-4295032830
-4294967295 + 65536
-4295032831
-4294967295 + 4294967295
-8589934590
-4294967295 + 4294967296
-8589934591
-4294967295 + 18446744073709551615
-18446744078004518910
-4294967295 + 18446744073709551616
-18446744078004518911
-4294967295 + 340282366920938463463374607431768211455
-340282366920938463463374607436063178750
-4294967295 + 340282366920938463463374607431768211456
-340282366920938463463374607436063178751
-4294967296 + -170141183460469231731687303715884105728
--170141183460469231731687303711589138432
-4294967296 + -170141183460469231731687303715884105727
--170141183460469231731687303711589138431
-4294967296 + -9223372036854775808
--9223372032559808512
-4294967296 + -9223372036854775807
--9223372032559808511
-4294967296 + -2147483648
-2147483648
-4294967296 + -2147483647
-2147483649
-4294967296 + -32768
-4294934528
-4294967296 + -32767
-4294934529
-4294967296 + -128
-4294967168
-4294967296 + -127
-4294967169
-4294967296 + 255
-4294967551
-4294967296 + 256
-4294967552
-4294967296 + 65535
-4295032831
-4294967296 + 65536
-4295032832
-4294967296 + 4294967295
-8589934591
-4294967296 + 4294967296
-8589934592
-4294967296 + 18446744073709551615
-18446744078004518911
-4294967296 + 18446744073709551616
-18446744078004518912
-4294967296 + 340282366920938463463374607431768211455
-340282366920938463463374607436063178751
-4294967296 + 340282366920938463463374607431768211456
-340282366920938463463374607436063178752
-18446744073709551615 + -170141183460469231731687303715884105728
--170141183460469231713240559642174554113
-18446744073709551615 + -170141183460469231731687303715884105727
--170141183460469231713240559642174554112
-18446744073709551615 + -9223372036854775808
-9223372036854775807
-18446744073709551615 + -9223372036854775807
-9223372036854775808
-18446744073709551615 + -2147483648
-18446744071562067967
-18446744073709551615 + -2147483647
-18446744071562067968
-18446744073709551615 + -32768
-18446744073709518847
-18446744073709551615 + -32767
-18446744073709518848
-18446744073709551615 + -128
-18446744073709551487
-18446744073709551615 + -127
-18446744073709551488
-18446744073709551615 + 255
-18446744073709551870
-18446744073709551615 + 256
-18446744073709551871
-18446744073709551615 + 65535
-18446744073709617150
-18446744073709551615 + 65536
-18446744073709617151
-18446744073709551615 + 4294967295
-18446744078004518910
-18446744073709551615 + 4294967296
-18446744078004518911
-18446744073709551615 + 18446744073709551615
-36893488147419103230
-18446744073709551615 + 18446744073709551616
-36893488147419103231
-18446744073709551615 + 340282366920938463463374607431768211455
-340282366920938463481821351505477763070
-18446744073709551615 + 340282366920938463463374607431768211456
-340282366920938463481821351505477763071
-18446744073709551616 + -170141183460469231731687303715884105728
--170141183460469231713240559642174554112
-18446744073709551616 + -170141183460469231731687303715884105727
--170141183460469231713240559642174554111
-18446744073709551616 + -9223372036854775808
-9223372036854775808
-18446744073709551616 + -9223372036854775807
-9223372036854775809
-18446744073709551616 + -2147483648
-18446744071562067968
-18446744073709551616 + -2147483647
-18446744071562067969
-18446744073709551616 + -32768
-18446744073709518848
-18446744073709551616 + -32767
-18446744073709518849
-18446744073709551616 + -128
-18446744073709551488
-18446744073709551616 + -127
-18446744073709551489
-18446744073709551616 + 255
-18446744073709551871
-18446744073709551616 + 256
-18446744073709551872
-18446744073709551616 + 65535
-18446744073709617151
-18446744073709551616 + 65536
-18446744073709617152
-18446744073709551616 + 4294967295
-18446744078004518911
-18446744073709551616 + 4294967296
-18446744078004518912
-18446744073709551616 + 18446744073709551615
-36893488147419103231
-18446744073709551616 + 18446744073709551616
-36893488147419103232
-18446744073709551616 + 340282366920938463463374607431768211455
-340282366920938463481821351505477763071
-18446744073709551616 + 340282366920938463463374607431768211456
-340282366920938463481821351505477763072
-340282366920938463463374607431768211455 + -170141183460469231731687303715884105728
-170141183460469231731687303715884105727
-340282366920938463463374607431768211455 + -170141183460469231731687303715884105727
-170141183460469231731687303715884105728
-340282366920938463463374607431768211455 + -9223372036854775808
-340282366920938463454151235394913435647
-340282366920938463463374607431768211455 + -9223372036854775807
-340282366920938463454151235394913435648
-340282366920938463463374607431768211455 + -2147483648
-340282366920938463463374607429620727807
-340282366920938463463374607431768211455 + -2147483647
-340282366920938463463374607429620727808
-340282366920938463463374607431768211455 + -32768
-340282366920938463463374607431768178687
-340282366920938463463374607431768211455 + -32767
-340282366920938463463374607431768178688
-340282366920938463463374607431768211455 + -128
-340282366920938463463374607431768211327
-340282366920938463463374607431768211455 + -127
-340282366920938463463374607431768211328
-340282366920938463463374607431768211455 + 255
-340282366920938463463374607431768211710
-340282366920938463463374607431768211455 + 256
-340282366920938463463374607431768211711
-340282366920938463463374607431768211455 + 65535
-340282366920938463463374607431768276990
-340282366920938463463374607431768211455 + 65536
-340282366920938463463374607431768276991
-340282366920938463463374607431768211455 + 4294967295
-340282366920938463463374607436063178750
-340282366920938463463374607431768211455 + 4294967296
-340282366920938463463374607436063178751
-340282366920938463463374607431768211455 + 18446744073709551615
-340282366920938463481821351505477763070
-340282366920938463463374607431768211455 + 18446744073709551616
-340282366920938463481821351505477763071
-340282366920938463463374607431768211455 + 340282366920938463463374607431768211455
-680564733841876926926749214863536422910
-340282366920938463463374607431768211455 + 340282366920938463463374607431768211456
-680564733841876926926749214863536422911
-340282366920938463463374607431768211456 + -170141183460469231731687303715884105728
-170141183460469231731687303715884105728
-340282366920938463463374607431768211456 + -170141183460469231731687303715884105727
-170141183460469231731687303715884105729
-340282366920938463463374607431768211456 + -9223372036854775808
-340282366920938463454151235394913435648
-340282366920938463463374607431768211456 + -9223372036854775807
-340282366920938463454151235394913435649
-340282366920938463463374607431768211456 + -2147483648
-340282366920938463463374607429620727808
-340282366920938463463374607431768211456 + -2147483647
-340282366920938463463374607429620727809
-340282366920938463463374607431768211456 + -32768
-340282366920938463463374607431768178688
-340282366920938463463374607431768211456 + -32767
-340282366920938463463374607431768178689
-340282366920938463463374607431768211456 + -128
-340282366920938463463374607431768211328
-340282366920938463463374607431768211456 + -127
-340282366920938463463374607431768211329
-340282366920938463463374607431768211456 + 255
-340282366920938463463374607431768211711
-340282366920938463463374607431768211456 + 256
-340282366920938463463374607431768211712
-340282366920938463463374607431768211456 + 65535
-340282366920938463463374607431768276991
-340282366920938463463374607431768211456 + 65536
-340282366920938463463374607431768276992
-340282366920938463463374607431768211456 + 4294967295
-340282366920938463463374607436063178751
-340282366920938463463374607431768211456 + 4294967296
-340282366920938463463374607436063178752
-340282366920938463463374607431768211456 + 18446744073709551615
-340282366920938463481821351505477763071
-340282366920938463463374607431768211456 + 18446744073709551616
-340282366920938463481821351505477763072
-340282366920938463463374607431768211456 + 340282366920938463463374607431768211455
-680564733841876926926749214863536422911
-340282366920938463463374607431768211456 + 340282366920938463463374607431768211456
-680564733841876926926749214863536422912
diff --git a/test/ic3/integer_add.ret.expected b/test/ic3/integer_add.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/integer_add.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/integer_add_2.in b/test/ic3/integer_add_2.in
new file mode 100644
index 0000000..bcb8fd3
--- /dev/null
+++ b/test/ic3/integer_add_2.in
@@ -0,0 +1,800 @@
+quote -170141183460469231731687303715884105728 + -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 + -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105728 + -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 + -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105728 + -9223372036854775808
+-170141183460469231731687303715884105728 + -9223372036854775808
+quote -170141183460469231731687303715884105728 + -9223372036854775807
+-170141183460469231731687303715884105728 + -9223372036854775807
+quote -170141183460469231731687303715884105728 + -2147483648
+-170141183460469231731687303715884105728 + -2147483648
+quote -170141183460469231731687303715884105728 + -2147483647
+-170141183460469231731687303715884105728 + -2147483647
+quote -170141183460469231731687303715884105728 + -32768
+-170141183460469231731687303715884105728 + -32768
+quote -170141183460469231731687303715884105728 + -32767
+-170141183460469231731687303715884105728 + -32767
+quote -170141183460469231731687303715884105728 + -128
+-170141183460469231731687303715884105728 + -128
+quote -170141183460469231731687303715884105728 + -127
+-170141183460469231731687303715884105728 + -127
+quote -170141183460469231731687303715884105728 + 255
+-170141183460469231731687303715884105728 + 255
+quote -170141183460469231731687303715884105728 + 256
+-170141183460469231731687303715884105728 + 256
+quote -170141183460469231731687303715884105728 + 65535
+-170141183460469231731687303715884105728 + 65535
+quote -170141183460469231731687303715884105728 + 65536
+-170141183460469231731687303715884105728 + 65536
+quote -170141183460469231731687303715884105728 + 4294967295
+-170141183460469231731687303715884105728 + 4294967295
+quote -170141183460469231731687303715884105728 + 4294967296
+-170141183460469231731687303715884105728 + 4294967296
+quote -170141183460469231731687303715884105728 + 18446744073709551615
+-170141183460469231731687303715884105728 + 18446744073709551615
+quote -170141183460469231731687303715884105728 + 18446744073709551616
+-170141183460469231731687303715884105728 + 18446744073709551616
+quote -170141183460469231731687303715884105728 + 340282366920938463463374607431768211455
+-170141183460469231731687303715884105728 + 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105728 + 340282366920938463463374607431768211456
+-170141183460469231731687303715884105728 + 340282366920938463463374607431768211456
+quote -170141183460469231731687303715884105727 + -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 + -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105727 + -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 + -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105727 + -9223372036854775808
+-170141183460469231731687303715884105727 + -9223372036854775808
+quote -170141183460469231731687303715884105727 + -9223372036854775807
+-170141183460469231731687303715884105727 + -9223372036854775807
+quote -170141183460469231731687303715884105727 + -2147483648
+-170141183460469231731687303715884105727 + -2147483648
+quote -170141183460469231731687303715884105727 + -2147483647
+-170141183460469231731687303715884105727 + -2147483647
+quote -170141183460469231731687303715884105727 + -32768
+-170141183460469231731687303715884105727 + -32768
+quote -170141183460469231731687303715884105727 + -32767
+-170141183460469231731687303715884105727 + -32767
+quote -170141183460469231731687303715884105727 + -128
+-170141183460469231731687303715884105727 + -128
+quote -170141183460469231731687303715884105727 + -127
+-170141183460469231731687303715884105727 + -127
+quote -170141183460469231731687303715884105727 + 255
+-170141183460469231731687303715884105727 + 255
+quote -170141183460469231731687303715884105727 + 256
+-170141183460469231731687303715884105727 + 256
+quote -170141183460469231731687303715884105727 + 65535
+-170141183460469231731687303715884105727 + 65535
+quote -170141183460469231731687303715884105727 + 65536
+-170141183460469231731687303715884105727 + 65536
+quote -170141183460469231731687303715884105727 + 4294967295
+-170141183460469231731687303715884105727 + 4294967295
+quote -170141183460469231731687303715884105727 + 4294967296
+-170141183460469231731687303715884105727 + 4294967296
+quote -170141183460469231731687303715884105727 + 18446744073709551615
+-170141183460469231731687303715884105727 + 18446744073709551615
+quote -170141183460469231731687303715884105727 + 18446744073709551616
+-170141183460469231731687303715884105727 + 18446744073709551616
+quote -170141183460469231731687303715884105727 + 340282366920938463463374607431768211455
+-170141183460469231731687303715884105727 + 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105727 + 340282366920938463463374607431768211456
+-170141183460469231731687303715884105727 + 340282366920938463463374607431768211456
+quote -9223372036854775808 + -170141183460469231731687303715884105728
+-9223372036854775808 + -170141183460469231731687303715884105728
+quote -9223372036854775808 + -170141183460469231731687303715884105727
+-9223372036854775808 + -170141183460469231731687303715884105727
+quote -9223372036854775808 + -9223372036854775808
+-9223372036854775808 + -9223372036854775808
+quote -9223372036854775808 + -9223372036854775807
+-9223372036854775808 + -9223372036854775807
+quote -9223372036854775808 + -2147483648
+-9223372036854775808 + -2147483648
+quote -9223372036854775808 + -2147483647
+-9223372036854775808 + -2147483647
+quote -9223372036854775808 + -32768
+-9223372036854775808 + -32768
+quote -9223372036854775808 + -32767
+-9223372036854775808 + -32767
+quote -9223372036854775808 + -128
+-9223372036854775808 + -128
+quote -9223372036854775808 + -127
+-9223372036854775808 + -127
+quote -9223372036854775808 + 255
+-9223372036854775808 + 255
+quote -9223372036854775808 + 256
+-9223372036854775808 + 256
+quote -9223372036854775808 + 65535
+-9223372036854775808 + 65535
+quote -9223372036854775808 + 65536
+-9223372036854775808 + 65536
+quote -9223372036854775808 + 4294967295
+-9223372036854775808 + 4294967295
+quote -9223372036854775808 + 4294967296
+-9223372036854775808 + 4294967296
+quote -9223372036854775808 + 18446744073709551615
+-9223372036854775808 + 18446744073709551615
+quote -9223372036854775808 + 18446744073709551616
+-9223372036854775808 + 18446744073709551616
+quote -9223372036854775808 + 340282366920938463463374607431768211455
+-9223372036854775808 + 340282366920938463463374607431768211455
+quote -9223372036854775808 + 340282366920938463463374607431768211456
+-9223372036854775808 + 340282366920938463463374607431768211456
+quote -9223372036854775807 + -170141183460469231731687303715884105728
+-9223372036854775807 + -170141183460469231731687303715884105728
+quote -9223372036854775807 + -170141183460469231731687303715884105727
+-9223372036854775807 + -170141183460469231731687303715884105727
+quote -9223372036854775807 + -9223372036854775808
+-9223372036854775807 + -9223372036854775808
+quote -9223372036854775807 + -9223372036854775807
+-9223372036854775807 + -9223372036854775807
+quote -9223372036854775807 + -2147483648
+-9223372036854775807 + -2147483648
+quote -9223372036854775807 + -2147483647
+-9223372036854775807 + -2147483647
+quote -9223372036854775807 + -32768
+-9223372036854775807 + -32768
+quote -9223372036854775807 + -32767
+-9223372036854775807 + -32767
+quote -9223372036854775807 + -128
+-9223372036854775807 + -128
+quote -9223372036854775807 + -127
+-9223372036854775807 + -127
+quote -9223372036854775807 + 255
+-9223372036854775807 + 255
+quote -9223372036854775807 + 256
+-9223372036854775807 + 256
+quote -9223372036854775807 + 65535
+-9223372036854775807 + 65535
+quote -9223372036854775807 + 65536
+-9223372036854775807 + 65536
+quote -9223372036854775807 + 4294967295
+-9223372036854775807 + 4294967295
+quote -9223372036854775807 + 4294967296
+-9223372036854775807 + 4294967296
+quote -9223372036854775807 + 18446744073709551615
+-9223372036854775807 + 18446744073709551615
+quote -9223372036854775807 + 18446744073709551616
+-9223372036854775807 + 18446744073709551616
+quote -9223372036854775807 + 340282366920938463463374607431768211455
+-9223372036854775807 + 340282366920938463463374607431768211455
+quote -9223372036854775807 + 340282366920938463463374607431768211456
+-9223372036854775807 + 340282366920938463463374607431768211456
+quote -2147483648 + -170141183460469231731687303715884105728
+-2147483648 + -170141183460469231731687303715884105728
+quote -2147483648 + -170141183460469231731687303715884105727
+-2147483648 + -170141183460469231731687303715884105727
+quote -2147483648 + -9223372036854775808
+-2147483648 + -9223372036854775808
+quote -2147483648 + -9223372036854775807
+-2147483648 + -9223372036854775807
+quote -2147483648 + -2147483648
+-2147483648 + -2147483648
+quote -2147483648 + -2147483647
+-2147483648 + -2147483647
+quote -2147483648 + -32768
+-2147483648 + -32768
+quote -2147483648 + -32767
+-2147483648 + -32767
+quote -2147483648 + -128
+-2147483648 + -128
+quote -2147483648 + -127
+-2147483648 + -127
+quote -2147483648 + 255
+-2147483648 + 255
+quote -2147483648 + 256
+-2147483648 + 256
+quote -2147483648 + 65535
+-2147483648 + 65535
+quote -2147483648 + 65536
+-2147483648 + 65536
+quote -2147483648 + 4294967295
+-2147483648 + 4294967295
+quote -2147483648 + 4294967296
+-2147483648 + 4294967296
+quote -2147483648 + 18446744073709551615
+-2147483648 + 18446744073709551615
+quote -2147483648 + 18446744073709551616
+-2147483648 + 18446744073709551616
+quote -2147483648 + 340282366920938463463374607431768211455
+-2147483648 + 340282366920938463463374607431768211455
+quote -2147483648 + 340282366920938463463374607431768211456
+-2147483648 + 340282366920938463463374607431768211456
+quote -2147483647 + -170141183460469231731687303715884105728
+-2147483647 + -170141183460469231731687303715884105728
+quote -2147483647 + -170141183460469231731687303715884105727
+-2147483647 + -170141183460469231731687303715884105727
+quote -2147483647 + -9223372036854775808
+-2147483647 + -9223372036854775808
+quote -2147483647 + -9223372036854775807
+-2147483647 + -9223372036854775807
+quote -2147483647 + -2147483648
+-2147483647 + -2147483648
+quote -2147483647 + -2147483647
+-2147483647 + -2147483647
+quote -2147483647 + -32768
+-2147483647 + -32768
+quote -2147483647 + -32767
+-2147483647 + -32767
+quote -2147483647 + -128
+-2147483647 + -128
+quote -2147483647 + -127
+-2147483647 + -127
+quote -2147483647 + 255
+-2147483647 + 255
+quote -2147483647 + 256
+-2147483647 + 256
+quote -2147483647 + 65535
+-2147483647 + 65535
+quote -2147483647 + 65536
+-2147483647 + 65536
+quote -2147483647 + 4294967295
+-2147483647 + 4294967295
+quote -2147483647 + 4294967296
+-2147483647 + 4294967296
+quote -2147483647 + 18446744073709551615
+-2147483647 + 18446744073709551615
+quote -2147483647 + 18446744073709551616
+-2147483647 + 18446744073709551616
+quote -2147483647 + 340282366920938463463374607431768211455
+-2147483647 + 340282366920938463463374607431768211455
+quote -2147483647 + 340282366920938463463374607431768211456
+-2147483647 + 340282366920938463463374607431768211456
+quote -32768 + -170141183460469231731687303715884105728
+-32768 + -170141183460469231731687303715884105728
+quote -32768 + -170141183460469231731687303715884105727
+-32768 + -170141183460469231731687303715884105727
+quote -32768 + -9223372036854775808
+-32768 + -9223372036854775808
+quote -32768 + -9223372036854775807
+-32768 + -9223372036854775807
+quote -32768 + -2147483648
+-32768 + -2147483648
+quote -32768 + -2147483647
+-32768 + -2147483647
+quote -32768 + -32768
+-32768 + -32768
+quote -32768 + -32767
+-32768 + -32767
+quote -32768 + -128
+-32768 + -128
+quote -32768 + -127
+-32768 + -127
+quote -32768 + 255
+-32768 + 255
+quote -32768 + 256
+-32768 + 256
+quote -32768 + 65535
+-32768 + 65535
+quote -32768 + 65536
+-32768 + 65536
+quote -32768 + 4294967295
+-32768 + 4294967295
+quote -32768 + 4294967296
+-32768 + 4294967296
+quote -32768 + 18446744073709551615
+-32768 + 18446744073709551615
+quote -32768 + 18446744073709551616
+-32768 + 18446744073709551616
+quote -32768 + 340282366920938463463374607431768211455
+-32768 + 340282366920938463463374607431768211455
+quote -32768 + 340282366920938463463374607431768211456
+-32768 + 340282366920938463463374607431768211456
+quote -32767 + -170141183460469231731687303715884105728
+-32767 + -170141183460469231731687303715884105728
+quote -32767 + -170141183460469231731687303715884105727
+-32767 + -170141183460469231731687303715884105727
+quote -32767 + -9223372036854775808
+-32767 + -9223372036854775808
+quote -32767 + -9223372036854775807
+-32767 + -9223372036854775807
+quote -32767 + -2147483648
+-32767 + -2147483648
+quote -32767 + -2147483647
+-32767 + -2147483647
+quote -32767 + -32768
+-32767 + -32768
+quote -32767 + -32767
+-32767 + -32767
+quote -32767 + -128
+-32767 + -128
+quote -32767 + -127
+-32767 + -127
+quote -32767 + 255
+-32767 + 255
+quote -32767 + 256
+-32767 + 256
+quote -32767 + 65535
+-32767 + 65535
+quote -32767 + 65536
+-32767 + 65536
+quote -32767 + 4294967295
+-32767 + 4294967295
+quote -32767 + 4294967296
+-32767 + 4294967296
+quote -32767 + 18446744073709551615
+-32767 + 18446744073709551615
+quote -32767 + 18446744073709551616
+-32767 + 18446744073709551616
+quote -32767 + 340282366920938463463374607431768211455
+-32767 + 340282366920938463463374607431768211455
+quote -32767 + 340282366920938463463374607431768211456
+-32767 + 340282366920938463463374607431768211456
+quote -128 + -170141183460469231731687303715884105728
+-128 + -170141183460469231731687303715884105728
+quote -128 + -170141183460469231731687303715884105727
+-128 + -170141183460469231731687303715884105727
+quote -128 + -9223372036854775808
+-128 + -9223372036854775808
+quote -128 + -9223372036854775807
+-128 + -9223372036854775807
+quote -128 + -2147483648
+-128 + -2147483648
+quote -128 + -2147483647
+-128 + -2147483647
+quote -128 + -32768
+-128 + -32768
+quote -128 + -32767
+-128 + -32767
+quote -128 + -128
+-128 + -128
+quote -128 + -127
+-128 + -127
+quote -128 + 255
+-128 + 255
+quote -128 + 256
+-128 + 256
+quote -128 + 65535
+-128 + 65535
+quote -128 + 65536
+-128 + 65536
+quote -128 + 4294967295
+-128 + 4294967295
+quote -128 + 4294967296
+-128 + 4294967296
+quote -128 + 18446744073709551615
+-128 + 18446744073709551615
+quote -128 + 18446744073709551616
+-128 + 18446744073709551616
+quote -128 + 340282366920938463463374607431768211455
+-128 + 340282366920938463463374607431768211455
+quote -128 + 340282366920938463463374607431768211456
+-128 + 340282366920938463463374607431768211456
+quote -127 + -170141183460469231731687303715884105728
+-127 + -170141183460469231731687303715884105728
+quote -127 + -170141183460469231731687303715884105727
+-127 + -170141183460469231731687303715884105727
+quote -127 + -9223372036854775808
+-127 + -9223372036854775808
+quote -127 + -9223372036854775807
+-127 + -9223372036854775807
+quote -127 + -2147483648
+-127 + -2147483648
+quote -127 + -2147483647
+-127 + -2147483647
+quote -127 + -32768
+-127 + -32768
+quote -127 + -32767
+-127 + -32767
+quote -127 + -128
+-127 + -128
+quote -127 + -127
+-127 + -127
+quote -127 + 255
+-127 + 255
+quote -127 + 256
+-127 + 256
+quote -127 + 65535
+-127 + 65535
+quote -127 + 65536
+-127 + 65536
+quote -127 + 4294967295
+-127 + 4294967295
+quote -127 + 4294967296
+-127 + 4294967296
+quote -127 + 18446744073709551615
+-127 + 18446744073709551615
+quote -127 + 18446744073709551616
+-127 + 18446744073709551616
+quote -127 + 340282366920938463463374607431768211455
+-127 + 340282366920938463463374607431768211455
+quote -127 + 340282366920938463463374607431768211456
+-127 + 340282366920938463463374607431768211456
+quote 255 + -170141183460469231731687303715884105728
+255 + -170141183460469231731687303715884105728
+quote 255 + -170141183460469231731687303715884105727
+255 + -170141183460469231731687303715884105727
+quote 255 + -9223372036854775808
+255 + -9223372036854775808
+quote 255 + -9223372036854775807
+255 + -9223372036854775807
+quote 255 + -2147483648
+255 + -2147483648
+quote 255 + -2147483647
+255 + -2147483647
+quote 255 + -32768
+255 + -32768
+quote 255 + -32767
+255 + -32767
+quote 255 + -128
+255 + -128
+quote 255 + -127
+255 + -127
+quote 255 + 255
+255 + 255
+quote 255 + 256
+255 + 256
+quote 255 + 65535
+255 + 65535
+quote 255 + 65536
+255 + 65536
+quote 255 + 4294967295
+255 + 4294967295
+quote 255 + 4294967296
+255 + 4294967296
+quote 255 + 18446744073709551615
+255 + 18446744073709551615
+quote 255 + 18446744073709551616
+255 + 18446744073709551616
+quote 255 + 340282366920938463463374607431768211455
+255 + 340282366920938463463374607431768211455
+quote 255 + 340282366920938463463374607431768211456
+255 + 340282366920938463463374607431768211456
+quote 256 + -170141183460469231731687303715884105728
+256 + -170141183460469231731687303715884105728
+quote 256 + -170141183460469231731687303715884105727
+256 + -170141183460469231731687303715884105727
+quote 256 + -9223372036854775808
+256 + -9223372036854775808
+quote 256 + -9223372036854775807
+256 + -9223372036854775807
+quote 256 + -2147483648
+256 + -2147483648
+quote 256 + -2147483647
+256 + -2147483647
+quote 256 + -32768
+256 + -32768
+quote 256 + -32767
+256 + -32767
+quote 256 + -128
+256 + -128
+quote 256 + -127
+256 + -127
+quote 256 + 255
+256 + 255
+quote 256 + 256
+256 + 256
+quote 256 + 65535
+256 + 65535
+quote 256 + 65536
+256 + 65536
+quote 256 + 4294967295
+256 + 4294967295
+quote 256 + 4294967296
+256 + 4294967296
+quote 256 + 18446744073709551615
+256 + 18446744073709551615
+quote 256 + 18446744073709551616
+256 + 18446744073709551616
+quote 256 + 340282366920938463463374607431768211455
+256 + 340282366920938463463374607431768211455
+quote 256 + 340282366920938463463374607431768211456
+256 + 340282366920938463463374607431768211456
+quote 65535 + -170141183460469231731687303715884105728
+65535 + -170141183460469231731687303715884105728
+quote 65535 + -170141183460469231731687303715884105727
+65535 + -170141183460469231731687303715884105727
+quote 65535 + -9223372036854775808
+65535 + -9223372036854775808
+quote 65535 + -9223372036854775807
+65535 + -9223372036854775807
+quote 65535 + -2147483648
+65535 + -2147483648
+quote 65535 + -2147483647
+65535 + -2147483647
+quote 65535 + -32768
+65535 + -32768
+quote 65535 + -32767
+65535 + -32767
+quote 65535 + -128
+65535 + -128
+quote 65535 + -127
+65535 + -127
+quote 65535 + 255
+65535 + 255
+quote 65535 + 256
+65535 + 256
+quote 65535 + 65535
+65535 + 65535
+quote 65535 + 65536
+65535 + 65536
+quote 65535 + 4294967295
+65535 + 4294967295
+quote 65535 + 4294967296
+65535 + 4294967296
+quote 65535 + 18446744073709551615
+65535 + 18446744073709551615
+quote 65535 + 18446744073709551616
+65535 + 18446744073709551616
+quote 65535 + 340282366920938463463374607431768211455
+65535 + 340282366920938463463374607431768211455
+quote 65535 + 340282366920938463463374607431768211456
+65535 + 340282366920938463463374607431768211456
+quote 65536 + -170141183460469231731687303715884105728
+65536 + -170141183460469231731687303715884105728
+quote 65536 + -170141183460469231731687303715884105727
+65536 + -170141183460469231731687303715884105727
+quote 65536 + -9223372036854775808
+65536 + -9223372036854775808
+quote 65536 + -9223372036854775807
+65536 + -9223372036854775807
+quote 65536 + -2147483648
+65536 + -2147483648
+quote 65536 + -2147483647
+65536 + -2147483647
+quote 65536 + -32768
+65536 + -32768
+quote 65536 + -32767
+65536 + -32767
+quote 65536 + -128
+65536 + -128
+quote 65536 + -127
+65536 + -127
+quote 65536 + 255
+65536 + 255
+quote 65536 + 256
+65536 + 256
+quote 65536 + 65535
+65536 + 65535
+quote 65536 + 65536
+65536 + 65536
+quote 65536 + 4294967295
+65536 + 4294967295
+quote 65536 + 4294967296
+65536 + 4294967296
+quote 65536 + 18446744073709551615
+65536 + 18446744073709551615
+quote 65536 + 18446744073709551616
+65536 + 18446744073709551616
+quote 65536 + 340282366920938463463374607431768211455
+65536 + 340282366920938463463374607431768211455
+quote 65536 + 340282366920938463463374607431768211456
+65536 + 340282366920938463463374607431768211456
+quote 4294967295 + -170141183460469231731687303715884105728
+4294967295 + -170141183460469231731687303715884105728
+quote 4294967295 + -170141183460469231731687303715884105727
+4294967295 + -170141183460469231731687303715884105727
+quote 4294967295 + -9223372036854775808
+4294967295 + -9223372036854775808
+quote 4294967295 + -9223372036854775807
+4294967295 + -9223372036854775807
+quote 4294967295 + -2147483648
+4294967295 + -2147483648
+quote 4294967295 + -2147483647
+4294967295 + -2147483647
+quote 4294967295 + -32768
+4294967295 + -32768
+quote 4294967295 + -32767
+4294967295 + -32767
+quote 4294967295 + -128
+4294967295 + -128
+quote 4294967295 + -127
+4294967295 + -127
+quote 4294967295 + 255
+4294967295 + 255
+quote 4294967295 + 256
+4294967295 + 256
+quote 4294967295 + 65535
+4294967295 + 65535
+quote 4294967295 + 65536
+4294967295 + 65536
+quote 4294967295 + 4294967295
+4294967295 + 4294967295
+quote 4294967295 + 4294967296
+4294967295 + 4294967296
+quote 4294967295 + 18446744073709551615
+4294967295 + 18446744073709551615
+quote 4294967295 + 18446744073709551616
+4294967295 + 18446744073709551616
+quote 4294967295 + 340282366920938463463374607431768211455
+4294967295 + 340282366920938463463374607431768211455
+quote 4294967295 + 340282366920938463463374607431768211456
+4294967295 + 340282366920938463463374607431768211456
+quote 4294967296 + -170141183460469231731687303715884105728
+4294967296 + -170141183460469231731687303715884105728
+quote 4294967296 + -170141183460469231731687303715884105727
+4294967296 + -170141183460469231731687303715884105727
+quote 4294967296 + -9223372036854775808
+4294967296 + -9223372036854775808
+quote 4294967296 + -9223372036854775807
+4294967296 + -9223372036854775807
+quote 4294967296 + -2147483648
+4294967296 + -2147483648
+quote 4294967296 + -2147483647
+4294967296 + -2147483647
+quote 4294967296 + -32768
+4294967296 + -32768
+quote 4294967296 + -32767
+4294967296 + -32767
+quote 4294967296 + -128
+4294967296 + -128
+quote 4294967296 + -127
+4294967296 + -127
+quote 4294967296 + 255
+4294967296 + 255
+quote 4294967296 + 256
+4294967296 + 256
+quote 4294967296 + 65535
+4294967296 + 65535
+quote 4294967296 + 65536
+4294967296 + 65536
+quote 4294967296 + 4294967295
+4294967296 + 4294967295
+quote 4294967296 + 4294967296
+4294967296 + 4294967296
+quote 4294967296 + 18446744073709551615
+4294967296 + 18446744073709551615
+quote 4294967296 + 18446744073709551616
+4294967296 + 18446744073709551616
+quote 4294967296 + 340282366920938463463374607431768211455
+4294967296 + 340282366920938463463374607431768211455
+quote 4294967296 + 340282366920938463463374607431768211456
+4294967296 + 340282366920938463463374607431768211456
+quote 18446744073709551615 + -170141183460469231731687303715884105728
+18446744073709551615 + -170141183460469231731687303715884105728
+quote 18446744073709551615 + -170141183460469231731687303715884105727
+18446744073709551615 + -170141183460469231731687303715884105727
+quote 18446744073709551615 + -9223372036854775808
+18446744073709551615 + -9223372036854775808
+quote 18446744073709551615 + -9223372036854775807
+18446744073709551615 + -9223372036854775807
+quote 18446744073709551615 + -2147483648
+18446744073709551615 + -2147483648
+quote 18446744073709551615 + -2147483647
+18446744073709551615 + -2147483647
+quote 18446744073709551615 + -32768
+18446744073709551615 + -32768
+quote 18446744073709551615 + -32767
+18446744073709551615 + -32767
+quote 18446744073709551615 + -128
+18446744073709551615 + -128
+quote 18446744073709551615 + -127
+18446744073709551615 + -127
+quote 18446744073709551615 + 255
+18446744073709551615 + 255
+quote 18446744073709551615 + 256
+18446744073709551615 + 256
+quote 18446744073709551615 + 65535
+18446744073709551615 + 65535
+quote 18446744073709551615 + 65536
+18446744073709551615 + 65536
+quote 18446744073709551615 + 4294967295
+18446744073709551615 + 4294967295
+quote 18446744073709551615 + 4294967296
+18446744073709551615 + 4294967296
+quote 18446744073709551615 + 18446744073709551615
+18446744073709551615 + 18446744073709551615
+quote 18446744073709551615 + 18446744073709551616
+18446744073709551615 + 18446744073709551616
+quote 18446744073709551615 + 340282366920938463463374607431768211455
+18446744073709551615 + 340282366920938463463374607431768211455
+quote 18446744073709551615 + 340282366920938463463374607431768211456
+18446744073709551615 + 340282366920938463463374607431768211456
+quote 18446744073709551616 + -170141183460469231731687303715884105728
+18446744073709551616 + -170141183460469231731687303715884105728
+quote 18446744073709551616 + -170141183460469231731687303715884105727
+18446744073709551616 + -170141183460469231731687303715884105727
+quote 18446744073709551616 + -9223372036854775808
+18446744073709551616 + -9223372036854775808
+quote 18446744073709551616 + -9223372036854775807
+18446744073709551616 + -9223372036854775807
+quote 18446744073709551616 + -2147483648
+18446744073709551616 + -2147483648
+quote 18446744073709551616 + -2147483647
+18446744073709551616 + -2147483647
+quote 18446744073709551616 + -32768
+18446744073709551616 + -32768
+quote 18446744073709551616 + -32767
+18446744073709551616 + -32767
+quote 18446744073709551616 + -128
+18446744073709551616 + -128
+quote 18446744073709551616 + -127
+18446744073709551616 + -127
+quote 18446744073709551616 + 255
+18446744073709551616 + 255
+quote 18446744073709551616 + 256
+18446744073709551616 + 256
+quote 18446744073709551616 + 65535
+18446744073709551616 + 65535
+quote 18446744073709551616 + 65536
+18446744073709551616 + 65536
+quote 18446744073709551616 + 4294967295
+18446744073709551616 + 4294967295
+quote 18446744073709551616 + 4294967296
+18446744073709551616 + 4294967296
+quote 18446744073709551616 + 18446744073709551615
+18446744073709551616 + 18446744073709551615
+quote 18446744073709551616 + 18446744073709551616
+18446744073709551616 + 18446744073709551616
+quote 18446744073709551616 + 340282366920938463463374607431768211455
+18446744073709551616 + 340282366920938463463374607431768211455
+quote 18446744073709551616 + 340282366920938463463374607431768211456
+18446744073709551616 + 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211455 + -170141183460469231731687303715884105728
+340282366920938463463374607431768211455 + -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211455 + -170141183460469231731687303715884105727
+340282366920938463463374607431768211455 + -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211455 + -9223372036854775808
+340282366920938463463374607431768211455 + -9223372036854775808
+quote 340282366920938463463374607431768211455 + -9223372036854775807
+340282366920938463463374607431768211455 + -9223372036854775807
+quote 340282366920938463463374607431768211455 + -2147483648
+340282366920938463463374607431768211455 + -2147483648
+quote 340282366920938463463374607431768211455 + -2147483647
+340282366920938463463374607431768211455 + -2147483647
+quote 340282366920938463463374607431768211455 + -32768
+340282366920938463463374607431768211455 + -32768
+quote 340282366920938463463374607431768211455 + -32767
+340282366920938463463374607431768211455 + -32767
+quote 340282366920938463463374607431768211455 + -128
+340282366920938463463374607431768211455 + -128
+quote 340282366920938463463374607431768211455 + -127
+340282366920938463463374607431768211455 + -127
+quote 340282366920938463463374607431768211455 + 255
+340282366920938463463374607431768211455 + 255
+quote 340282366920938463463374607431768211455 + 256
+340282366920938463463374607431768211455 + 256
+quote 340282366920938463463374607431768211455 + 65535
+340282366920938463463374607431768211455 + 65535
+quote 340282366920938463463374607431768211455 + 65536
+340282366920938463463374607431768211455 + 65536
+quote 340282366920938463463374607431768211455 + 4294967295
+340282366920938463463374607431768211455 + 4294967295
+quote 340282366920938463463374607431768211455 + 4294967296
+340282366920938463463374607431768211455 + 4294967296
+quote 340282366920938463463374607431768211455 + 18446744073709551615
+340282366920938463463374607431768211455 + 18446744073709551615
+quote 340282366920938463463374607431768211455 + 18446744073709551616
+340282366920938463463374607431768211455 + 18446744073709551616
+quote 340282366920938463463374607431768211455 + 340282366920938463463374607431768211455
+340282366920938463463374607431768211455 + 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211455 + 340282366920938463463374607431768211456
+340282366920938463463374607431768211455 + 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211456 + -170141183460469231731687303715884105728
+340282366920938463463374607431768211456 + -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211456 + -170141183460469231731687303715884105727
+340282366920938463463374607431768211456 + -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211456 + -9223372036854775808
+340282366920938463463374607431768211456 + -9223372036854775808
+quote 340282366920938463463374607431768211456 + -9223372036854775807
+340282366920938463463374607431768211456 + -9223372036854775807
+quote 340282366920938463463374607431768211456 + -2147483648
+340282366920938463463374607431768211456 + -2147483648
+quote 340282366920938463463374607431768211456 + -2147483647
+340282366920938463463374607431768211456 + -2147483647
+quote 340282366920938463463374607431768211456 + -32768
+340282366920938463463374607431768211456 + -32768
+quote 340282366920938463463374607431768211456 + -32767
+340282366920938463463374607431768211456 + -32767
+quote 340282366920938463463374607431768211456 + -128
+340282366920938463463374607431768211456 + -128
+quote 340282366920938463463374607431768211456 + -127
+340282366920938463463374607431768211456 + -127
+quote 340282366920938463463374607431768211456 + 255
+340282366920938463463374607431768211456 + 255
+quote 340282366920938463463374607431768211456 + 256
+340282366920938463463374607431768211456 + 256
+quote 340282366920938463463374607431768211456 + 65535
+340282366920938463463374607431768211456 + 65535
+quote 340282366920938463463374607431768211456 + 65536
+340282366920938463463374607431768211456 + 65536
+quote 340282366920938463463374607431768211456 + 4294967295
+340282366920938463463374607431768211456 + 4294967295
+quote 340282366920938463463374607431768211456 + 4294967296
+340282366920938463463374607431768211456 + 4294967296
+quote 340282366920938463463374607431768211456 + 18446744073709551615
+340282366920938463463374607431768211456 + 18446744073709551615
+quote 340282366920938463463374607431768211456 + 18446744073709551616
+340282366920938463463374607431768211456 + 18446744073709551616
+quote 340282366920938463463374607431768211456 + 340282366920938463463374607431768211455
+340282366920938463463374607431768211456 + 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211456 + 340282366920938463463374607431768211456
+340282366920938463463374607431768211456 + 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_add_2.out.expected b/test/ic3/integer_add_2.out.expected
new file mode 100644
index 0000000..3db7f46
--- /dev/null
+++ b/test/ic3/integer_add_2.out.expected
@@ -0,0 +1,800 @@
+-170141183460469231731687303715884105728 + -170141183460469231731687303715884105728
+-340282366920938463463374607431768211456
+-170141183460469231731687303715884105728 + -170141183460469231731687303715884105727
+-340282366920938463463374607431768211455
+-170141183460469231731687303715884105728 + -9223372036854775808
+-170141183460469231740910675752738881536
+-170141183460469231731687303715884105728 + -9223372036854775807
+-170141183460469231740910675752738881535
+-170141183460469231731687303715884105728 + -2147483648
+-170141183460469231731687303718031589376
+-170141183460469231731687303715884105728 + -2147483647
+-170141183460469231731687303718031589375
+-170141183460469231731687303715884105728 + -32768
+-170141183460469231731687303715884138496
+-170141183460469231731687303715884105728 + -32767
+-170141183460469231731687303715884138495
+-170141183460469231731687303715884105728 + -128
+-170141183460469231731687303715884105856
+-170141183460469231731687303715884105728 + -127
+-170141183460469231731687303715884105855
+-170141183460469231731687303715884105728 + 255
+-170141183460469231731687303715884105473
+-170141183460469231731687303715884105728 + 256
+-170141183460469231731687303715884105472
+-170141183460469231731687303715884105728 + 65535
+-170141183460469231731687303715884040193
+-170141183460469231731687303715884105728 + 65536
+-170141183460469231731687303715884040192
+-170141183460469231731687303715884105728 + 4294967295
+-170141183460469231731687303711589138433
+-170141183460469231731687303715884105728 + 4294967296
+-170141183460469231731687303711589138432
+-170141183460469231731687303715884105728 + 18446744073709551615
+-170141183460469231713240559642174554113
+-170141183460469231731687303715884105728 + 18446744073709551616
+-170141183460469231713240559642174554112
+-170141183460469231731687303715884105728 + 340282366920938463463374607431768211455
+170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 + 340282366920938463463374607431768211456
+170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 + -170141183460469231731687303715884105728
+-340282366920938463463374607431768211455
+-170141183460469231731687303715884105727 + -170141183460469231731687303715884105727
+-340282366920938463463374607431768211454
+-170141183460469231731687303715884105727 + -9223372036854775808
+-170141183460469231740910675752738881535
+-170141183460469231731687303715884105727 + -9223372036854775807
+-170141183460469231740910675752738881534
+-170141183460469231731687303715884105727 + -2147483648
+-170141183460469231731687303718031589375
+-170141183460469231731687303715884105727 + -2147483647
+-170141183460469231731687303718031589374
+-170141183460469231731687303715884105727 + -32768
+-170141183460469231731687303715884138495
+-170141183460469231731687303715884105727 + -32767
+-170141183460469231731687303715884138494
+-170141183460469231731687303715884105727 + -128
+-170141183460469231731687303715884105855
+-170141183460469231731687303715884105727 + -127
+-170141183460469231731687303715884105854
+-170141183460469231731687303715884105727 + 255
+-170141183460469231731687303715884105472
+-170141183460469231731687303715884105727 + 256
+-170141183460469231731687303715884105471
+-170141183460469231731687303715884105727 + 65535
+-170141183460469231731687303715884040192
+-170141183460469231731687303715884105727 + 65536
+-170141183460469231731687303715884040191
+-170141183460469231731687303715884105727 + 4294967295
+-170141183460469231731687303711589138432
+-170141183460469231731687303715884105727 + 4294967296
+-170141183460469231731687303711589138431
+-170141183460469231731687303715884105727 + 18446744073709551615
+-170141183460469231713240559642174554112
+-170141183460469231731687303715884105727 + 18446744073709551616
+-170141183460469231713240559642174554111
+-170141183460469231731687303715884105727 + 340282366920938463463374607431768211455
+170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 + 340282366920938463463374607431768211456
+170141183460469231731687303715884105729
+-9223372036854775808 + -170141183460469231731687303715884105728
+-170141183460469231740910675752738881536
+-9223372036854775808 + -170141183460469231731687303715884105727
+-170141183460469231740910675752738881535
+-9223372036854775808 + -9223372036854775808
+-18446744073709551616
+-9223372036854775808 + -9223372036854775807
+-18446744073709551615
+-9223372036854775808 + -2147483648
+-9223372039002259456
+-9223372036854775808 + -2147483647
+-9223372039002259455
+-9223372036854775808 + -32768
+-9223372036854808576
+-9223372036854775808 + -32767
+-9223372036854808575
+-9223372036854775808 + -128
+-9223372036854775936
+-9223372036854775808 + -127
+-9223372036854775935
+-9223372036854775808 + 255
+-9223372036854775553
+-9223372036854775808 + 256
+-9223372036854775552
+-9223372036854775808 + 65535
+-9223372036854710273
+-9223372036854775808 + 65536
+-9223372036854710272
+-9223372036854775808 + 4294967295
+-9223372032559808513
+-9223372036854775808 + 4294967296
+-9223372032559808512
+-9223372036854775808 + 18446744073709551615
+9223372036854775807
+-9223372036854775808 + 18446744073709551616
+9223372036854775808
+-9223372036854775808 + 340282366920938463463374607431768211455
+340282366920938463454151235394913435647
+-9223372036854775808 + 340282366920938463463374607431768211456
+340282366920938463454151235394913435648
+-9223372036854775807 + -170141183460469231731687303715884105728
+-170141183460469231740910675752738881535
+-9223372036854775807 + -170141183460469231731687303715884105727
+-170141183460469231740910675752738881534
+-9223372036854775807 + -9223372036854775808
+-18446744073709551615
+-9223372036854775807 + -9223372036854775807
+-18446744073709551614
+-9223372036854775807 + -2147483648
+-9223372039002259455
+-9223372036854775807 + -2147483647
+-9223372039002259454
+-9223372036854775807 + -32768
+-9223372036854808575
+-9223372036854775807 + -32767
+-9223372036854808574
+-9223372036854775807 + -128
+-9223372036854775935
+-9223372036854775807 + -127
+-9223372036854775934
+-9223372036854775807 + 255
+-9223372036854775552
+-9223372036854775807 + 256
+-9223372036854775551
+-9223372036854775807 + 65535
+-9223372036854710272
+-9223372036854775807 + 65536
+-9223372036854710271
+-9223372036854775807 + 4294967295
+-9223372032559808512
+-9223372036854775807 + 4294967296
+-9223372032559808511
+-9223372036854775807 + 18446744073709551615
+9223372036854775808
+-9223372036854775807 + 18446744073709551616
+9223372036854775809
+-9223372036854775807 + 340282366920938463463374607431768211455
+340282366920938463454151235394913435648
+-9223372036854775807 + 340282366920938463463374607431768211456
+340282366920938463454151235394913435649
+-2147483648 + -170141183460469231731687303715884105728
+-170141183460469231731687303718031589376
+-2147483648 + -170141183460469231731687303715884105727
+-170141183460469231731687303718031589375
+-2147483648 + -9223372036854775808
+-9223372039002259456
+-2147483648 + -9223372036854775807
+-9223372039002259455
+-2147483648 + -2147483648
+-4294967296
+-2147483648 + -2147483647
+-4294967295
+-2147483648 + -32768
+-2147516416
+-2147483648 + -32767
+-2147516415
+-2147483648 + -128
+-2147483776
+-2147483648 + -127
+-2147483775
+-2147483648 + 255
+-2147483393
+-2147483648 + 256
+-2147483392
+-2147483648 + 65535
+-2147418113
+-2147483648 + 65536
+-2147418112
+-2147483648 + 4294967295
+2147483647
+-2147483648 + 4294967296
+2147483648
+-2147483648 + 18446744073709551615
+18446744071562067967
+-2147483648 + 18446744073709551616
+18446744071562067968
+-2147483648 + 340282366920938463463374607431768211455
+340282366920938463463374607429620727807
+-2147483648 + 340282366920938463463374607431768211456
+340282366920938463463374607429620727808
+-2147483647 + -170141183460469231731687303715884105728
+-170141183460469231731687303718031589375
+-2147483647 + -170141183460469231731687303715884105727
+-170141183460469231731687303718031589374
+-2147483647 + -9223372036854775808
+-9223372039002259455
+-2147483647 + -9223372036854775807
+-9223372039002259454
+-2147483647 + -2147483648
+-4294967295
+-2147483647 + -2147483647
+-4294967294
+-2147483647 + -32768
+-2147516415
+-2147483647 + -32767
+-2147516414
+-2147483647 + -128
+-2147483775
+-2147483647 + -127
+-2147483774
+-2147483647 + 255
+-2147483392
+-2147483647 + 256
+-2147483391
+-2147483647 + 65535
+-2147418112
+-2147483647 + 65536
+-2147418111
+-2147483647 + 4294967295
+2147483648
+-2147483647 + 4294967296
+2147483649
+-2147483647 + 18446744073709551615
+18446744071562067968
+-2147483647 + 18446744073709551616
+18446744071562067969
+-2147483647 + 340282366920938463463374607431768211455
+340282366920938463463374607429620727808
+-2147483647 + 340282366920938463463374607431768211456
+340282366920938463463374607429620727809
+-32768 + -170141183460469231731687303715884105728
+-170141183460469231731687303715884138496
+-32768 + -170141183460469231731687303715884105727
+-170141183460469231731687303715884138495
+-32768 + -9223372036854775808
+-9223372036854808576
+-32768 + -9223372036854775807
+-9223372036854808575
+-32768 + -2147483648
+-2147516416
+-32768 + -2147483647
+-2147516415
+-32768 + -32768
+-65536
+-32768 + -32767
+-65535
+-32768 + -128
+-32896
+-32768 + -127
+-32895
+-32768 + 255
+-32513
+-32768 + 256
+-32512
+-32768 + 65535
+32767
+-32768 + 65536
+32768
+-32768 + 4294967295
+4294934527
+-32768 + 4294967296
+4294934528
+-32768 + 18446744073709551615
+18446744073709518847
+-32768 + 18446744073709551616
+18446744073709518848
+-32768 + 340282366920938463463374607431768211455
+340282366920938463463374607431768178687
+-32768 + 340282366920938463463374607431768211456
+340282366920938463463374607431768178688
+-32767 + -170141183460469231731687303715884105728
+-170141183460469231731687303715884138495
+-32767 + -170141183460469231731687303715884105727
+-170141183460469231731687303715884138494
+-32767 + -9223372036854775808
+-9223372036854808575
+-32767 + -9223372036854775807
+-9223372036854808574
+-32767 + -2147483648
+-2147516415
+-32767 + -2147483647
+-2147516414
+-32767 + -32768
+-65535
+-32767 + -32767
+-65534
+-32767 + -128
+-32895
+-32767 + -127
+-32894
+-32767 + 255
+-32512
+-32767 + 256
+-32511
+-32767 + 65535
+32768
+-32767 + 65536
+32769
+-32767 + 4294967295
+4294934528
+-32767 + 4294967296
+4294934529
+-32767 + 18446744073709551615
+18446744073709518848
+-32767 + 18446744073709551616
+18446744073709518849
+-32767 + 340282366920938463463374607431768211455
+340282366920938463463374607431768178688
+-32767 + 340282366920938463463374607431768211456
+340282366920938463463374607431768178689
+-128 + -170141183460469231731687303715884105728
+-170141183460469231731687303715884105856
+-128 + -170141183460469231731687303715884105727
+-170141183460469231731687303715884105855
+-128 + -9223372036854775808
+-9223372036854775936
+-128 + -9223372036854775807
+-9223372036854775935
+-128 + -2147483648
+-2147483776
+-128 + -2147483647
+-2147483775
+-128 + -32768
+-32896
+-128 + -32767
+-32895
+-128 + -128
+-256
+-128 + -127
+-255
+-128 + 255
+127
+-128 + 256
+128
+-128 + 65535
+65407
+-128 + 65536
+65408
+-128 + 4294967295
+4294967167
+-128 + 4294967296
+4294967168
+-128 + 18446744073709551615
+18446744073709551487
+-128 + 18446744073709551616
+18446744073709551488
+-128 + 340282366920938463463374607431768211455
+340282366920938463463374607431768211327
+-128 + 340282366920938463463374607431768211456
+340282366920938463463374607431768211328
+-127 + -170141183460469231731687303715884105728
+-170141183460469231731687303715884105855
+-127 + -170141183460469231731687303715884105727
+-170141183460469231731687303715884105854
+-127 + -9223372036854775808
+-9223372036854775935
+-127 + -9223372036854775807
+-9223372036854775934
+-127 + -2147483648
+-2147483775
+-127 + -2147483647
+-2147483774
+-127 + -32768
+-32895
+-127 + -32767
+-32894
+-127 + -128
+-255
+-127 + -127
+-254
+-127 + 255
+128
+-127 + 256
+129
+-127 + 65535
+65408
+-127 + 65536
+65409
+-127 + 4294967295
+4294967168
+-127 + 4294967296
+4294967169
+-127 + 18446744073709551615
+18446744073709551488
+-127 + 18446744073709551616
+18446744073709551489
+-127 + 340282366920938463463374607431768211455
+340282366920938463463374607431768211328
+-127 + 340282366920938463463374607431768211456
+340282366920938463463374607431768211329
+255 + -170141183460469231731687303715884105728
+-170141183460469231731687303715884105473
+255 + -170141183460469231731687303715884105727
+-170141183460469231731687303715884105472
+255 + -9223372036854775808
+-9223372036854775553
+255 + -9223372036854775807
+-9223372036854775552
+255 + -2147483648
+-2147483393
+255 + -2147483647
+-2147483392
+255 + -32768
+-32513
+255 + -32767
+-32512
+255 + -128
+127
+255 + -127
+128
+255 + 255
+510
+255 + 256
+511
+255 + 65535
+65790
+255 + 65536
+65791
+255 + 4294967295
+4294967550
+255 + 4294967296
+4294967551
+255 + 18446744073709551615
+18446744073709551870
+255 + 18446744073709551616
+18446744073709551871
+255 + 340282366920938463463374607431768211455
+340282366920938463463374607431768211710
+255 + 340282366920938463463374607431768211456
+340282366920938463463374607431768211711
+256 + -170141183460469231731687303715884105728
+-170141183460469231731687303715884105472
+256 + -170141183460469231731687303715884105727
+-170141183460469231731687303715884105471
+256 + -9223372036854775808
+-9223372036854775552
+256 + -9223372036854775807
+-9223372036854775551
+256 + -2147483648
+-2147483392
+256 + -2147483647
+-2147483391
+256 + -32768
+-32512
+256 + -32767
+-32511
+256 + -128
+128
+256 + -127
+129
+256 + 255
+511
+256 + 256
+512
+256 + 65535
+65791
+256 + 65536
+65792
+256 + 4294967295
+4294967551
+256 + 4294967296
+4294967552
+256 + 18446744073709551615
+18446744073709551871
+256 + 18446744073709551616
+18446744073709551872
+256 + 340282366920938463463374607431768211455
+340282366920938463463374607431768211711
+256 + 340282366920938463463374607431768211456
+340282366920938463463374607431768211712
+65535 + -170141183460469231731687303715884105728
+-170141183460469231731687303715884040193
+65535 + -170141183460469231731687303715884105727
+-170141183460469231731687303715884040192
+65535 + -9223372036854775808
+-9223372036854710273
+65535 + -9223372036854775807
+-9223372036854710272
+65535 + -2147483648
+-2147418113
+65535 + -2147483647
+-2147418112
+65535 + -32768
+32767
+65535 + -32767
+32768
+65535 + -128
+65407
+65535 + -127
+65408
+65535 + 255
+65790
+65535 + 256
+65791
+65535 + 65535
+131070
+65535 + 65536
+131071
+65535 + 4294967295
+4295032830
+65535 + 4294967296
+4295032831
+65535 + 18446744073709551615
+18446744073709617150
+65535 + 18446744073709551616
+18446744073709617151
+65535 + 340282366920938463463374607431768211455
+340282366920938463463374607431768276990
+65535 + 340282366920938463463374607431768211456
+340282366920938463463374607431768276991
+65536 + -170141183460469231731687303715884105728
+-170141183460469231731687303715884040192
+65536 + -170141183460469231731687303715884105727
+-170141183460469231731687303715884040191
+65536 + -9223372036854775808
+-9223372036854710272
+65536 + -9223372036854775807
+-9223372036854710271
+65536 + -2147483648
+-2147418112
+65536 + -2147483647
+-2147418111
+65536 + -32768
+32768
+65536 + -32767
+32769
+65536 + -128
+65408
+65536 + -127
+65409
+65536 + 255
+65791
+65536 + 256
+65792
+65536 + 65535
+131071
+65536 + 65536
+131072
+65536 + 4294967295
+4295032831
+65536 + 4294967296
+4295032832
+65536 + 18446744073709551615
+18446744073709617151
+65536 + 18446744073709551616
+18446744073709617152
+65536 + 340282366920938463463374607431768211455
+340282366920938463463374607431768276991
+65536 + 340282366920938463463374607431768211456
+340282366920938463463374607431768276992
+4294967295 + -170141183460469231731687303715884105728
+-170141183460469231731687303711589138433
+4294967295 + -170141183460469231731687303715884105727
+-170141183460469231731687303711589138432
+4294967295 + -9223372036854775808
+-9223372032559808513
+4294967295 + -9223372036854775807
+-9223372032559808512
+4294967295 + -2147483648
+2147483647
+4294967295 + -2147483647
+2147483648
+4294967295 + -32768
+4294934527
+4294967295 + -32767
+4294934528
+4294967295 + -128
+4294967167
+4294967295 + -127
+4294967168
+4294967295 + 255
+4294967550
+4294967295 + 256
+4294967551
+4294967295 + 65535
+4295032830
+4294967295 + 65536
+4295032831
+4294967295 + 4294967295
+8589934590
+4294967295 + 4294967296
+8589934591
+4294967295 + 18446744073709551615
+18446744078004518910
+4294967295 + 18446744073709551616
+18446744078004518911
+4294967295 + 340282366920938463463374607431768211455
+340282366920938463463374607436063178750
+4294967295 + 340282366920938463463374607431768211456
+340282366920938463463374607436063178751
+4294967296 + -170141183460469231731687303715884105728
+-170141183460469231731687303711589138432
+4294967296 + -170141183460469231731687303715884105727
+-170141183460469231731687303711589138431
+4294967296 + -9223372036854775808
+-9223372032559808512
+4294967296 + -9223372036854775807
+-9223372032559808511
+4294967296 + -2147483648
+2147483648
+4294967296 + -2147483647
+2147483649
+4294967296 + -32768
+4294934528
+4294967296 + -32767
+4294934529
+4294967296 + -128
+4294967168
+4294967296 + -127
+4294967169
+4294967296 + 255
+4294967551
+4294967296 + 256
+4294967552
+4294967296 + 65535
+4295032831
+4294967296 + 65536
+4295032832
+4294967296 + 4294967295
+8589934591
+4294967296 + 4294967296
+8589934592
+4294967296 + 18446744073709551615
+18446744078004518911
+4294967296 + 18446744073709551616
+18446744078004518912
+4294967296 + 340282366920938463463374607431768211455
+340282366920938463463374607436063178751
+4294967296 + 340282366920938463463374607431768211456
+340282366920938463463374607436063178752
+18446744073709551615 + -170141183460469231731687303715884105728
+-170141183460469231713240559642174554113
+18446744073709551615 + -170141183460469231731687303715884105727
+-170141183460469231713240559642174554112
+18446744073709551615 + -9223372036854775808
+9223372036854775807
+18446744073709551615 + -9223372036854775807
+9223372036854775808
+18446744073709551615 + -2147483648
+18446744071562067967
+18446744073709551615 + -2147483647
+18446744071562067968
+18446744073709551615 + -32768
+18446744073709518847
+18446744073709551615 + -32767
+18446744073709518848
+18446744073709551615 + -128
+18446744073709551487
+18446744073709551615 + -127
+18446744073709551488
+18446744073709551615 + 255
+18446744073709551870
+18446744073709551615 + 256
+18446744073709551871
+18446744073709551615 + 65535
+18446744073709617150
+18446744073709551615 + 65536
+18446744073709617151
+18446744073709551615 + 4294967295
+18446744078004518910
+18446744073709551615 + 4294967296
+18446744078004518911
+18446744073709551615 + 18446744073709551615
+36893488147419103230
+18446744073709551615 + 18446744073709551616
+36893488147419103231
+18446744073709551615 + 340282366920938463463374607431768211455
+340282366920938463481821351505477763070
+18446744073709551615 + 340282366920938463463374607431768211456
+340282366920938463481821351505477763071
+18446744073709551616 + -170141183460469231731687303715884105728
+-170141183460469231713240559642174554112
+18446744073709551616 + -170141183460469231731687303715884105727
+-170141183460469231713240559642174554111
+18446744073709551616 + -9223372036854775808
+9223372036854775808
+18446744073709551616 + -9223372036854775807
+9223372036854775809
+18446744073709551616 + -2147483648
+18446744071562067968
+18446744073709551616 + -2147483647
+18446744071562067969
+18446744073709551616 + -32768
+18446744073709518848
+18446744073709551616 + -32767
+18446744073709518849
+18446744073709551616 + -128
+18446744073709551488
+18446744073709551616 + -127
+18446744073709551489
+18446744073709551616 + 255
+18446744073709551871
+18446744073709551616 + 256
+18446744073709551872
+18446744073709551616 + 65535
+18446744073709617151
+18446744073709551616 + 65536
+18446744073709617152
+18446744073709551616 + 4294967295
+18446744078004518911
+18446744073709551616 + 4294967296
+18446744078004518912
+18446744073709551616 + 18446744073709551615
+36893488147419103231
+18446744073709551616 + 18446744073709551616
+36893488147419103232
+18446744073709551616 + 340282366920938463463374607431768211455
+340282366920938463481821351505477763071
+18446744073709551616 + 340282366920938463463374607431768211456
+340282366920938463481821351505477763072
+340282366920938463463374607431768211455 + -170141183460469231731687303715884105728
+170141183460469231731687303715884105727
+340282366920938463463374607431768211455 + -170141183460469231731687303715884105727
+170141183460469231731687303715884105728
+340282366920938463463374607431768211455 + -9223372036854775808
+340282366920938463454151235394913435647
+340282366920938463463374607431768211455 + -9223372036854775807
+340282366920938463454151235394913435648
+340282366920938463463374607431768211455 + -2147483648
+340282366920938463463374607429620727807
+340282366920938463463374607431768211455 + -2147483647
+340282366920938463463374607429620727808
+340282366920938463463374607431768211455 + -32768
+340282366920938463463374607431768178687
+340282366920938463463374607431768211455 + -32767
+340282366920938463463374607431768178688
+340282366920938463463374607431768211455 + -128
+340282366920938463463374607431768211327
+340282366920938463463374607431768211455 + -127
+340282366920938463463374607431768211328
+340282366920938463463374607431768211455 + 255
+340282366920938463463374607431768211710
+340282366920938463463374607431768211455 + 256
+340282366920938463463374607431768211711
+340282366920938463463374607431768211455 + 65535
+340282366920938463463374607431768276990
+340282366920938463463374607431768211455 + 65536
+340282366920938463463374607431768276991
+340282366920938463463374607431768211455 + 4294967295
+340282366920938463463374607436063178750
+340282366920938463463374607431768211455 + 4294967296
+340282366920938463463374607436063178751
+340282366920938463463374607431768211455 + 18446744073709551615
+340282366920938463481821351505477763070
+340282366920938463463374607431768211455 + 18446744073709551616
+340282366920938463481821351505477763071
+340282366920938463463374607431768211455 + 340282366920938463463374607431768211455
+680564733841876926926749214863536422910
+340282366920938463463374607431768211455 + 340282366920938463463374607431768211456
+680564733841876926926749214863536422911
+340282366920938463463374607431768211456 + -170141183460469231731687303715884105728
+170141183460469231731687303715884105728
+340282366920938463463374607431768211456 + -170141183460469231731687303715884105727
+170141183460469231731687303715884105729
+340282366920938463463374607431768211456 + -9223372036854775808
+340282366920938463454151235394913435648
+340282366920938463463374607431768211456 + -9223372036854775807
+340282366920938463454151235394913435649
+340282366920938463463374607431768211456 + -2147483648
+340282366920938463463374607429620727808
+340282366920938463463374607431768211456 + -2147483647
+340282366920938463463374607429620727809
+340282366920938463463374607431768211456 + -32768
+340282366920938463463374607431768178688
+340282366920938463463374607431768211456 + -32767
+340282366920938463463374607431768178689
+340282366920938463463374607431768211456 + -128
+340282366920938463463374607431768211328
+340282366920938463463374607431768211456 + -127
+340282366920938463463374607431768211329
+340282366920938463463374607431768211456 + 255
+340282366920938463463374607431768211711
+340282366920938463463374607431768211456 + 256
+340282366920938463463374607431768211712
+340282366920938463463374607431768211456 + 65535
+340282366920938463463374607431768276991
+340282366920938463463374607431768211456 + 65536
+340282366920938463463374607431768276992
+340282366920938463463374607431768211456 + 4294967295
+340282366920938463463374607436063178751
+340282366920938463463374607431768211456 + 4294967296
+340282366920938463463374607436063178752
+340282366920938463463374607431768211456 + 18446744073709551615
+340282366920938463481821351505477763071
+340282366920938463463374607431768211456 + 18446744073709551616
+340282366920938463481821351505477763072
+340282366920938463463374607431768211456 + 340282366920938463463374607431768211455
+680564733841876926926749214863536422911
+340282366920938463463374607431768211456 + 340282366920938463463374607431768211456
+680564733841876926926749214863536422912
diff --git a/test/ic3/integer_add_2.ret.expected b/test/ic3/integer_add_2.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_add_2.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_band.in b/test/ic3/integer_band.in
deleted file mode 100644
index 8f04373..0000000
--- a/test/ic3/integer_band.in
+++ /dev/null
@@ -1,800 +0,0 @@
-quote -170141183460469231731687303715884105728 & -170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105728 & -170141183460469231731687303715884105727
--170141183460469231731687303715884105728 & -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105728 & -9223372036854775808
--170141183460469231731687303715884105728 & -9223372036854775808
-quote -170141183460469231731687303715884105728 & -9223372036854775807
--170141183460469231731687303715884105728 & -9223372036854775807
-quote -170141183460469231731687303715884105728 & -2147483648
--170141183460469231731687303715884105728 & -2147483648
-quote -170141183460469231731687303715884105728 & -2147483647
--170141183460469231731687303715884105728 & -2147483647
-quote -170141183460469231731687303715884105728 & -32768
--170141183460469231731687303715884105728 & -32768
-quote -170141183460469231731687303715884105728 & -32767
--170141183460469231731687303715884105728 & -32767
-quote -170141183460469231731687303715884105728 & -128
--170141183460469231731687303715884105728 & -128
-quote -170141183460469231731687303715884105728 & -127
--170141183460469231731687303715884105728 & -127
-quote -170141183460469231731687303715884105728 & 255
--170141183460469231731687303715884105728 & 255
-quote -170141183460469231731687303715884105728 & 256
--170141183460469231731687303715884105728 & 256
-quote -170141183460469231731687303715884105728 & 65535
--170141183460469231731687303715884105728 & 65535
-quote -170141183460469231731687303715884105728 & 65536
--170141183460469231731687303715884105728 & 65536
-quote -170141183460469231731687303715884105728 & 4294967295
--170141183460469231731687303715884105728 & 4294967295
-quote -170141183460469231731687303715884105728 & 4294967296
--170141183460469231731687303715884105728 & 4294967296
-quote -170141183460469231731687303715884105728 & 18446744073709551615
--170141183460469231731687303715884105728 & 18446744073709551615
-quote -170141183460469231731687303715884105728 & 18446744073709551616
--170141183460469231731687303715884105728 & 18446744073709551616
-quote -170141183460469231731687303715884105728 & 340282366920938463463374607431768211455
--170141183460469231731687303715884105728 & 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105728 & 340282366920938463463374607431768211456
--170141183460469231731687303715884105728 & 340282366920938463463374607431768211456
-quote -170141183460469231731687303715884105727 & -170141183460469231731687303715884105728
--170141183460469231731687303715884105727 & -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105727 & -170141183460469231731687303715884105727
--170141183460469231731687303715884105727 & -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105727 & -9223372036854775808
--170141183460469231731687303715884105727 & -9223372036854775808
-quote -170141183460469231731687303715884105727 & -9223372036854775807
--170141183460469231731687303715884105727 & -9223372036854775807
-quote -170141183460469231731687303715884105727 & -2147483648
--170141183460469231731687303715884105727 & -2147483648
-quote -170141183460469231731687303715884105727 & -2147483647
--170141183460469231731687303715884105727 & -2147483647
-quote -170141183460469231731687303715884105727 & -32768
--170141183460469231731687303715884105727 & -32768
-quote -170141183460469231731687303715884105727 & -32767
--170141183460469231731687303715884105727 & -32767
-quote -170141183460469231731687303715884105727 & -128
--170141183460469231731687303715884105727 & -128
-quote -170141183460469231731687303715884105727 & -127
--170141183460469231731687303715884105727 & -127
-quote -170141183460469231731687303715884105727 & 255
--170141183460469231731687303715884105727 & 255
-quote -170141183460469231731687303715884105727 & 256
--170141183460469231731687303715884105727 & 256
-quote -170141183460469231731687303715884105727 & 65535
--170141183460469231731687303715884105727 & 65535
-quote -170141183460469231731687303715884105727 & 65536
--170141183460469231731687303715884105727 & 65536
-quote -170141183460469231731687303715884105727 & 4294967295
--170141183460469231731687303715884105727 & 4294967295
-quote -170141183460469231731687303715884105727 & 4294967296
--170141183460469231731687303715884105727 & 4294967296
-quote -170141183460469231731687303715884105727 & 18446744073709551615
--170141183460469231731687303715884105727 & 18446744073709551615
-quote -170141183460469231731687303715884105727 & 18446744073709551616
--170141183460469231731687303715884105727 & 18446744073709551616
-quote -170141183460469231731687303715884105727 & 340282366920938463463374607431768211455
--170141183460469231731687303715884105727 & 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105727 & 340282366920938463463374607431768211456
--170141183460469231731687303715884105727 & 340282366920938463463374607431768211456
-quote -9223372036854775808 & -170141183460469231731687303715884105728
--9223372036854775808 & -170141183460469231731687303715884105728
-quote -9223372036854775808 & -170141183460469231731687303715884105727
--9223372036854775808 & -170141183460469231731687303715884105727
-quote -9223372036854775808 & -9223372036854775808
--9223372036854775808 & -9223372036854775808
-quote -9223372036854775808 & -9223372036854775807
--9223372036854775808 & -9223372036854775807
-quote -9223372036854775808 & -2147483648
--9223372036854775808 & -2147483648
-quote -9223372036854775808 & -2147483647
--9223372036854775808 & -2147483647
-quote -9223372036854775808 & -32768
--9223372036854775808 & -32768
-quote -9223372036854775808 & -32767
--9223372036854775808 & -32767
-quote -9223372036854775808 & -128
--9223372036854775808 & -128
-quote -9223372036854775808 & -127
--9223372036854775808 & -127
-quote -9223372036854775808 & 255
--9223372036854775808 & 255
-quote -9223372036854775808 & 256
--9223372036854775808 & 256
-quote -9223372036854775808 & 65535
--9223372036854775808 & 65535
-quote -9223372036854775808 & 65536
--9223372036854775808 & 65536
-quote -9223372036854775808 & 4294967295
--9223372036854775808 & 4294967295
-quote -9223372036854775808 & 4294967296
--9223372036854775808 & 4294967296
-quote -9223372036854775808 & 18446744073709551615
--9223372036854775808 & 18446744073709551615
-quote -9223372036854775808 & 18446744073709551616
--9223372036854775808 & 18446744073709551616
-quote -9223372036854775808 & 340282366920938463463374607431768211455
--9223372036854775808 & 340282366920938463463374607431768211455
-quote -9223372036854775808 & 340282366920938463463374607431768211456
--9223372036854775808 & 340282366920938463463374607431768211456
-quote -9223372036854775807 & -170141183460469231731687303715884105728
--9223372036854775807 & -170141183460469231731687303715884105728
-quote -9223372036854775807 & -170141183460469231731687303715884105727
--9223372036854775807 & -170141183460469231731687303715884105727
-quote -9223372036854775807 & -9223372036854775808
--9223372036854775807 & -9223372036854775808
-quote -9223372036854775807 & -9223372036854775807
--9223372036854775807 & -9223372036854775807
-quote -9223372036854775807 & -2147483648
--9223372036854775807 & -2147483648
-quote -9223372036854775807 & -2147483647
--9223372036854775807 & -2147483647
-quote -9223372036854775807 & -32768
--9223372036854775807 & -32768
-quote -9223372036854775807 & -32767
--9223372036854775807 & -32767
-quote -9223372036854775807 & -128
--9223372036854775807 & -128
-quote -9223372036854775807 & -127
--9223372036854775807 & -127
-quote -9223372036854775807 & 255
--9223372036854775807 & 255
-quote -9223372036854775807 & 256
--9223372036854775807 & 256
-quote -9223372036854775807 & 65535
--9223372036854775807 & 65535
-quote -9223372036854775807 & 65536
--9223372036854775807 & 65536
-quote -9223372036854775807 & 4294967295
--9223372036854775807 & 4294967295
-quote -9223372036854775807 & 4294967296
--9223372036854775807 & 4294967296
-quote -9223372036854775807 & 18446744073709551615
--9223372036854775807 & 18446744073709551615
-quote -9223372036854775807 & 18446744073709551616
--9223372036854775807 & 18446744073709551616
-quote -9223372036854775807 & 340282366920938463463374607431768211455
--9223372036854775807 & 340282366920938463463374607431768211455
-quote -9223372036854775807 & 340282366920938463463374607431768211456
--9223372036854775807 & 340282366920938463463374607431768211456
-quote -2147483648 & -170141183460469231731687303715884105728
--2147483648 & -170141183460469231731687303715884105728
-quote -2147483648 & -170141183460469231731687303715884105727
--2147483648 & -170141183460469231731687303715884105727
-quote -2147483648 & -9223372036854775808
--2147483648 & -9223372036854775808
-quote -2147483648 & -9223372036854775807
--2147483648 & -9223372036854775807
-quote -2147483648 & -2147483648
--2147483648 & -2147483648
-quote -2147483648 & -2147483647
--2147483648 & -2147483647
-quote -2147483648 & -32768
--2147483648 & -32768
-quote -2147483648 & -32767
--2147483648 & -32767
-quote -2147483648 & -128
--2147483648 & -128
-quote -2147483648 & -127
--2147483648 & -127
-quote -2147483648 & 255
--2147483648 & 255
-quote -2147483648 & 256
--2147483648 & 256
-quote -2147483648 & 65535
--2147483648 & 65535
-quote -2147483648 & 65536
--2147483648 & 65536
-quote -2147483648 & 4294967295
--2147483648 & 4294967295
-quote -2147483648 & 4294967296
--2147483648 & 4294967296
-quote -2147483648 & 18446744073709551615
--2147483648 & 18446744073709551615
-quote -2147483648 & 18446744073709551616
--2147483648 & 18446744073709551616
-quote -2147483648 & 340282366920938463463374607431768211455
--2147483648 & 340282366920938463463374607431768211455
-quote -2147483648 & 340282366920938463463374607431768211456
--2147483648 & 340282366920938463463374607431768211456
-quote -2147483647 & -170141183460469231731687303715884105728
--2147483647 & -170141183460469231731687303715884105728
-quote -2147483647 & -170141183460469231731687303715884105727
--2147483647 & -170141183460469231731687303715884105727
-quote -2147483647 & -9223372036854775808
--2147483647 & -9223372036854775808
-quote -2147483647 & -9223372036854775807
--2147483647 & -9223372036854775807
-quote -2147483647 & -2147483648
--2147483647 & -2147483648
-quote -2147483647 & -2147483647
--2147483647 & -2147483647
-quote -2147483647 & -32768
--2147483647 & -32768
-quote -2147483647 & -32767
--2147483647 & -32767
-quote -2147483647 & -128
--2147483647 & -128
-quote -2147483647 & -127
--2147483647 & -127
-quote -2147483647 & 255
--2147483647 & 255
-quote -2147483647 & 256
--2147483647 & 256
-quote -2147483647 & 65535
--2147483647 & 65535
-quote -2147483647 & 65536
--2147483647 & 65536
-quote -2147483647 & 4294967295
--2147483647 & 4294967295
-quote -2147483647 & 4294967296
--2147483647 & 4294967296
-quote -2147483647 & 18446744073709551615
--2147483647 & 18446744073709551615
-quote -2147483647 & 18446744073709551616
--2147483647 & 18446744073709551616
-quote -2147483647 & 340282366920938463463374607431768211455
--2147483647 & 340282366920938463463374607431768211455
-quote -2147483647 & 340282366920938463463374607431768211456
--2147483647 & 340282366920938463463374607431768211456
-quote -32768 & -170141183460469231731687303715884105728
--32768 & -170141183460469231731687303715884105728
-quote -32768 & -170141183460469231731687303715884105727
--32768 & -170141183460469231731687303715884105727
-quote -32768 & -9223372036854775808
--32768 & -9223372036854775808
-quote -32768 & -9223372036854775807
--32768 & -9223372036854775807
-quote -32768 & -2147483648
--32768 & -2147483648
-quote -32768 & -2147483647
--32768 & -2147483647
-quote -32768 & -32768
--32768 & -32768
-quote -32768 & -32767
--32768 & -32767
-quote -32768 & -128
--32768 & -128
-quote -32768 & -127
--32768 & -127
-quote -32768 & 255
--32768 & 255
-quote -32768 & 256
--32768 & 256
-quote -32768 & 65535
--32768 & 65535
-quote -32768 & 65536
--32768 & 65536
-quote -32768 & 4294967295
--32768 & 4294967295
-quote -32768 & 4294967296
--32768 & 4294967296
-quote -32768 & 18446744073709551615
--32768 & 18446744073709551615
-quote -32768 & 18446744073709551616
--32768 & 18446744073709551616
-quote -32768 & 340282366920938463463374607431768211455
--32768 & 340282366920938463463374607431768211455
-quote -32768 & 340282366920938463463374607431768211456
--32768 & 340282366920938463463374607431768211456
-quote -32767 & -170141183460469231731687303715884105728
--32767 & -170141183460469231731687303715884105728
-quote -32767 & -170141183460469231731687303715884105727
--32767 & -170141183460469231731687303715884105727
-quote -32767 & -9223372036854775808
--32767 & -9223372036854775808
-quote -32767 & -9223372036854775807
--32767 & -9223372036854775807
-quote -32767 & -2147483648
--32767 & -2147483648
-quote -32767 & -2147483647
--32767 & -2147483647
-quote -32767 & -32768
--32767 & -32768
-quote -32767 & -32767
--32767 & -32767
-quote -32767 & -128
--32767 & -128
-quote -32767 & -127
--32767 & -127
-quote -32767 & 255
--32767 & 255
-quote -32767 & 256
--32767 & 256
-quote -32767 & 65535
--32767 & 65535
-quote -32767 & 65536
--32767 & 65536
-quote -32767 & 4294967295
--32767 & 4294967295
-quote -32767 & 4294967296
--32767 & 4294967296
-quote -32767 & 18446744073709551615
--32767 & 18446744073709551615
-quote -32767 & 18446744073709551616
--32767 & 18446744073709551616
-quote -32767 & 340282366920938463463374607431768211455
--32767 & 340282366920938463463374607431768211455
-quote -32767 & 340282366920938463463374607431768211456
--32767 & 340282366920938463463374607431768211456
-quote -128 & -170141183460469231731687303715884105728
--128 & -170141183460469231731687303715884105728
-quote -128 & -170141183460469231731687303715884105727
--128 & -170141183460469231731687303715884105727
-quote -128 & -9223372036854775808
--128 & -9223372036854775808
-quote -128 & -9223372036854775807
--128 & -9223372036854775807
-quote -128 & -2147483648
--128 & -2147483648
-quote -128 & -2147483647
--128 & -2147483647
-quote -128 & -32768
--128 & -32768
-quote -128 & -32767
--128 & -32767
-quote -128 & -128
--128 & -128
-quote -128 & -127
--128 & -127
-quote -128 & 255
--128 & 255
-quote -128 & 256
--128 & 256
-quote -128 & 65535
--128 & 65535
-quote -128 & 65536
--128 & 65536
-quote -128 & 4294967295
--128 & 4294967295
-quote -128 & 4294967296
--128 & 4294967296
-quote -128 & 18446744073709551615
--128 & 18446744073709551615
-quote -128 & 18446744073709551616
--128 & 18446744073709551616
-quote -128 & 340282366920938463463374607431768211455
--128 & 340282366920938463463374607431768211455
-quote -128 & 340282366920938463463374607431768211456
--128 & 340282366920938463463374607431768211456
-quote -127 & -170141183460469231731687303715884105728
--127 & -170141183460469231731687303715884105728
-quote -127 & -170141183460469231731687303715884105727
--127 & -170141183460469231731687303715884105727
-quote -127 & -9223372036854775808
--127 & -9223372036854775808
-quote -127 & -9223372036854775807
--127 & -9223372036854775807
-quote -127 & -2147483648
--127 & -2147483648
-quote -127 & -2147483647
--127 & -2147483647
-quote -127 & -32768
--127 & -32768
-quote -127 & -32767
--127 & -32767
-quote -127 & -128
--127 & -128
-quote -127 & -127
--127 & -127
-quote -127 & 255
--127 & 255
-quote -127 & 256
--127 & 256
-quote -127 & 65535
--127 & 65535
-quote -127 & 65536
--127 & 65536
-quote -127 & 4294967295
--127 & 4294967295
-quote -127 & 4294967296
--127 & 4294967296
-quote -127 & 18446744073709551615
--127 & 18446744073709551615
-quote -127 & 18446744073709551616
--127 & 18446744073709551616
-quote -127 & 340282366920938463463374607431768211455
--127 & 340282366920938463463374607431768211455
-quote -127 & 340282366920938463463374607431768211456
--127 & 340282366920938463463374607431768211456
-quote 255 & -170141183460469231731687303715884105728
-255 & -170141183460469231731687303715884105728
-quote 255 & -170141183460469231731687303715884105727
-255 & -170141183460469231731687303715884105727
-quote 255 & -9223372036854775808
-255 & -9223372036854775808
-quote 255 & -9223372036854775807
-255 & -9223372036854775807
-quote 255 & -2147483648
-255 & -2147483648
-quote 255 & -2147483647
-255 & -2147483647
-quote 255 & -32768
-255 & -32768
-quote 255 & -32767
-255 & -32767
-quote 255 & -128
-255 & -128
-quote 255 & -127
-255 & -127
-quote 255 & 255
-255 & 255
-quote 255 & 256
-255 & 256
-quote 255 & 65535
-255 & 65535
-quote 255 & 65536
-255 & 65536
-quote 255 & 4294967295
-255 & 4294967295
-quote 255 & 4294967296
-255 & 4294967296
-quote 255 & 18446744073709551615
-255 & 18446744073709551615
-quote 255 & 18446744073709551616
-255 & 18446744073709551616
-quote 255 & 340282366920938463463374607431768211455
-255 & 340282366920938463463374607431768211455
-quote 255 & 340282366920938463463374607431768211456
-255 & 340282366920938463463374607431768211456
-quote 256 & -170141183460469231731687303715884105728
-256 & -170141183460469231731687303715884105728
-quote 256 & -170141183460469231731687303715884105727
-256 & -170141183460469231731687303715884105727
-quote 256 & -9223372036854775808
-256 & -9223372036854775808
-quote 256 & -9223372036854775807
-256 & -9223372036854775807
-quote 256 & -2147483648
-256 & -2147483648
-quote 256 & -2147483647
-256 & -2147483647
-quote 256 & -32768
-256 & -32768
-quote 256 & -32767
-256 & -32767
-quote 256 & -128
-256 & -128
-quote 256 & -127
-256 & -127
-quote 256 & 255
-256 & 255
-quote 256 & 256
-256 & 256
-quote 256 & 65535
-256 & 65535
-quote 256 & 65536
-256 & 65536
-quote 256 & 4294967295
-256 & 4294967295
-quote 256 & 4294967296
-256 & 4294967296
-quote 256 & 18446744073709551615
-256 & 18446744073709551615
-quote 256 & 18446744073709551616
-256 & 18446744073709551616
-quote 256 & 340282366920938463463374607431768211455
-256 & 340282366920938463463374607431768211455
-quote 256 & 340282366920938463463374607431768211456
-256 & 340282366920938463463374607431768211456
-quote 65535 & -170141183460469231731687303715884105728
-65535 & -170141183460469231731687303715884105728
-quote 65535 & -170141183460469231731687303715884105727
-65535 & -170141183460469231731687303715884105727
-quote 65535 & -9223372036854775808
-65535 & -9223372036854775808
-quote 65535 & -9223372036854775807
-65535 & -9223372036854775807
-quote 65535 & -2147483648
-65535 & -2147483648
-quote 65535 & -2147483647
-65535 & -2147483647
-quote 65535 & -32768
-65535 & -32768
-quote 65535 & -32767
-65535 & -32767
-quote 65535 & -128
-65535 & -128
-quote 65535 & -127
-65535 & -127
-quote 65535 & 255
-65535 & 255
-quote 65535 & 256
-65535 & 256
-quote 65535 & 65535
-65535 & 65535
-quote 65535 & 65536
-65535 & 65536
-quote 65535 & 4294967295
-65535 & 4294967295
-quote 65535 & 4294967296
-65535 & 4294967296
-quote 65535 & 18446744073709551615
-65535 & 18446744073709551615
-quote 65535 & 18446744073709551616
-65535 & 18446744073709551616
-quote 65535 & 340282366920938463463374607431768211455
-65535 & 340282366920938463463374607431768211455
-quote 65535 & 340282366920938463463374607431768211456
-65535 & 340282366920938463463374607431768211456
-quote 65536 & -170141183460469231731687303715884105728
-65536 & -170141183460469231731687303715884105728
-quote 65536 & -170141183460469231731687303715884105727
-65536 & -170141183460469231731687303715884105727
-quote 65536 & -9223372036854775808
-65536 & -9223372036854775808
-quote 65536 & -9223372036854775807
-65536 & -9223372036854775807
-quote 65536 & -2147483648
-65536 & -2147483648
-quote 65536 & -2147483647
-65536 & -2147483647
-quote 65536 & -32768
-65536 & -32768
-quote 65536 & -32767
-65536 & -32767
-quote 65536 & -128
-65536 & -128
-quote 65536 & -127
-65536 & -127
-quote 65536 & 255
-65536 & 255
-quote 65536 & 256
-65536 & 256
-quote 65536 & 65535
-65536 & 65535
-quote 65536 & 65536
-65536 & 65536
-quote 65536 & 4294967295
-65536 & 4294967295
-quote 65536 & 4294967296
-65536 & 4294967296
-quote 65536 & 18446744073709551615
-65536 & 18446744073709551615
-quote 65536 & 18446744073709551616
-65536 & 18446744073709551616
-quote 65536 & 340282366920938463463374607431768211455
-65536 & 340282366920938463463374607431768211455
-quote 65536 & 340282366920938463463374607431768211456
-65536 & 340282366920938463463374607431768211456
-quote 4294967295 & -170141183460469231731687303715884105728
-4294967295 & -170141183460469231731687303715884105728
-quote 4294967295 & -170141183460469231731687303715884105727
-4294967295 & -170141183460469231731687303715884105727
-quote 4294967295 & -9223372036854775808
-4294967295 & -9223372036854775808
-quote 4294967295 & -9223372036854775807
-4294967295 & -9223372036854775807
-quote 4294967295 & -2147483648
-4294967295 & -2147483648
-quote 4294967295 & -2147483647
-4294967295 & -2147483647
-quote 4294967295 & -32768
-4294967295 & -32768
-quote 4294967295 & -32767
-4294967295 & -32767
-quote 4294967295 & -128
-4294967295 & -128
-quote 4294967295 & -127
-4294967295 & -127
-quote 4294967295 & 255
-4294967295 & 255
-quote 4294967295 & 256
-4294967295 & 256
-quote 4294967295 & 65535
-4294967295 & 65535
-quote 4294967295 & 65536
-4294967295 & 65536
-quote 4294967295 & 4294967295
-4294967295 & 4294967295
-quote 4294967295 & 4294967296
-4294967295 & 4294967296
-quote 4294967295 & 18446744073709551615
-4294967295 & 18446744073709551615
-quote 4294967295 & 18446744073709551616
-4294967295 & 18446744073709551616
-quote 4294967295 & 340282366920938463463374607431768211455
-4294967295 & 340282366920938463463374607431768211455
-quote 4294967295 & 340282366920938463463374607431768211456
-4294967295 & 340282366920938463463374607431768211456
-quote 4294967296 & -170141183460469231731687303715884105728
-4294967296 & -170141183460469231731687303715884105728
-quote 4294967296 & -170141183460469231731687303715884105727
-4294967296 & -170141183460469231731687303715884105727
-quote 4294967296 & -9223372036854775808
-4294967296 & -9223372036854775808
-quote 4294967296 & -9223372036854775807
-4294967296 & -9223372036854775807
-quote 4294967296 & -2147483648
-4294967296 & -2147483648
-quote 4294967296 & -2147483647
-4294967296 & -2147483647
-quote 4294967296 & -32768
-4294967296 & -32768
-quote 4294967296 & -32767
-4294967296 & -32767
-quote 4294967296 & -128
-4294967296 & -128
-quote 4294967296 & -127
-4294967296 & -127
-quote 4294967296 & 255
-4294967296 & 255
-quote 4294967296 & 256
-4294967296 & 256
-quote 4294967296 & 65535
-4294967296 & 65535
-quote 4294967296 & 65536
-4294967296 & 65536
-quote 4294967296 & 4294967295
-4294967296 & 4294967295
-quote 4294967296 & 4294967296
-4294967296 & 4294967296
-quote 4294967296 & 18446744073709551615
-4294967296 & 18446744073709551615
-quote 4294967296 & 18446744073709551616
-4294967296 & 18446744073709551616
-quote 4294967296 & 340282366920938463463374607431768211455
-4294967296 & 340282366920938463463374607431768211455
-quote 4294967296 & 340282366920938463463374607431768211456
-4294967296 & 340282366920938463463374607431768211456
-quote 18446744073709551615 & -170141183460469231731687303715884105728
-18446744073709551615 & -170141183460469231731687303715884105728
-quote 18446744073709551615 & -170141183460469231731687303715884105727
-18446744073709551615 & -170141183460469231731687303715884105727
-quote 18446744073709551615 & -9223372036854775808
-18446744073709551615 & -9223372036854775808
-quote 18446744073709551615 & -9223372036854775807
-18446744073709551615 & -9223372036854775807
-quote 18446744073709551615 & -2147483648
-18446744073709551615 & -2147483648
-quote 18446744073709551615 & -2147483647
-18446744073709551615 & -2147483647
-quote 18446744073709551615 & -32768
-18446744073709551615 & -32768
-quote 18446744073709551615 & -32767
-18446744073709551615 & -32767
-quote 18446744073709551615 & -128
-18446744073709551615 & -128
-quote 18446744073709551615 & -127
-18446744073709551615 & -127
-quote 18446744073709551615 & 255
-18446744073709551615 & 255
-quote 18446744073709551615 & 256
-18446744073709551615 & 256
-quote 18446744073709551615 & 65535
-18446744073709551615 & 65535
-quote 18446744073709551615 & 65536
-18446744073709551615 & 65536
-quote 18446744073709551615 & 4294967295
-18446744073709551615 & 4294967295
-quote 18446744073709551615 & 4294967296
-18446744073709551615 & 4294967296
-quote 18446744073709551615 & 18446744073709551615
-18446744073709551615 & 18446744073709551615
-quote 18446744073709551615 & 18446744073709551616
-18446744073709551615 & 18446744073709551616
-quote 18446744073709551615 & 340282366920938463463374607431768211455
-18446744073709551615 & 340282366920938463463374607431768211455
-quote 18446744073709551615 & 340282366920938463463374607431768211456
-18446744073709551615 & 340282366920938463463374607431768211456
-quote 18446744073709551616 & -170141183460469231731687303715884105728
-18446744073709551616 & -170141183460469231731687303715884105728
-quote 18446744073709551616 & -170141183460469231731687303715884105727
-18446744073709551616 & -170141183460469231731687303715884105727
-quote 18446744073709551616 & -9223372036854775808
-18446744073709551616 & -9223372036854775808
-quote 18446744073709551616 & -9223372036854775807
-18446744073709551616 & -9223372036854775807
-quote 18446744073709551616 & -2147483648
-18446744073709551616 & -2147483648
-quote 18446744073709551616 & -2147483647
-18446744073709551616 & -2147483647
-quote 18446744073709551616 & -32768
-18446744073709551616 & -32768
-quote 18446744073709551616 & -32767
-18446744073709551616 & -32767
-quote 18446744073709551616 & -128
-18446744073709551616 & -128
-quote 18446744073709551616 & -127
-18446744073709551616 & -127
-quote 18446744073709551616 & 255
-18446744073709551616 & 255
-quote 18446744073709551616 & 256
-18446744073709551616 & 256
-quote 18446744073709551616 & 65535
-18446744073709551616 & 65535
-quote 18446744073709551616 & 65536
-18446744073709551616 & 65536
-quote 18446744073709551616 & 4294967295
-18446744073709551616 & 4294967295
-quote 18446744073709551616 & 4294967296
-18446744073709551616 & 4294967296
-quote 18446744073709551616 & 18446744073709551615
-18446744073709551616 & 18446744073709551615
-quote 18446744073709551616 & 18446744073709551616
-18446744073709551616 & 18446744073709551616
-quote 18446744073709551616 & 340282366920938463463374607431768211455
-18446744073709551616 & 340282366920938463463374607431768211455
-quote 18446744073709551616 & 340282366920938463463374607431768211456
-18446744073709551616 & 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211455 & -170141183460469231731687303715884105728
-340282366920938463463374607431768211455 & -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211455 & -170141183460469231731687303715884105727
-340282366920938463463374607431768211455 & -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211455 & -9223372036854775808
-340282366920938463463374607431768211455 & -9223372036854775808
-quote 340282366920938463463374607431768211455 & -9223372036854775807
-340282366920938463463374607431768211455 & -9223372036854775807
-quote 340282366920938463463374607431768211455 & -2147483648
-340282366920938463463374607431768211455 & -2147483648
-quote 340282366920938463463374607431768211455 & -2147483647
-340282366920938463463374607431768211455 & -2147483647
-quote 340282366920938463463374607431768211455 & -32768
-340282366920938463463374607431768211455 & -32768
-quote 340282366920938463463374607431768211455 & -32767
-340282366920938463463374607431768211455 & -32767
-quote 340282366920938463463374607431768211455 & -128
-340282366920938463463374607431768211455 & -128
-quote 340282366920938463463374607431768211455 & -127
-340282366920938463463374607431768211455 & -127
-quote 340282366920938463463374607431768211455 & 255
-340282366920938463463374607431768211455 & 255
-quote 340282366920938463463374607431768211455 & 256
-340282366920938463463374607431768211455 & 256
-quote 340282366920938463463374607431768211455 & 65535
-340282366920938463463374607431768211455 & 65535
-quote 340282366920938463463374607431768211455 & 65536
-340282366920938463463374607431768211455 & 65536
-quote 340282366920938463463374607431768211455 & 4294967295
-340282366920938463463374607431768211455 & 4294967295
-quote 340282366920938463463374607431768211455 & 4294967296
-340282366920938463463374607431768211455 & 4294967296
-quote 340282366920938463463374607431768211455 & 18446744073709551615
-340282366920938463463374607431768211455 & 18446744073709551615
-quote 340282366920938463463374607431768211455 & 18446744073709551616
-340282366920938463463374607431768211455 & 18446744073709551616
-quote 340282366920938463463374607431768211455 & 340282366920938463463374607431768211455
-340282366920938463463374607431768211455 & 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211455 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211455 & 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211456 & -170141183460469231731687303715884105728
-340282366920938463463374607431768211456 & -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211456 & -170141183460469231731687303715884105727
-340282366920938463463374607431768211456 & -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211456 & -9223372036854775808
-340282366920938463463374607431768211456 & -9223372036854775808
-quote 340282366920938463463374607431768211456 & -9223372036854775807
-340282366920938463463374607431768211456 & -9223372036854775807
-quote 340282366920938463463374607431768211456 & -2147483648
-340282366920938463463374607431768211456 & -2147483648
-quote 340282366920938463463374607431768211456 & -2147483647
-340282366920938463463374607431768211456 & -2147483647
-quote 340282366920938463463374607431768211456 & -32768
-340282366920938463463374607431768211456 & -32768
-quote 340282366920938463463374607431768211456 & -32767
-340282366920938463463374607431768211456 & -32767
-quote 340282366920938463463374607431768211456 & -128
-340282366920938463463374607431768211456 & -128
-quote 340282366920938463463374607431768211456 & -127
-340282366920938463463374607431768211456 & -127
-quote 340282366920938463463374607431768211456 & 255
-340282366920938463463374607431768211456 & 255
-quote 340282366920938463463374607431768211456 & 256
-340282366920938463463374607431768211456 & 256
-quote 340282366920938463463374607431768211456 & 65535
-340282366920938463463374607431768211456 & 65535
-quote 340282366920938463463374607431768211456 & 65536
-340282366920938463463374607431768211456 & 65536
-quote 340282366920938463463374607431768211456 & 4294967295
-340282366920938463463374607431768211456 & 4294967295
-quote 340282366920938463463374607431768211456 & 4294967296
-340282366920938463463374607431768211456 & 4294967296
-quote 340282366920938463463374607431768211456 & 18446744073709551615
-340282366920938463463374607431768211456 & 18446744073709551615
-quote 340282366920938463463374607431768211456 & 18446744073709551616
-340282366920938463463374607431768211456 & 18446744073709551616
-quote 340282366920938463463374607431768211456 & 340282366920938463463374607431768211455
-340282366920938463463374607431768211456 & 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211456 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_band.out.expected b/test/ic3/integer_band.out.expected
deleted file mode 100644
index 1da02cd..0000000
--- a/test/ic3/integer_band.out.expected
+++ /dev/null
@@ -1,800 +0,0 @@
--170141183460469231731687303715884105728 & -170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & -170141183460469231731687303715884105727
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & -9223372036854775808
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & -9223372036854775807
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & -2147483648
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & -2147483647
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & -32768
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & -32767
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & -128
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & -127
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & 255
-0
--170141183460469231731687303715884105728 & 256
-0
--170141183460469231731687303715884105728 & 65535
-0
--170141183460469231731687303715884105728 & 65536
-0
--170141183460469231731687303715884105728 & 4294967295
-0
--170141183460469231731687303715884105728 & 4294967296
-0
--170141183460469231731687303715884105728 & 18446744073709551615
-0
--170141183460469231731687303715884105728 & 18446744073709551616
-0
--170141183460469231731687303715884105728 & 340282366920938463463374607431768211455
-170141183460469231731687303715884105728
--170141183460469231731687303715884105728 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211456
--170141183460469231731687303715884105727 & -170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--170141183460469231731687303715884105727 & -170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727 & -9223372036854775808
--170141183460469231731687303715884105728
--170141183460469231731687303715884105727 & -9223372036854775807
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727 & -2147483648
--170141183460469231731687303715884105728
--170141183460469231731687303715884105727 & -2147483647
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727 & -32768
--170141183460469231731687303715884105728
--170141183460469231731687303715884105727 & -32767
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727 & -128
--170141183460469231731687303715884105728
--170141183460469231731687303715884105727 & -127
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727 & 255
-1
--170141183460469231731687303715884105727 & 256
-0
--170141183460469231731687303715884105727 & 65535
-1
--170141183460469231731687303715884105727 & 65536
-0
--170141183460469231731687303715884105727 & 4294967295
-1
--170141183460469231731687303715884105727 & 4294967296
-0
--170141183460469231731687303715884105727 & 18446744073709551615
-1
--170141183460469231731687303715884105727 & 18446744073709551616
-0
--170141183460469231731687303715884105727 & 340282366920938463463374607431768211455
-170141183460469231731687303715884105729
--170141183460469231731687303715884105727 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211456
--9223372036854775808 & -170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--9223372036854775808 & -170141183460469231731687303715884105727
--170141183460469231731687303715884105728
--9223372036854775808 & -9223372036854775808
--9223372036854775808
--9223372036854775808 & -9223372036854775807
--9223372036854775808
--9223372036854775808 & -2147483648
--9223372036854775808
--9223372036854775808 & -2147483647
--9223372036854775808
--9223372036854775808 & -32768
--9223372036854775808
--9223372036854775808 & -32767
--9223372036854775808
--9223372036854775808 & -128
--9223372036854775808
--9223372036854775808 & -127
--9223372036854775808
--9223372036854775808 & 255
-0
--9223372036854775808 & 256
-0
--9223372036854775808 & 65535
-0
--9223372036854775808 & 65536
-0
--9223372036854775808 & 4294967295
-0
--9223372036854775808 & 4294967296
-0
--9223372036854775808 & 18446744073709551615
-9223372036854775808
--9223372036854775808 & 18446744073709551616
-18446744073709551616
--9223372036854775808 & 340282366920938463463374607431768211455
-340282366920938463454151235394913435648
--9223372036854775808 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211456
--9223372036854775807 & -170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--9223372036854775807 & -170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--9223372036854775807 & -9223372036854775808
--9223372036854775808
--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
--9223372036854775807 & 18446744073709551616
-18446744073709551616
--9223372036854775807 & 340282366920938463463374607431768211455
-340282366920938463454151235394913435649
--9223372036854775807 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211456
--2147483648 & -170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--2147483648 & -170141183460469231731687303715884105727
--170141183460469231731687303715884105728
--2147483648 & -9223372036854775808
--9223372036854775808
--2147483648 & -9223372036854775807
--9223372036854775808
--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
--2147483648 & 18446744073709551615
-18446744071562067968
--2147483648 & 18446744073709551616
-18446744073709551616
--2147483648 & 340282366920938463463374607431768211455
-340282366920938463463374607429620727808
--2147483648 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211456
--2147483647 & -170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--2147483647 & -170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--2147483647 & -9223372036854775808
--9223372036854775808
--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
--2147483647 & 18446744073709551615
-18446744071562067969
--2147483647 & 18446744073709551616
-18446744073709551616
--2147483647 & 340282366920938463463374607431768211455
-340282366920938463463374607429620727809
--2147483647 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211456
--32768 & -170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--32768 & -170141183460469231731687303715884105727
--170141183460469231731687303715884105728
--32768 & -9223372036854775808
--9223372036854775808
--32768 & -9223372036854775807
--9223372036854775808
--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
--32768 & 18446744073709551615
-18446744073709518848
--32768 & 18446744073709551616
-18446744073709551616
--32768 & 340282366920938463463374607431768211455
-340282366920938463463374607431768178688
--32768 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211456
--32767 & -170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--32767 & -170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--32767 & -9223372036854775808
--9223372036854775808
--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
--32767 & 18446744073709551615
-18446744073709518849
--32767 & 18446744073709551616
-18446744073709551616
--32767 & 340282366920938463463374607431768211455
-340282366920938463463374607431768178689
--32767 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211456
--128 & -170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--128 & -170141183460469231731687303715884105727
--170141183460469231731687303715884105728
--128 & -9223372036854775808
--9223372036854775808
--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
--128 & 18446744073709551615
-18446744073709551488
--128 & 18446744073709551616
-18446744073709551616
--128 & 340282366920938463463374607431768211455
-340282366920938463463374607431768211328
--128 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211456
--127 & -170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--127 & -170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--127 & -9223372036854775808
--9223372036854775808
--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
--127 & 18446744073709551615
-18446744073709551489
--127 & 18446744073709551616
-18446744073709551616
--127 & 340282366920938463463374607431768211455
-340282366920938463463374607431768211329
--127 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211456
-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 & -9223372036854775807
-18446744073709551616
-18446744073709551616 & -2147483648
-18446744073709551616
-18446744073709551616 & -2147483647
-18446744073709551616
-18446744073709551616 & -32768
-18446744073709551616
-18446744073709551616 & -32767
-18446744073709551616
-18446744073709551616 & -128
-18446744073709551616
-18446744073709551616 & -127
-18446744073709551616
-18446744073709551616 & 255
-0
-18446744073709551616 & 256
-0
-18446744073709551616 & 65535
-0
-18446744073709551616 & 65536
-0
-18446744073709551616 & 4294967295
-0
-18446744073709551616 & 4294967296
-0
-18446744073709551616 & 18446744073709551615
-0
-18446744073709551616 & 18446744073709551616
-18446744073709551616
-18446744073709551616 & 340282366920938463463374607431768211455
-18446744073709551616
-18446744073709551616 & 340282366920938463463374607431768211456
-0
-340282366920938463463374607431768211455 & -170141183460469231731687303715884105728
-170141183460469231731687303715884105728
-340282366920938463463374607431768211455 & -170141183460469231731687303715884105727
-170141183460469231731687303715884105729
-340282366920938463463374607431768211455 & -9223372036854775808
-340282366920938463454151235394913435648
-340282366920938463463374607431768211455 & -9223372036854775807
-340282366920938463454151235394913435649
-340282366920938463463374607431768211455 & -2147483648
-340282366920938463463374607429620727808
-340282366920938463463374607431768211455 & -2147483647
-340282366920938463463374607429620727809
-340282366920938463463374607431768211455 & -32768
-340282366920938463463374607431768178688
-340282366920938463463374607431768211455 & -32767
-340282366920938463463374607431768178689
-340282366920938463463374607431768211455 & -128
-340282366920938463463374607431768211328
-340282366920938463463374607431768211455 & -127
-340282366920938463463374607431768211329
-340282366920938463463374607431768211455 & 255
-255
-340282366920938463463374607431768211455 & 256
-256
-340282366920938463463374607431768211455 & 65535
-65535
-340282366920938463463374607431768211455 & 65536
-65536
-340282366920938463463374607431768211455 & 4294967295
-4294967295
-340282366920938463463374607431768211455 & 4294967296
-4294967296
-340282366920938463463374607431768211455 & 18446744073709551615
-18446744073709551615
-340282366920938463463374607431768211455 & 18446744073709551616
-18446744073709551616
-340282366920938463463374607431768211455 & 340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455 & 340282366920938463463374607431768211456
-0
-340282366920938463463374607431768211456 & -170141183460469231731687303715884105728
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & -170141183460469231731687303715884105727
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & -9223372036854775808
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & -9223372036854775807
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & -2147483648
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & -2147483647
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & -32768
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & -32767
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & -128
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & -127
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456 & 255
-0
-340282366920938463463374607431768211456 & 256
-0
-340282366920938463463374607431768211456 & 65535
-0
-340282366920938463463374607431768211456 & 65536
-0
-340282366920938463463374607431768211456 & 4294967295
-0
-340282366920938463463374607431768211456 & 4294967296
-0
-340282366920938463463374607431768211456 & 18446744073709551615
-0
-340282366920938463463374607431768211456 & 18446744073709551616
-0
-340282366920938463463374607431768211456 & 340282366920938463463374607431768211455
-0
-340282366920938463463374607431768211456 & 340282366920938463463374607431768211456
-340282366920938463463374607431768211456
diff --git a/test/ic3/integer_band.ret.expected b/test/ic3/integer_band.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/integer_band.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/integer_band_2.in b/test/ic3/integer_band_2.in
new file mode 100644
index 0000000..8f04373
--- /dev/null
+++ b/test/ic3/integer_band_2.in
@@ -0,0 +1,800 @@
+quote -170141183460469231731687303715884105728 & -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 & -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105728 & -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 & -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105728 & -9223372036854775808
+-170141183460469231731687303715884105728 & -9223372036854775808
+quote -170141183460469231731687303715884105728 & -9223372036854775807
+-170141183460469231731687303715884105728 & -9223372036854775807
+quote -170141183460469231731687303715884105728 & -2147483648
+-170141183460469231731687303715884105728 & -2147483648
+quote -170141183460469231731687303715884105728 & -2147483647
+-170141183460469231731687303715884105728 & -2147483647
+quote -170141183460469231731687303715884105728 & -32768
+-170141183460469231731687303715884105728 & -32768
+quote -170141183460469231731687303715884105728 & -32767
+-170141183460469231731687303715884105728 & -32767
+quote -170141183460469231731687303715884105728 & -128
+-170141183460469231731687303715884105728 & -128
+quote -170141183460469231731687303715884105728 & -127
+-170141183460469231731687303715884105728 & -127
+quote -170141183460469231731687303715884105728 & 255
+-170141183460469231731687303715884105728 & 255
+quote -170141183460469231731687303715884105728 & 256
+-170141183460469231731687303715884105728 & 256
+quote -170141183460469231731687303715884105728 & 65535
+-170141183460469231731687303715884105728 & 65535
+quote -170141183460469231731687303715884105728 & 65536
+-170141183460469231731687303715884105728 & 65536
+quote -170141183460469231731687303715884105728 & 4294967295
+-170141183460469231731687303715884105728 & 4294967295
+quote -170141183460469231731687303715884105728 & 4294967296
+-170141183460469231731687303715884105728 & 4294967296
+quote -170141183460469231731687303715884105728 & 18446744073709551615
+-170141183460469231731687303715884105728 & 18446744073709551615
+quote -170141183460469231731687303715884105728 & 18446744073709551616
+-170141183460469231731687303715884105728 & 18446744073709551616
+quote -170141183460469231731687303715884105728 & 340282366920938463463374607431768211455
+-170141183460469231731687303715884105728 & 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105728 & 340282366920938463463374607431768211456
+-170141183460469231731687303715884105728 & 340282366920938463463374607431768211456
+quote -170141183460469231731687303715884105727 & -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 & -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105727 & -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 & -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105727 & -9223372036854775808
+-170141183460469231731687303715884105727 & -9223372036854775808
+quote -170141183460469231731687303715884105727 & -9223372036854775807
+-170141183460469231731687303715884105727 & -9223372036854775807
+quote -170141183460469231731687303715884105727 & -2147483648
+-170141183460469231731687303715884105727 & -2147483648
+quote -170141183460469231731687303715884105727 & -2147483647
+-170141183460469231731687303715884105727 & -2147483647
+quote -170141183460469231731687303715884105727 & -32768
+-170141183460469231731687303715884105727 & -32768
+quote -170141183460469231731687303715884105727 & -32767
+-170141183460469231731687303715884105727 & -32767
+quote -170141183460469231731687303715884105727 & -128
+-170141183460469231731687303715884105727 & -128
+quote -170141183460469231731687303715884105727 & -127
+-170141183460469231731687303715884105727 & -127
+quote -170141183460469231731687303715884105727 & 255
+-170141183460469231731687303715884105727 & 255
+quote -170141183460469231731687303715884105727 & 256
+-170141183460469231731687303715884105727 & 256
+quote -170141183460469231731687303715884105727 & 65535
+-170141183460469231731687303715884105727 & 65535
+quote -170141183460469231731687303715884105727 & 65536
+-170141183460469231731687303715884105727 & 65536
+quote -170141183460469231731687303715884105727 & 4294967295
+-170141183460469231731687303715884105727 & 4294967295
+quote -170141183460469231731687303715884105727 & 4294967296
+-170141183460469231731687303715884105727 & 4294967296
+quote -170141183460469231731687303715884105727 & 18446744073709551615
+-170141183460469231731687303715884105727 & 18446744073709551615
+quote -170141183460469231731687303715884105727 & 18446744073709551616
+-170141183460469231731687303715884105727 & 18446744073709551616
+quote -170141183460469231731687303715884105727 & 340282366920938463463374607431768211455
+-170141183460469231731687303715884105727 & 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105727 & 340282366920938463463374607431768211456
+-170141183460469231731687303715884105727 & 340282366920938463463374607431768211456
+quote -9223372036854775808 & -170141183460469231731687303715884105728
+-9223372036854775808 & -170141183460469231731687303715884105728
+quote -9223372036854775808 & -170141183460469231731687303715884105727
+-9223372036854775808 & -170141183460469231731687303715884105727
+quote -9223372036854775808 & -9223372036854775808
+-9223372036854775808 & -9223372036854775808
+quote -9223372036854775808 & -9223372036854775807
+-9223372036854775808 & -9223372036854775807
+quote -9223372036854775808 & -2147483648
+-9223372036854775808 & -2147483648
+quote -9223372036854775808 & -2147483647
+-9223372036854775808 & -2147483647
+quote -9223372036854775808 & -32768
+-9223372036854775808 & -32768
+quote -9223372036854775808 & -32767
+-9223372036854775808 & -32767
+quote -9223372036854775808 & -128
+-9223372036854775808 & -128
+quote -9223372036854775808 & -127
+-9223372036854775808 & -127
+quote -9223372036854775808 & 255
+-9223372036854775808 & 255
+quote -9223372036854775808 & 256
+-9223372036854775808 & 256
+quote -9223372036854775808 & 65535
+-9223372036854775808 & 65535
+quote -9223372036854775808 & 65536
+-9223372036854775808 & 65536
+quote -9223372036854775808 & 4294967295
+-9223372036854775808 & 4294967295
+quote -9223372036854775808 & 4294967296
+-9223372036854775808 & 4294967296
+quote -9223372036854775808 & 18446744073709551615
+-9223372036854775808 & 18446744073709551615
+quote -9223372036854775808 & 18446744073709551616
+-9223372036854775808 & 18446744073709551616
+quote -9223372036854775808 & 340282366920938463463374607431768211455
+-9223372036854775808 & 340282366920938463463374607431768211455
+quote -9223372036854775808 & 340282366920938463463374607431768211456
+-9223372036854775808 & 340282366920938463463374607431768211456
+quote -9223372036854775807 & -170141183460469231731687303715884105728
+-9223372036854775807 & -170141183460469231731687303715884105728
+quote -9223372036854775807 & -170141183460469231731687303715884105727
+-9223372036854775807 & -170141183460469231731687303715884105727
+quote -9223372036854775807 & -9223372036854775808
+-9223372036854775807 & -9223372036854775808
+quote -9223372036854775807 & -9223372036854775807
+-9223372036854775807 & -9223372036854775807
+quote -9223372036854775807 & -2147483648
+-9223372036854775807 & -2147483648
+quote -9223372036854775807 & -2147483647
+-9223372036854775807 & -2147483647
+quote -9223372036854775807 & -32768
+-9223372036854775807 & -32768
+quote -9223372036854775807 & -32767
+-9223372036854775807 & -32767
+quote -9223372036854775807 & -128
+-9223372036854775807 & -128
+quote -9223372036854775807 & -127
+-9223372036854775807 & -127
+quote -9223372036854775807 & 255
+-9223372036854775807 & 255
+quote -9223372036854775807 & 256
+-9223372036854775807 & 256
+quote -9223372036854775807 & 65535
+-9223372036854775807 & 65535
+quote -9223372036854775807 & 65536
+-9223372036854775807 & 65536
+quote -9223372036854775807 & 4294967295
+-9223372036854775807 & 4294967295
+quote -9223372036854775807 & 4294967296
+-9223372036854775807 & 4294967296
+quote -9223372036854775807 & 18446744073709551615
+-9223372036854775807 & 18446744073709551615
+quote -9223372036854775807 & 18446744073709551616
+-9223372036854775807 & 18446744073709551616
+quote -9223372036854775807 & 340282366920938463463374607431768211455
+-9223372036854775807 & 340282366920938463463374607431768211455
+quote -9223372036854775807 & 340282366920938463463374607431768211456
+-9223372036854775807 & 340282366920938463463374607431768211456
+quote -2147483648 & -170141183460469231731687303715884105728
+-2147483648 & -170141183460469231731687303715884105728
+quote -2147483648 & -170141183460469231731687303715884105727
+-2147483648 & -170141183460469231731687303715884105727
+quote -2147483648 & -9223372036854775808
+-2147483648 & -9223372036854775808
+quote -2147483648 & -9223372036854775807
+-2147483648 & -9223372036854775807
+quote -2147483648 & -2147483648
+-2147483648 & -2147483648
+quote -2147483648 & -2147483647
+-2147483648 & -2147483647
+quote -2147483648 & -32768
+-2147483648 & -32768
+quote -2147483648 & -32767
+-2147483648 & -32767
+quote -2147483648 & -128
+-2147483648 & -128
+quote -2147483648 & -127
+-2147483648 & -127
+quote -2147483648 & 255
+-2147483648 & 255
+quote -2147483648 & 256
+-2147483648 & 256
+quote -2147483648 & 65535
+-2147483648 & 65535
+quote -2147483648 & 65536
+-2147483648 & 65536
+quote -2147483648 & 4294967295
+-2147483648 & 4294967295
+quote -2147483648 & 4294967296
+-2147483648 & 4294967296
+quote -2147483648 & 18446744073709551615
+-2147483648 & 18446744073709551615
+quote -2147483648 & 18446744073709551616
+-2147483648 & 18446744073709551616
+quote -2147483648 & 340282366920938463463374607431768211455
+-2147483648 & 340282366920938463463374607431768211455
+quote -2147483648 & 340282366920938463463374607431768211456
+-2147483648 & 340282366920938463463374607431768211456
+quote -2147483647 & -170141183460469231731687303715884105728
+-2147483647 & -170141183460469231731687303715884105728
+quote -2147483647 & -170141183460469231731687303715884105727
+-2147483647 & -170141183460469231731687303715884105727
+quote -2147483647 & -9223372036854775808
+-2147483647 & -9223372036854775808
+quote -2147483647 & -9223372036854775807
+-2147483647 & -9223372036854775807
+quote -2147483647 & -2147483648
+-2147483647 & -2147483648
+quote -2147483647 & -2147483647
+-2147483647 & -2147483647
+quote -2147483647 & -32768
+-2147483647 & -32768
+quote -2147483647 & -32767
+-2147483647 & -32767
+quote -2147483647 & -128
+-2147483647 & -128
+quote -2147483647 & -127
+-2147483647 & -127
+quote -2147483647 & 255
+-2147483647 & 255
+quote -2147483647 & 256
+-2147483647 & 256
+quote -2147483647 & 65535
+-2147483647 & 65535
+quote -2147483647 & 65536
+-2147483647 & 65536
+quote -2147483647 & 4294967295
+-2147483647 & 4294967295
+quote -2147483647 & 4294967296
+-2147483647 & 4294967296
+quote -2147483647 & 18446744073709551615
+-2147483647 & 18446744073709551615
+quote -2147483647 & 18446744073709551616
+-2147483647 & 18446744073709551616
+quote -2147483647 & 340282366920938463463374607431768211455
+-2147483647 & 340282366920938463463374607431768211455
+quote -2147483647 & 340282366920938463463374607431768211456
+-2147483647 & 340282366920938463463374607431768211456
+quote -32768 & -170141183460469231731687303715884105728
+-32768 & -170141183460469231731687303715884105728
+quote -32768 & -170141183460469231731687303715884105727
+-32768 & -170141183460469231731687303715884105727
+quote -32768 & -9223372036854775808
+-32768 & -9223372036854775808
+quote -32768 & -9223372036854775807
+-32768 & -9223372036854775807
+quote -32768 & -2147483648
+-32768 & -2147483648
+quote -32768 & -2147483647
+-32768 & -2147483647
+quote -32768 & -32768
+-32768 & -32768
+quote -32768 & -32767
+-32768 & -32767
+quote -32768 & -128
+-32768 & -128
+quote -32768 & -127
+-32768 & -127
+quote -32768 & 255
+-32768 & 255
+quote -32768 & 256
+-32768 & 256
+quote -32768 & 65535
+-32768 & 65535
+quote -32768 & 65536
+-32768 & 65536
+quote -32768 & 4294967295
+-32768 & 4294967295
+quote -32768 & 4294967296
+-32768 & 4294967296
+quote -32768 & 18446744073709551615
+-32768 & 18446744073709551615
+quote -32768 & 18446744073709551616
+-32768 & 18446744073709551616
+quote -32768 & 340282366920938463463374607431768211455
+-32768 & 340282366920938463463374607431768211455
+quote -32768 & 340282366920938463463374607431768211456
+-32768 & 340282366920938463463374607431768211456
+quote -32767 & -170141183460469231731687303715884105728
+-32767 & -170141183460469231731687303715884105728
+quote -32767 & -170141183460469231731687303715884105727
+-32767 & -170141183460469231731687303715884105727
+quote -32767 & -9223372036854775808
+-32767 & -9223372036854775808
+quote -32767 & -9223372036854775807
+-32767 & -9223372036854775807
+quote -32767 & -2147483648
+-32767 & -2147483648
+quote -32767 & -2147483647
+-32767 & -2147483647
+quote -32767 & -32768
+-32767 & -32768
+quote -32767 & -32767
+-32767 & -32767
+quote -32767 & -128
+-32767 & -128
+quote -32767 & -127
+-32767 & -127
+quote -32767 & 255
+-32767 & 255
+quote -32767 & 256
+-32767 & 256
+quote -32767 & 65535
+-32767 & 65535
+quote -32767 & 65536
+-32767 & 65536
+quote -32767 & 4294967295
+-32767 & 4294967295
+quote -32767 & 4294967296
+-32767 & 4294967296
+quote -32767 & 18446744073709551615
+-32767 & 18446744073709551615
+quote -32767 & 18446744073709551616
+-32767 & 18446744073709551616
+quote -32767 & 340282366920938463463374607431768211455
+-32767 & 340282366920938463463374607431768211455
+quote -32767 & 340282366920938463463374607431768211456
+-32767 & 340282366920938463463374607431768211456
+quote -128 & -170141183460469231731687303715884105728
+-128 & -170141183460469231731687303715884105728
+quote -128 & -170141183460469231731687303715884105727
+-128 & -170141183460469231731687303715884105727
+quote -128 & -9223372036854775808
+-128 & -9223372036854775808
+quote -128 & -9223372036854775807
+-128 & -9223372036854775807
+quote -128 & -2147483648
+-128 & -2147483648
+quote -128 & -2147483647
+-128 & -2147483647
+quote -128 & -32768
+-128 & -32768
+quote -128 & -32767
+-128 & -32767
+quote -128 & -128
+-128 & -128
+quote -128 & -127
+-128 & -127
+quote -128 & 255
+-128 & 255
+quote -128 & 256
+-128 & 256
+quote -128 & 65535
+-128 & 65535
+quote -128 & 65536
+-128 & 65536
+quote -128 & 4294967295
+-128 & 4294967295
+quote -128 & 4294967296
+-128 & 4294967296
+quote -128 & 18446744073709551615
+-128 & 18446744073709551615
+quote -128 & 18446744073709551616
+-128 & 18446744073709551616
+quote -128 & 340282366920938463463374607431768211455
+-128 & 340282366920938463463374607431768211455
+quote -128 & 340282366920938463463374607431768211456
+-128 & 340282366920938463463374607431768211456
+quote -127 & -170141183460469231731687303715884105728
+-127 & -170141183460469231731687303715884105728
+quote -127 & -170141183460469231731687303715884105727
+-127 & -170141183460469231731687303715884105727
+quote -127 & -9223372036854775808
+-127 & -9223372036854775808
+quote -127 & -9223372036854775807
+-127 & -9223372036854775807
+quote -127 & -2147483648
+-127 & -2147483648
+quote -127 & -2147483647
+-127 & -2147483647
+quote -127 & -32768
+-127 & -32768
+quote -127 & -32767
+-127 & -32767
+quote -127 & -128
+-127 & -128
+quote -127 & -127
+-127 & -127
+quote -127 & 255
+-127 & 255
+quote -127 & 256
+-127 & 256
+quote -127 & 65535
+-127 & 65535
+quote -127 & 65536
+-127 & 65536
+quote -127 & 4294967295
+-127 & 4294967295
+quote -127 & 4294967296
+-127 & 4294967296
+quote -127 & 18446744073709551615
+-127 & 18446744073709551615
+quote -127 & 18446744073709551616
+-127 & 18446744073709551616
+quote -127 & 340282366920938463463374607431768211455
+-127 & 340282366920938463463374607431768211455
+quote -127 & 340282366920938463463374607431768211456
+-127 & 340282366920938463463374607431768211456
+quote 255 & -170141183460469231731687303715884105728
+255 & -170141183460469231731687303715884105728
+quote 255 & -170141183460469231731687303715884105727
+255 & -170141183460469231731687303715884105727
+quote 255 & -9223372036854775808
+255 & -9223372036854775808
+quote 255 & -9223372036854775807
+255 & -9223372036854775807
+quote 255 & -2147483648
+255 & -2147483648
+quote 255 & -2147483647
+255 & -2147483647
+quote 255 & -32768
+255 & -32768
+quote 255 & -32767
+255 & -32767
+quote 255 & -128
+255 & -128
+quote 255 & -127
+255 & -127
+quote 255 & 255
+255 & 255
+quote 255 & 256
+255 & 256
+quote 255 & 65535
+255 & 65535
+quote 255 & 65536
+255 & 65536
+quote 255 & 4294967295
+255 & 4294967295
+quote 255 & 4294967296
+255 & 4294967296
+quote 255 & 18446744073709551615
+255 & 18446744073709551615
+quote 255 & 18446744073709551616
+255 & 18446744073709551616
+quote 255 & 340282366920938463463374607431768211455
+255 & 340282366920938463463374607431768211455
+quote 255 & 340282366920938463463374607431768211456
+255 & 340282366920938463463374607431768211456
+quote 256 & -170141183460469231731687303715884105728
+256 & -170141183460469231731687303715884105728
+quote 256 & -170141183460469231731687303715884105727
+256 & -170141183460469231731687303715884105727
+quote 256 & -9223372036854775808
+256 & -9223372036854775808
+quote 256 & -9223372036854775807
+256 & -9223372036854775807
+quote 256 & -2147483648
+256 & -2147483648
+quote 256 & -2147483647
+256 & -2147483647
+quote 256 & -32768
+256 & -32768
+quote 256 & -32767
+256 & -32767
+quote 256 & -128
+256 & -128
+quote 256 & -127
+256 & -127
+quote 256 & 255
+256 & 255
+quote 256 & 256
+256 & 256
+quote 256 & 65535
+256 & 65535
+quote 256 & 65536
+256 & 65536
+quote 256 & 4294967295
+256 & 4294967295
+quote 256 & 4294967296
+256 & 4294967296
+quote 256 & 18446744073709551615
+256 & 18446744073709551615
+quote 256 & 18446744073709551616
+256 & 18446744073709551616
+quote 256 & 340282366920938463463374607431768211455
+256 & 340282366920938463463374607431768211455
+quote 256 & 340282366920938463463374607431768211456
+256 & 340282366920938463463374607431768211456
+quote 65535 & -170141183460469231731687303715884105728
+65535 & -170141183460469231731687303715884105728
+quote 65535 & -170141183460469231731687303715884105727
+65535 & -170141183460469231731687303715884105727
+quote 65535 & -9223372036854775808
+65535 & -9223372036854775808
+quote 65535 & -9223372036854775807
+65535 & -9223372036854775807
+quote 65535 & -2147483648
+65535 & -2147483648
+quote 65535 & -2147483647
+65535 & -2147483647
+quote 65535 & -32768
+65535 & -32768
+quote 65535 & -32767
+65535 & -32767
+quote 65535 & -128
+65535 & -128
+quote 65535 & -127
+65535 & -127
+quote 65535 & 255
+65535 & 255
+quote 65535 & 256
+65535 & 256
+quote 65535 & 65535
+65535 & 65535
+quote 65535 & 65536
+65535 & 65536
+quote 65535 & 4294967295
+65535 & 4294967295
+quote 65535 & 4294967296
+65535 & 4294967296
+quote 65535 & 18446744073709551615
+65535 & 18446744073709551615
+quote 65535 & 18446744073709551616
+65535 & 18446744073709551616
+quote 65535 & 340282366920938463463374607431768211455
+65535 & 340282366920938463463374607431768211455
+quote 65535 & 340282366920938463463374607431768211456
+65535 & 340282366920938463463374607431768211456
+quote 65536 & -170141183460469231731687303715884105728
+65536 & -170141183460469231731687303715884105728
+quote 65536 & -170141183460469231731687303715884105727
+65536 & -170141183460469231731687303715884105727
+quote 65536 & -9223372036854775808
+65536 & -9223372036854775808
+quote 65536 & -9223372036854775807
+65536 & -9223372036854775807
+quote 65536 & -2147483648
+65536 & -2147483648
+quote 65536 & -2147483647
+65536 & -2147483647
+quote 65536 & -32768
+65536 & -32768
+quote 65536 & -32767
+65536 & -32767
+quote 65536 & -128
+65536 & -128
+quote 65536 & -127
+65536 & -127
+quote 65536 & 255
+65536 & 255
+quote 65536 & 256
+65536 & 256
+quote 65536 & 65535
+65536 & 65535
+quote 65536 & 65536
+65536 & 65536
+quote 65536 & 4294967295
+65536 & 4294967295
+quote 65536 & 4294967296
+65536 & 4294967296
+quote 65536 & 18446744073709551615
+65536 & 18446744073709551615
+quote 65536 & 18446744073709551616
+65536 & 18446744073709551616
+quote 65536 & 340282366920938463463374607431768211455
+65536 & 340282366920938463463374607431768211455
+quote 65536 & 340282366920938463463374607431768211456
+65536 & 340282366920938463463374607431768211456
+quote 4294967295 & -170141183460469231731687303715884105728
+4294967295 & -170141183460469231731687303715884105728
+quote 4294967295 & -170141183460469231731687303715884105727
+4294967295 & -170141183460469231731687303715884105727
+quote 4294967295 & -9223372036854775808
+4294967295 & -9223372036854775808
+quote 4294967295 & -9223372036854775807
+4294967295 & -9223372036854775807
+quote 4294967295 & -2147483648
+4294967295 & -2147483648
+quote 4294967295 & -2147483647
+4294967295 & -2147483647
+quote 4294967295 & -32768
+4294967295 & -32768
+quote 4294967295 & -32767
+4294967295 & -32767
+quote 4294967295 & -128
+4294967295 & -128
+quote 4294967295 & -127
+4294967295 & -127
+quote 4294967295 & 255
+4294967295 & 255
+quote 4294967295 & 256
+4294967295 & 256
+quote 4294967295 & 65535
+4294967295 & 65535
+quote 4294967295 & 65536
+4294967295 & 65536
+quote 4294967295 & 4294967295
+4294967295 & 4294967295
+quote 4294967295 & 4294967296
+4294967295 & 4294967296
+quote 4294967295 & 18446744073709551615
+4294967295 & 18446744073709551615
+quote 4294967295 & 18446744073709551616
+4294967295 & 18446744073709551616
+quote 4294967295 & 340282366920938463463374607431768211455
+4294967295 & 340282366920938463463374607431768211455
+quote 4294967295 & 340282366920938463463374607431768211456
+4294967295 & 340282366920938463463374607431768211456
+quote 4294967296 & -170141183460469231731687303715884105728
+4294967296 & -170141183460469231731687303715884105728
+quote 4294967296 & -170141183460469231731687303715884105727
+4294967296 & -170141183460469231731687303715884105727
+quote 4294967296 & -9223372036854775808
+4294967296 & -9223372036854775808
+quote 4294967296 & -9223372036854775807
+4294967296 & -9223372036854775807
+quote 4294967296 & -2147483648
+4294967296 & -2147483648
+quote 4294967296 & -2147483647
+4294967296 & -2147483647
+quote 4294967296 & -32768
+4294967296 & -32768
+quote 4294967296 & -32767
+4294967296 & -32767
+quote 4294967296 & -128
+4294967296 & -128
+quote 4294967296 & -127
+4294967296 & -127
+quote 4294967296 & 255
+4294967296 & 255
+quote 4294967296 & 256
+4294967296 & 256
+quote 4294967296 & 65535
+4294967296 & 65535
+quote 4294967296 & 65536
+4294967296 & 65536
+quote 4294967296 & 4294967295
+4294967296 & 4294967295
+quote 4294967296 & 4294967296
+4294967296 & 4294967296
+quote 4294967296 & 18446744073709551615
+4294967296 & 18446744073709551615
+quote 4294967296 & 18446744073709551616
+4294967296 & 18446744073709551616
+quote 4294967296 & 340282366920938463463374607431768211455
+4294967296 & 340282366920938463463374607431768211455
+quote 4294967296 & 340282366920938463463374607431768211456
+4294967296 & 340282366920938463463374607431768211456
+quote 18446744073709551615 & -170141183460469231731687303715884105728
+18446744073709551615 & -170141183460469231731687303715884105728
+quote 18446744073709551615 & -170141183460469231731687303715884105727
+18446744073709551615 & -170141183460469231731687303715884105727
+quote 18446744073709551615 & -9223372036854775808
+18446744073709551615 & -9223372036854775808
+quote 18446744073709551615 & -9223372036854775807
+18446744073709551615 & -9223372036854775807
+quote 18446744073709551615 & -2147483648
+18446744073709551615 & -2147483648
+quote 18446744073709551615 & -2147483647
+18446744073709551615 & -2147483647
+quote 18446744073709551615 & -32768
+18446744073709551615 & -32768
+quote 18446744073709551615 & -32767
+18446744073709551615 & -32767
+quote 18446744073709551615 & -128
+18446744073709551615 & -128
+quote 18446744073709551615 & -127
+18446744073709551615 & -127
+quote 18446744073709551615 & 255
+18446744073709551615 & 255
+quote 18446744073709551615 & 256
+18446744073709551615 & 256
+quote 18446744073709551615 & 65535
+18446744073709551615 & 65535
+quote 18446744073709551615 & 65536
+18446744073709551615 & 65536
+quote 18446744073709551615 & 4294967295
+18446744073709551615 & 4294967295
+quote 18446744073709551615 & 4294967296
+18446744073709551615 & 4294967296
+quote 18446744073709551615 & 18446744073709551615
+18446744073709551615 & 18446744073709551615
+quote 18446744073709551615 & 18446744073709551616
+18446744073709551615 & 18446744073709551616
+quote 18446744073709551615 & 340282366920938463463374607431768211455
+18446744073709551615 & 340282366920938463463374607431768211455
+quote 18446744073709551615 & 340282366920938463463374607431768211456
+18446744073709551615 & 340282366920938463463374607431768211456
+quote 18446744073709551616 & -170141183460469231731687303715884105728
+18446744073709551616 & -170141183460469231731687303715884105728
+quote 18446744073709551616 & -170141183460469231731687303715884105727
+18446744073709551616 & -170141183460469231731687303715884105727
+quote 18446744073709551616 & -9223372036854775808
+18446744073709551616 & -9223372036854775808
+quote 18446744073709551616 & -9223372036854775807
+18446744073709551616 & -9223372036854775807
+quote 18446744073709551616 & -2147483648
+18446744073709551616 & -2147483648
+quote 18446744073709551616 & -2147483647
+18446744073709551616 & -2147483647
+quote 18446744073709551616 & -32768
+18446744073709551616 & -32768
+quote 18446744073709551616 & -32767
+18446744073709551616 & -32767
+quote 18446744073709551616 & -128
+18446744073709551616 & -128
+quote 18446744073709551616 & -127
+18446744073709551616 & -127
+quote 18446744073709551616 & 255
+18446744073709551616 & 255
+quote 18446744073709551616 & 256
+18446744073709551616 & 256
+quote 18446744073709551616 & 65535
+18446744073709551616 & 65535
+quote 18446744073709551616 & 65536
+18446744073709551616 & 65536
+quote 18446744073709551616 & 4294967295
+18446744073709551616 & 4294967295
+quote 18446744073709551616 & 4294967296
+18446744073709551616 & 4294967296
+quote 18446744073709551616 & 18446744073709551615
+18446744073709551616 & 18446744073709551615
+quote 18446744073709551616 & 18446744073709551616
+18446744073709551616 & 18446744073709551616
+quote 18446744073709551616 & 340282366920938463463374607431768211455
+18446744073709551616 & 340282366920938463463374607431768211455
+quote 18446744073709551616 & 340282366920938463463374607431768211456
+18446744073709551616 & 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211455 & -170141183460469231731687303715884105728
+340282366920938463463374607431768211455 & -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211455 & -170141183460469231731687303715884105727
+340282366920938463463374607431768211455 & -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211455 & -9223372036854775808
+340282366920938463463374607431768211455 & -9223372036854775808
+quote 340282366920938463463374607431768211455 & -9223372036854775807
+340282366920938463463374607431768211455 & -9223372036854775807
+quote 340282366920938463463374607431768211455 & -2147483648
+340282366920938463463374607431768211455 & -2147483648
+quote 340282366920938463463374607431768211455 & -2147483647
+340282366920938463463374607431768211455 & -2147483647
+quote 340282366920938463463374607431768211455 & -32768
+340282366920938463463374607431768211455 & -32768
+quote 340282366920938463463374607431768211455 & -32767
+340282366920938463463374607431768211455 & -32767
+quote 340282366920938463463374607431768211455 & -128
+340282366920938463463374607431768211455 & -128
+quote 340282366920938463463374607431768211455 & -127
+340282366920938463463374607431768211455 & -127
+quote 340282366920938463463374607431768211455 & 255
+340282366920938463463374607431768211455 & 255
+quote 340282366920938463463374607431768211455 & 256
+340282366920938463463374607431768211455 & 256
+quote 340282366920938463463374607431768211455 & 65535
+340282366920938463463374607431768211455 & 65535
+quote 340282366920938463463374607431768211455 & 65536
+340282366920938463463374607431768211455 & 65536
+quote 340282366920938463463374607431768211455 & 4294967295
+340282366920938463463374607431768211455 & 4294967295
+quote 340282366920938463463374607431768211455 & 4294967296
+340282366920938463463374607431768211455 & 4294967296
+quote 340282366920938463463374607431768211455 & 18446744073709551615
+340282366920938463463374607431768211455 & 18446744073709551615
+quote 340282366920938463463374607431768211455 & 18446744073709551616
+340282366920938463463374607431768211455 & 18446744073709551616
+quote 340282366920938463463374607431768211455 & 340282366920938463463374607431768211455
+340282366920938463463374607431768211455 & 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211455 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211455 & 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211456 & -170141183460469231731687303715884105728
+340282366920938463463374607431768211456 & -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211456 & -170141183460469231731687303715884105727
+340282366920938463463374607431768211456 & -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211456 & -9223372036854775808
+340282366920938463463374607431768211456 & -9223372036854775808
+quote 340282366920938463463374607431768211456 & -9223372036854775807
+340282366920938463463374607431768211456 & -9223372036854775807
+quote 340282366920938463463374607431768211456 & -2147483648
+340282366920938463463374607431768211456 & -2147483648
+quote 340282366920938463463374607431768211456 & -2147483647
+340282366920938463463374607431768211456 & -2147483647
+quote 340282366920938463463374607431768211456 & -32768
+340282366920938463463374607431768211456 & -32768
+quote 340282366920938463463374607431768211456 & -32767
+340282366920938463463374607431768211456 & -32767
+quote 340282366920938463463374607431768211456 & -128
+340282366920938463463374607431768211456 & -128
+quote 340282366920938463463374607431768211456 & -127
+340282366920938463463374607431768211456 & -127
+quote 340282366920938463463374607431768211456 & 255
+340282366920938463463374607431768211456 & 255
+quote 340282366920938463463374607431768211456 & 256
+340282366920938463463374607431768211456 & 256
+quote 340282366920938463463374607431768211456 & 65535
+340282366920938463463374607431768211456 & 65535
+quote 340282366920938463463374607431768211456 & 65536
+340282366920938463463374607431768211456 & 65536
+quote 340282366920938463463374607431768211456 & 4294967295
+340282366920938463463374607431768211456 & 4294967295
+quote 340282366920938463463374607431768211456 & 4294967296
+340282366920938463463374607431768211456 & 4294967296
+quote 340282366920938463463374607431768211456 & 18446744073709551615
+340282366920938463463374607431768211456 & 18446744073709551615
+quote 340282366920938463463374607431768211456 & 18446744073709551616
+340282366920938463463374607431768211456 & 18446744073709551616
+quote 340282366920938463463374607431768211456 & 340282366920938463463374607431768211455
+340282366920938463463374607431768211456 & 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211456 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211456 & 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_band_2.out.expected b/test/ic3/integer_band_2.out.expected
new file mode 100644
index 0000000..1da02cd
--- /dev/null
+++ b/test/ic3/integer_band_2.out.expected
@@ -0,0 +1,800 @@
+-170141183460469231731687303715884105728 & -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 & -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 & -9223372036854775808
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 & -9223372036854775807
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 & -2147483648
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 & -2147483647
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 & -32768
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 & -32767
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 & -128
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 & -127
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 & 255
+0
+-170141183460469231731687303715884105728 & 256
+0
+-170141183460469231731687303715884105728 & 65535
+0
+-170141183460469231731687303715884105728 & 65536
+0
+-170141183460469231731687303715884105728 & 4294967295
+0
+-170141183460469231731687303715884105728 & 4294967296
+0
+-170141183460469231731687303715884105728 & 18446744073709551615
+0
+-170141183460469231731687303715884105728 & 18446744073709551616
+0
+-170141183460469231731687303715884105728 & 340282366920938463463374607431768211455
+170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211456
+-170141183460469231731687303715884105727 & -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 & -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 & -9223372036854775808
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 & -9223372036854775807
+-170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 & -2147483648
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 & -2147483647
+-170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 & -32768
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 & -32767
+-170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 & -128
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 & -127
+-170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 & 255
+1
+-170141183460469231731687303715884105727 & 256
+0
+-170141183460469231731687303715884105727 & 65535
+1
+-170141183460469231731687303715884105727 & 65536
+0
+-170141183460469231731687303715884105727 & 4294967295
+1
+-170141183460469231731687303715884105727 & 4294967296
+0
+-170141183460469231731687303715884105727 & 18446744073709551615
+1
+-170141183460469231731687303715884105727 & 18446744073709551616
+0
+-170141183460469231731687303715884105727 & 340282366920938463463374607431768211455
+170141183460469231731687303715884105729
+-170141183460469231731687303715884105727 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211456
+-9223372036854775808 & -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-9223372036854775808 & -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728
+-9223372036854775808 & -9223372036854775808
+-9223372036854775808
+-9223372036854775808 & -9223372036854775807
+-9223372036854775808
+-9223372036854775808 & -2147483648
+-9223372036854775808
+-9223372036854775808 & -2147483647
+-9223372036854775808
+-9223372036854775808 & -32768
+-9223372036854775808
+-9223372036854775808 & -32767
+-9223372036854775808
+-9223372036854775808 & -128
+-9223372036854775808
+-9223372036854775808 & -127
+-9223372036854775808
+-9223372036854775808 & 255
+0
+-9223372036854775808 & 256
+0
+-9223372036854775808 & 65535
+0
+-9223372036854775808 & 65536
+0
+-9223372036854775808 & 4294967295
+0
+-9223372036854775808 & 4294967296
+0
+-9223372036854775808 & 18446744073709551615
+9223372036854775808
+-9223372036854775808 & 18446744073709551616
+18446744073709551616
+-9223372036854775808 & 340282366920938463463374607431768211455
+340282366920938463454151235394913435648
+-9223372036854775808 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211456
+-9223372036854775807 & -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-9223372036854775807 & -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727
+-9223372036854775807 & -9223372036854775808
+-9223372036854775808
+-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
+-9223372036854775807 & 18446744073709551616
+18446744073709551616
+-9223372036854775807 & 340282366920938463463374607431768211455
+340282366920938463454151235394913435649
+-9223372036854775807 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211456
+-2147483648 & -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-2147483648 & -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728
+-2147483648 & -9223372036854775808
+-9223372036854775808
+-2147483648 & -9223372036854775807
+-9223372036854775808
+-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
+-2147483648 & 18446744073709551615
+18446744071562067968
+-2147483648 & 18446744073709551616
+18446744073709551616
+-2147483648 & 340282366920938463463374607431768211455
+340282366920938463463374607429620727808
+-2147483648 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211456
+-2147483647 & -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-2147483647 & -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727
+-2147483647 & -9223372036854775808
+-9223372036854775808
+-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
+-2147483647 & 18446744073709551615
+18446744071562067969
+-2147483647 & 18446744073709551616
+18446744073709551616
+-2147483647 & 340282366920938463463374607431768211455
+340282366920938463463374607429620727809
+-2147483647 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211456
+-32768 & -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-32768 & -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728
+-32768 & -9223372036854775808
+-9223372036854775808
+-32768 & -9223372036854775807
+-9223372036854775808
+-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
+-32768 & 18446744073709551615
+18446744073709518848
+-32768 & 18446744073709551616
+18446744073709551616
+-32768 & 340282366920938463463374607431768211455
+340282366920938463463374607431768178688
+-32768 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211456
+-32767 & -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-32767 & -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727
+-32767 & -9223372036854775808
+-9223372036854775808
+-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
+-32767 & 18446744073709551615
+18446744073709518849
+-32767 & 18446744073709551616
+18446744073709551616
+-32767 & 340282366920938463463374607431768211455
+340282366920938463463374607431768178689
+-32767 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211456
+-128 & -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-128 & -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728
+-128 & -9223372036854775808
+-9223372036854775808
+-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
+-128 & 18446744073709551615
+18446744073709551488
+-128 & 18446744073709551616
+18446744073709551616
+-128 & 340282366920938463463374607431768211455
+340282366920938463463374607431768211328
+-128 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211456
+-127 & -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-127 & -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727
+-127 & -9223372036854775808
+-9223372036854775808
+-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
+-127 & 18446744073709551615
+18446744073709551489
+-127 & 18446744073709551616
+18446744073709551616
+-127 & 340282366920938463463374607431768211455
+340282366920938463463374607431768211329
+-127 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211456
+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 & -9223372036854775807
+18446744073709551616
+18446744073709551616 & -2147483648
+18446744073709551616
+18446744073709551616 & -2147483647
+18446744073709551616
+18446744073709551616 & -32768
+18446744073709551616
+18446744073709551616 & -32767
+18446744073709551616
+18446744073709551616 & -128
+18446744073709551616
+18446744073709551616 & -127
+18446744073709551616
+18446744073709551616 & 255
+0
+18446744073709551616 & 256
+0
+18446744073709551616 & 65535
+0
+18446744073709551616 & 65536
+0
+18446744073709551616 & 4294967295
+0
+18446744073709551616 & 4294967296
+0
+18446744073709551616 & 18446744073709551615
+0
+18446744073709551616 & 18446744073709551616
+18446744073709551616
+18446744073709551616 & 340282366920938463463374607431768211455
+18446744073709551616
+18446744073709551616 & 340282366920938463463374607431768211456
+0
+340282366920938463463374607431768211455 & -170141183460469231731687303715884105728
+170141183460469231731687303715884105728
+340282366920938463463374607431768211455 & -170141183460469231731687303715884105727
+170141183460469231731687303715884105729
+340282366920938463463374607431768211455 & -9223372036854775808
+340282366920938463454151235394913435648
+340282366920938463463374607431768211455 & -9223372036854775807
+340282366920938463454151235394913435649
+340282366920938463463374607431768211455 & -2147483648
+340282366920938463463374607429620727808
+340282366920938463463374607431768211455 & -2147483647
+340282366920938463463374607429620727809
+340282366920938463463374607431768211455 & -32768
+340282366920938463463374607431768178688
+340282366920938463463374607431768211455 & -32767
+340282366920938463463374607431768178689
+340282366920938463463374607431768211455 & -128
+340282366920938463463374607431768211328
+340282366920938463463374607431768211455 & -127
+340282366920938463463374607431768211329
+340282366920938463463374607431768211455 & 255
+255
+340282366920938463463374607431768211455 & 256
+256
+340282366920938463463374607431768211455 & 65535
+65535
+340282366920938463463374607431768211455 & 65536
+65536
+340282366920938463463374607431768211455 & 4294967295
+4294967295
+340282366920938463463374607431768211455 & 4294967296
+4294967296
+340282366920938463463374607431768211455 & 18446744073709551615
+18446744073709551615
+340282366920938463463374607431768211455 & 18446744073709551616
+18446744073709551616
+340282366920938463463374607431768211455 & 340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455 & 340282366920938463463374607431768211456
+0
+340282366920938463463374607431768211456 & -170141183460469231731687303715884105728
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456 & -170141183460469231731687303715884105727
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456 & -9223372036854775808
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456 & -9223372036854775807
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456 & -2147483648
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456 & -2147483647
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456 & -32768
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456 & -32767
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456 & -128
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456 & -127
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456 & 255
+0
+340282366920938463463374607431768211456 & 256
+0
+340282366920938463463374607431768211456 & 65535
+0
+340282366920938463463374607431768211456 & 65536
+0
+340282366920938463463374607431768211456 & 4294967295
+0
+340282366920938463463374607431768211456 & 4294967296
+0
+340282366920938463463374607431768211456 & 18446744073709551615
+0
+340282366920938463463374607431768211456 & 18446744073709551616
+0
+340282366920938463463374607431768211456 & 340282366920938463463374607431768211455
+0
+340282366920938463463374607431768211456 & 340282366920938463463374607431768211456
+340282366920938463463374607431768211456
diff --git a/test/ic3/integer_band_2.ret.expected b/test/ic3/integer_band_2.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_band_2.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_bor.in b/test/ic3/integer_bor.in
deleted file mode 100644
index c8087db..0000000
--- a/test/ic3/integer_bor.in
+++ /dev/null
@@ -1,800 +0,0 @@
-quote -170141183460469231731687303715884105728 bor -170141183460469231731687303715884105728
--170141183460469231731687303715884105728 bor -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105728 bor -170141183460469231731687303715884105727
--170141183460469231731687303715884105728 bor -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105728 bor -9223372036854775808
--170141183460469231731687303715884105728 bor -9223372036854775808
-quote -170141183460469231731687303715884105728 bor -9223372036854775807
--170141183460469231731687303715884105728 bor -9223372036854775807
-quote -170141183460469231731687303715884105728 bor -2147483648
--170141183460469231731687303715884105728 bor -2147483648
-quote -170141183460469231731687303715884105728 bor -2147483647
--170141183460469231731687303715884105728 bor -2147483647
-quote -170141183460469231731687303715884105728 bor -32768
--170141183460469231731687303715884105728 bor -32768
-quote -170141183460469231731687303715884105728 bor -32767
--170141183460469231731687303715884105728 bor -32767
-quote -170141183460469231731687303715884105728 bor -128
--170141183460469231731687303715884105728 bor -128
-quote -170141183460469231731687303715884105728 bor -127
--170141183460469231731687303715884105728 bor -127
-quote -170141183460469231731687303715884105728 bor 255
--170141183460469231731687303715884105728 bor 255
-quote -170141183460469231731687303715884105728 bor 256
--170141183460469231731687303715884105728 bor 256
-quote -170141183460469231731687303715884105728 bor 65535
--170141183460469231731687303715884105728 bor 65535
-quote -170141183460469231731687303715884105728 bor 65536
--170141183460469231731687303715884105728 bor 65536
-quote -170141183460469231731687303715884105728 bor 4294967295
--170141183460469231731687303715884105728 bor 4294967295
-quote -170141183460469231731687303715884105728 bor 4294967296
--170141183460469231731687303715884105728 bor 4294967296
-quote -170141183460469231731687303715884105728 bor 18446744073709551615
--170141183460469231731687303715884105728 bor 18446744073709551615
-quote -170141183460469231731687303715884105728 bor 18446744073709551616
--170141183460469231731687303715884105728 bor 18446744073709551616
-quote -170141183460469231731687303715884105728 bor 340282366920938463463374607431768211455
--170141183460469231731687303715884105728 bor 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105728 bor 340282366920938463463374607431768211456
--170141183460469231731687303715884105728 bor 340282366920938463463374607431768211456
-quote -170141183460469231731687303715884105727 bor -170141183460469231731687303715884105728
--170141183460469231731687303715884105727 bor -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105727 bor -170141183460469231731687303715884105727
--170141183460469231731687303715884105727 bor -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105727 bor -9223372036854775808
--170141183460469231731687303715884105727 bor -9223372036854775808
-quote -170141183460469231731687303715884105727 bor -9223372036854775807
--170141183460469231731687303715884105727 bor -9223372036854775807
-quote -170141183460469231731687303715884105727 bor -2147483648
--170141183460469231731687303715884105727 bor -2147483648
-quote -170141183460469231731687303715884105727 bor -2147483647
--170141183460469231731687303715884105727 bor -2147483647
-quote -170141183460469231731687303715884105727 bor -32768
--170141183460469231731687303715884105727 bor -32768
-quote -170141183460469231731687303715884105727 bor -32767
--170141183460469231731687303715884105727 bor -32767
-quote -170141183460469231731687303715884105727 bor -128
--170141183460469231731687303715884105727 bor -128
-quote -170141183460469231731687303715884105727 bor -127
--170141183460469231731687303715884105727 bor -127
-quote -170141183460469231731687303715884105727 bor 255
--170141183460469231731687303715884105727 bor 255
-quote -170141183460469231731687303715884105727 bor 256
--170141183460469231731687303715884105727 bor 256
-quote -170141183460469231731687303715884105727 bor 65535
--170141183460469231731687303715884105727 bor 65535
-quote -170141183460469231731687303715884105727 bor 65536
--170141183460469231731687303715884105727 bor 65536
-quote -170141183460469231731687303715884105727 bor 4294967295
--170141183460469231731687303715884105727 bor 4294967295
-quote -170141183460469231731687303715884105727 bor 4294967296
--170141183460469231731687303715884105727 bor 4294967296
-quote -170141183460469231731687303715884105727 bor 18446744073709551615
--170141183460469231731687303715884105727 bor 18446744073709551615
-quote -170141183460469231731687303715884105727 bor 18446744073709551616
--170141183460469231731687303715884105727 bor 18446744073709551616
-quote -170141183460469231731687303715884105727 bor 340282366920938463463374607431768211455
--170141183460469231731687303715884105727 bor 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105727 bor 340282366920938463463374607431768211456
--170141183460469231731687303715884105727 bor 340282366920938463463374607431768211456
-quote -9223372036854775808 bor -170141183460469231731687303715884105728
--9223372036854775808 bor -170141183460469231731687303715884105728
-quote -9223372036854775808 bor -170141183460469231731687303715884105727
--9223372036854775808 bor -170141183460469231731687303715884105727
-quote -9223372036854775808 bor -9223372036854775808
--9223372036854775808 bor -9223372036854775808
-quote -9223372036854775808 bor -9223372036854775807
--9223372036854775808 bor -9223372036854775807
-quote -9223372036854775808 bor -2147483648
--9223372036854775808 bor -2147483648
-quote -9223372036854775808 bor -2147483647
--9223372036854775808 bor -2147483647
-quote -9223372036854775808 bor -32768
--9223372036854775808 bor -32768
-quote -9223372036854775808 bor -32767
--9223372036854775808 bor -32767
-quote -9223372036854775808 bor -128
--9223372036854775808 bor -128
-quote -9223372036854775808 bor -127
--9223372036854775808 bor -127
-quote -9223372036854775808 bor 255
--9223372036854775808 bor 255
-quote -9223372036854775808 bor 256
--9223372036854775808 bor 256
-quote -9223372036854775808 bor 65535
--9223372036854775808 bor 65535
-quote -9223372036854775808 bor 65536
--9223372036854775808 bor 65536
-quote -9223372036854775808 bor 4294967295
--9223372036854775808 bor 4294967295
-quote -9223372036854775808 bor 4294967296
--9223372036854775808 bor 4294967296
-quote -9223372036854775808 bor 18446744073709551615
--9223372036854775808 bor 18446744073709551615
-quote -9223372036854775808 bor 18446744073709551616
--9223372036854775808 bor 18446744073709551616
-quote -9223372036854775808 bor 340282366920938463463374607431768211455
--9223372036854775808 bor 340282366920938463463374607431768211455
-quote -9223372036854775808 bor 340282366920938463463374607431768211456
--9223372036854775808 bor 340282366920938463463374607431768211456
-quote -9223372036854775807 bor -170141183460469231731687303715884105728
--9223372036854775807 bor -170141183460469231731687303715884105728
-quote -9223372036854775807 bor -170141183460469231731687303715884105727
--9223372036854775807 bor -170141183460469231731687303715884105727
-quote -9223372036854775807 bor -9223372036854775808
--9223372036854775807 bor -9223372036854775808
-quote -9223372036854775807 bor -9223372036854775807
--9223372036854775807 bor -9223372036854775807
-quote -9223372036854775807 bor -2147483648
--9223372036854775807 bor -2147483648
-quote -9223372036854775807 bor -2147483647
--9223372036854775807 bor -2147483647
-quote -9223372036854775807 bor -32768
--9223372036854775807 bor -32768
-quote -9223372036854775807 bor -32767
--9223372036854775807 bor -32767
-quote -9223372036854775807 bor -128
--9223372036854775807 bor -128
-quote -9223372036854775807 bor -127
--9223372036854775807 bor -127
-quote -9223372036854775807 bor 255
--9223372036854775807 bor 255
-quote -9223372036854775807 bor 256
--9223372036854775807 bor 256
-quote -9223372036854775807 bor 65535
--9223372036854775807 bor 65535
-quote -9223372036854775807 bor 65536
--9223372036854775807 bor 65536
-quote -9223372036854775807 bor 4294967295
--9223372036854775807 bor 4294967295
-quote -9223372036854775807 bor 4294967296
--9223372036854775807 bor 4294967296
-quote -9223372036854775807 bor 18446744073709551615
--9223372036854775807 bor 18446744073709551615
-quote -9223372036854775807 bor 18446744073709551616
--9223372036854775807 bor 18446744073709551616
-quote -9223372036854775807 bor 340282366920938463463374607431768211455
--9223372036854775807 bor 340282366920938463463374607431768211455
-quote -9223372036854775807 bor 340282366920938463463374607431768211456
--9223372036854775807 bor 340282366920938463463374607431768211456
-quote -2147483648 bor -170141183460469231731687303715884105728
--2147483648 bor -170141183460469231731687303715884105728
-quote -2147483648 bor -170141183460469231731687303715884105727
--2147483648 bor -170141183460469231731687303715884105727
-quote -2147483648 bor -9223372036854775808
--2147483648 bor -9223372036854775808
-quote -2147483648 bor -9223372036854775807
--2147483648 bor -9223372036854775807
-quote -2147483648 bor -2147483648
--2147483648 bor -2147483648
-quote -2147483648 bor -2147483647
--2147483648 bor -2147483647
-quote -2147483648 bor -32768
--2147483648 bor -32768
-quote -2147483648 bor -32767
--2147483648 bor -32767
-quote -2147483648 bor -128
--2147483648 bor -128
-quote -2147483648 bor -127
--2147483648 bor -127
-quote -2147483648 bor 255
--2147483648 bor 255
-quote -2147483648 bor 256
--2147483648 bor 256
-quote -2147483648 bor 65535
--2147483648 bor 65535
-quote -2147483648 bor 65536
--2147483648 bor 65536
-quote -2147483648 bor 4294967295
--2147483648 bor 4294967295
-quote -2147483648 bor 4294967296
--2147483648 bor 4294967296
-quote -2147483648 bor 18446744073709551615
--2147483648 bor 18446744073709551615
-quote -2147483648 bor 18446744073709551616
--2147483648 bor 18446744073709551616
-quote -2147483648 bor 340282366920938463463374607431768211455
--2147483648 bor 340282366920938463463374607431768211455
-quote -2147483648 bor 340282366920938463463374607431768211456
--2147483648 bor 340282366920938463463374607431768211456
-quote -2147483647 bor -170141183460469231731687303715884105728
--2147483647 bor -170141183460469231731687303715884105728
-quote -2147483647 bor -170141183460469231731687303715884105727
--2147483647 bor -170141183460469231731687303715884105727
-quote -2147483647 bor -9223372036854775808
--2147483647 bor -9223372036854775808
-quote -2147483647 bor -9223372036854775807
--2147483647 bor -9223372036854775807
-quote -2147483647 bor -2147483648
--2147483647 bor -2147483648
-quote -2147483647 bor -2147483647
--2147483647 bor -2147483647
-quote -2147483647 bor -32768
--2147483647 bor -32768
-quote -2147483647 bor -32767
--2147483647 bor -32767
-quote -2147483647 bor -128
--2147483647 bor -128
-quote -2147483647 bor -127
--2147483647 bor -127
-quote -2147483647 bor 255
--2147483647 bor 255
-quote -2147483647 bor 256
--2147483647 bor 256
-quote -2147483647 bor 65535
--2147483647 bor 65535
-quote -2147483647 bor 65536
--2147483647 bor 65536
-quote -2147483647 bor 4294967295
--2147483647 bor 4294967295
-quote -2147483647 bor 4294967296
--2147483647 bor 4294967296
-quote -2147483647 bor 18446744073709551615
--2147483647 bor 18446744073709551615
-quote -2147483647 bor 18446744073709551616
--2147483647 bor 18446744073709551616
-quote -2147483647 bor 340282366920938463463374607431768211455
--2147483647 bor 340282366920938463463374607431768211455
-quote -2147483647 bor 340282366920938463463374607431768211456
--2147483647 bor 340282366920938463463374607431768211456
-quote -32768 bor -170141183460469231731687303715884105728
--32768 bor -170141183460469231731687303715884105728
-quote -32768 bor -170141183460469231731687303715884105727
--32768 bor -170141183460469231731687303715884105727
-quote -32768 bor -9223372036854775808
--32768 bor -9223372036854775808
-quote -32768 bor -9223372036854775807
--32768 bor -9223372036854775807
-quote -32768 bor -2147483648
--32768 bor -2147483648
-quote -32768 bor -2147483647
--32768 bor -2147483647
-quote -32768 bor -32768
--32768 bor -32768
-quote -32768 bor -32767
--32768 bor -32767
-quote -32768 bor -128
--32768 bor -128
-quote -32768 bor -127
--32768 bor -127
-quote -32768 bor 255
--32768 bor 255
-quote -32768 bor 256
--32768 bor 256
-quote -32768 bor 65535
--32768 bor 65535
-quote -32768 bor 65536
--32768 bor 65536
-quote -32768 bor 4294967295
--32768 bor 4294967295
-quote -32768 bor 4294967296
--32768 bor 4294967296
-quote -32768 bor 18446744073709551615
--32768 bor 18446744073709551615
-quote -32768 bor 18446744073709551616
--32768 bor 18446744073709551616
-quote -32768 bor 340282366920938463463374607431768211455
--32768 bor 340282366920938463463374607431768211455
-quote -32768 bor 340282366920938463463374607431768211456
--32768 bor 340282366920938463463374607431768211456
-quote -32767 bor -170141183460469231731687303715884105728
--32767 bor -170141183460469231731687303715884105728
-quote -32767 bor -170141183460469231731687303715884105727
--32767 bor -170141183460469231731687303715884105727
-quote -32767 bor -9223372036854775808
--32767 bor -9223372036854775808
-quote -32767 bor -9223372036854775807
--32767 bor -9223372036854775807
-quote -32767 bor -2147483648
--32767 bor -2147483648
-quote -32767 bor -2147483647
--32767 bor -2147483647
-quote -32767 bor -32768
--32767 bor -32768
-quote -32767 bor -32767
--32767 bor -32767
-quote -32767 bor -128
--32767 bor -128
-quote -32767 bor -127
--32767 bor -127
-quote -32767 bor 255
--32767 bor 255
-quote -32767 bor 256
--32767 bor 256
-quote -32767 bor 65535
--32767 bor 65535
-quote -32767 bor 65536
--32767 bor 65536
-quote -32767 bor 4294967295
--32767 bor 4294967295
-quote -32767 bor 4294967296
--32767 bor 4294967296
-quote -32767 bor 18446744073709551615
--32767 bor 18446744073709551615
-quote -32767 bor 18446744073709551616
--32767 bor 18446744073709551616
-quote -32767 bor 340282366920938463463374607431768211455
--32767 bor 340282366920938463463374607431768211455
-quote -32767 bor 340282366920938463463374607431768211456
--32767 bor 340282366920938463463374607431768211456
-quote -128 bor -170141183460469231731687303715884105728
--128 bor -170141183460469231731687303715884105728
-quote -128 bor -170141183460469231731687303715884105727
--128 bor -170141183460469231731687303715884105727
-quote -128 bor -9223372036854775808
--128 bor -9223372036854775808
-quote -128 bor -9223372036854775807
--128 bor -9223372036854775807
-quote -128 bor -2147483648
--128 bor -2147483648
-quote -128 bor -2147483647
--128 bor -2147483647
-quote -128 bor -32768
--128 bor -32768
-quote -128 bor -32767
--128 bor -32767
-quote -128 bor -128
--128 bor -128
-quote -128 bor -127
--128 bor -127
-quote -128 bor 255
--128 bor 255
-quote -128 bor 256
--128 bor 256
-quote -128 bor 65535
--128 bor 65535
-quote -128 bor 65536
--128 bor 65536
-quote -128 bor 4294967295
--128 bor 4294967295
-quote -128 bor 4294967296
--128 bor 4294967296
-quote -128 bor 18446744073709551615
--128 bor 18446744073709551615
-quote -128 bor 18446744073709551616
--128 bor 18446744073709551616
-quote -128 bor 340282366920938463463374607431768211455
--128 bor 340282366920938463463374607431768211455
-quote -128 bor 340282366920938463463374607431768211456
--128 bor 340282366920938463463374607431768211456
-quote -127 bor -170141183460469231731687303715884105728
--127 bor -170141183460469231731687303715884105728
-quote -127 bor -170141183460469231731687303715884105727
--127 bor -170141183460469231731687303715884105727
-quote -127 bor -9223372036854775808
--127 bor -9223372036854775808
-quote -127 bor -9223372036854775807
--127 bor -9223372036854775807
-quote -127 bor -2147483648
--127 bor -2147483648
-quote -127 bor -2147483647
--127 bor -2147483647
-quote -127 bor -32768
--127 bor -32768
-quote -127 bor -32767
--127 bor -32767
-quote -127 bor -128
--127 bor -128
-quote -127 bor -127
--127 bor -127
-quote -127 bor 255
--127 bor 255
-quote -127 bor 256
--127 bor 256
-quote -127 bor 65535
--127 bor 65535
-quote -127 bor 65536
--127 bor 65536
-quote -127 bor 4294967295
--127 bor 4294967295
-quote -127 bor 4294967296
--127 bor 4294967296
-quote -127 bor 18446744073709551615
--127 bor 18446744073709551615
-quote -127 bor 18446744073709551616
--127 bor 18446744073709551616
-quote -127 bor 340282366920938463463374607431768211455
--127 bor 340282366920938463463374607431768211455
-quote -127 bor 340282366920938463463374607431768211456
--127 bor 340282366920938463463374607431768211456
-quote 255 bor -170141183460469231731687303715884105728
-255 bor -170141183460469231731687303715884105728
-quote 255 bor -170141183460469231731687303715884105727
-255 bor -170141183460469231731687303715884105727
-quote 255 bor -9223372036854775808
-255 bor -9223372036854775808
-quote 255 bor -9223372036854775807
-255 bor -9223372036854775807
-quote 255 bor -2147483648
-255 bor -2147483648
-quote 255 bor -2147483647
-255 bor -2147483647
-quote 255 bor -32768
-255 bor -32768
-quote 255 bor -32767
-255 bor -32767
-quote 255 bor -128
-255 bor -128
-quote 255 bor -127
-255 bor -127
-quote 255 bor 255
-255 bor 255
-quote 255 bor 256
-255 bor 256
-quote 255 bor 65535
-255 bor 65535
-quote 255 bor 65536
-255 bor 65536
-quote 255 bor 4294967295
-255 bor 4294967295
-quote 255 bor 4294967296
-255 bor 4294967296
-quote 255 bor 18446744073709551615
-255 bor 18446744073709551615
-quote 255 bor 18446744073709551616
-255 bor 18446744073709551616
-quote 255 bor 340282366920938463463374607431768211455
-255 bor 340282366920938463463374607431768211455
-quote 255 bor 340282366920938463463374607431768211456
-255 bor 340282366920938463463374607431768211456
-quote 256 bor -170141183460469231731687303715884105728
-256 bor -170141183460469231731687303715884105728
-quote 256 bor -170141183460469231731687303715884105727
-256 bor -170141183460469231731687303715884105727
-quote 256 bor -9223372036854775808
-256 bor -9223372036854775808
-quote 256 bor -9223372036854775807
-256 bor -9223372036854775807
-quote 256 bor -2147483648
-256 bor -2147483648
-quote 256 bor -2147483647
-256 bor -2147483647
-quote 256 bor -32768
-256 bor -32768
-quote 256 bor -32767
-256 bor -32767
-quote 256 bor -128
-256 bor -128
-quote 256 bor -127
-256 bor -127
-quote 256 bor 255
-256 bor 255
-quote 256 bor 256
-256 bor 256
-quote 256 bor 65535
-256 bor 65535
-quote 256 bor 65536
-256 bor 65536
-quote 256 bor 4294967295
-256 bor 4294967295
-quote 256 bor 4294967296
-256 bor 4294967296
-quote 256 bor 18446744073709551615
-256 bor 18446744073709551615
-quote 256 bor 18446744073709551616
-256 bor 18446744073709551616
-quote 256 bor 340282366920938463463374607431768211455
-256 bor 340282366920938463463374607431768211455
-quote 256 bor 340282366920938463463374607431768211456
-256 bor 340282366920938463463374607431768211456
-quote 65535 bor -170141183460469231731687303715884105728
-65535 bor -170141183460469231731687303715884105728
-quote 65535 bor -170141183460469231731687303715884105727
-65535 bor -170141183460469231731687303715884105727
-quote 65535 bor -9223372036854775808
-65535 bor -9223372036854775808
-quote 65535 bor -9223372036854775807
-65535 bor -9223372036854775807
-quote 65535 bor -2147483648
-65535 bor -2147483648
-quote 65535 bor -2147483647
-65535 bor -2147483647
-quote 65535 bor -32768
-65535 bor -32768
-quote 65535 bor -32767
-65535 bor -32767
-quote 65535 bor -128
-65535 bor -128
-quote 65535 bor -127
-65535 bor -127
-quote 65535 bor 255
-65535 bor 255
-quote 65535 bor 256
-65535 bor 256
-quote 65535 bor 65535
-65535 bor 65535
-quote 65535 bor 65536
-65535 bor 65536
-quote 65535 bor 4294967295
-65535 bor 4294967295
-quote 65535 bor 4294967296
-65535 bor 4294967296
-quote 65535 bor 18446744073709551615
-65535 bor 18446744073709551615
-quote 65535 bor 18446744073709551616
-65535 bor 18446744073709551616
-quote 65535 bor 340282366920938463463374607431768211455
-65535 bor 340282366920938463463374607431768211455
-quote 65535 bor 340282366920938463463374607431768211456
-65535 bor 340282366920938463463374607431768211456
-quote 65536 bor -170141183460469231731687303715884105728
-65536 bor -170141183460469231731687303715884105728
-quote 65536 bor -170141183460469231731687303715884105727
-65536 bor -170141183460469231731687303715884105727
-quote 65536 bor -9223372036854775808
-65536 bor -9223372036854775808
-quote 65536 bor -9223372036854775807
-65536 bor -9223372036854775807
-quote 65536 bor -2147483648
-65536 bor -2147483648
-quote 65536 bor -2147483647
-65536 bor -2147483647
-quote 65536 bor -32768
-65536 bor -32768
-quote 65536 bor -32767
-65536 bor -32767
-quote 65536 bor -128
-65536 bor -128
-quote 65536 bor -127
-65536 bor -127
-quote 65536 bor 255
-65536 bor 255
-quote 65536 bor 256
-65536 bor 256
-quote 65536 bor 65535
-65536 bor 65535
-quote 65536 bor 65536
-65536 bor 65536
-quote 65536 bor 4294967295
-65536 bor 4294967295
-quote 65536 bor 4294967296
-65536 bor 4294967296
-quote 65536 bor 18446744073709551615
-65536 bor 18446744073709551615
-quote 65536 bor 18446744073709551616
-65536 bor 18446744073709551616
-quote 65536 bor 340282366920938463463374607431768211455
-65536 bor 340282366920938463463374607431768211455
-quote 65536 bor 340282366920938463463374607431768211456
-65536 bor 340282366920938463463374607431768211456
-quote 4294967295 bor -170141183460469231731687303715884105728
-4294967295 bor -170141183460469231731687303715884105728
-quote 4294967295 bor -170141183460469231731687303715884105727
-4294967295 bor -170141183460469231731687303715884105727
-quote 4294967295 bor -9223372036854775808
-4294967295 bor -9223372036854775808
-quote 4294967295 bor -9223372036854775807
-4294967295 bor -9223372036854775807
-quote 4294967295 bor -2147483648
-4294967295 bor -2147483648
-quote 4294967295 bor -2147483647
-4294967295 bor -2147483647
-quote 4294967295 bor -32768
-4294967295 bor -32768
-quote 4294967295 bor -32767
-4294967295 bor -32767
-quote 4294967295 bor -128
-4294967295 bor -128
-quote 4294967295 bor -127
-4294967295 bor -127
-quote 4294967295 bor 255
-4294967295 bor 255
-quote 4294967295 bor 256
-4294967295 bor 256
-quote 4294967295 bor 65535
-4294967295 bor 65535
-quote 4294967295 bor 65536
-4294967295 bor 65536
-quote 4294967295 bor 4294967295
-4294967295 bor 4294967295
-quote 4294967295 bor 4294967296
-4294967295 bor 4294967296
-quote 4294967295 bor 18446744073709551615
-4294967295 bor 18446744073709551615
-quote 4294967295 bor 18446744073709551616
-4294967295 bor 18446744073709551616
-quote 4294967295 bor 340282366920938463463374607431768211455
-4294967295 bor 340282366920938463463374607431768211455
-quote 4294967295 bor 340282366920938463463374607431768211456
-4294967295 bor 340282366920938463463374607431768211456
-quote 4294967296 bor -170141183460469231731687303715884105728
-4294967296 bor -170141183460469231731687303715884105728
-quote 4294967296 bor -170141183460469231731687303715884105727
-4294967296 bor -170141183460469231731687303715884105727
-quote 4294967296 bor -9223372036854775808
-4294967296 bor -9223372036854775808
-quote 4294967296 bor -9223372036854775807
-4294967296 bor -9223372036854775807
-quote 4294967296 bor -2147483648
-4294967296 bor -2147483648
-quote 4294967296 bor -2147483647
-4294967296 bor -2147483647
-quote 4294967296 bor -32768
-4294967296 bor -32768
-quote 4294967296 bor -32767
-4294967296 bor -32767
-quote 4294967296 bor -128
-4294967296 bor -128
-quote 4294967296 bor -127
-4294967296 bor -127
-quote 4294967296 bor 255
-4294967296 bor 255
-quote 4294967296 bor 256
-4294967296 bor 256
-quote 4294967296 bor 65535
-4294967296 bor 65535
-quote 4294967296 bor 65536
-4294967296 bor 65536
-quote 4294967296 bor 4294967295
-4294967296 bor 4294967295
-quote 4294967296 bor 4294967296
-4294967296 bor 4294967296
-quote 4294967296 bor 18446744073709551615
-4294967296 bor 18446744073709551615
-quote 4294967296 bor 18446744073709551616
-4294967296 bor 18446744073709551616
-quote 4294967296 bor 340282366920938463463374607431768211455
-4294967296 bor 340282366920938463463374607431768211455
-quote 4294967296 bor 340282366920938463463374607431768211456
-4294967296 bor 340282366920938463463374607431768211456
-quote 18446744073709551615 bor -170141183460469231731687303715884105728
-18446744073709551615 bor -170141183460469231731687303715884105728
-quote 18446744073709551615 bor -170141183460469231731687303715884105727
-18446744073709551615 bor -170141183460469231731687303715884105727
-quote 18446744073709551615 bor -9223372036854775808
-18446744073709551615 bor -9223372036854775808
-quote 18446744073709551615 bor -9223372036854775807
-18446744073709551615 bor -9223372036854775807
-quote 18446744073709551615 bor -2147483648
-18446744073709551615 bor -2147483648
-quote 18446744073709551615 bor -2147483647
-18446744073709551615 bor -2147483647
-quote 18446744073709551615 bor -32768
-18446744073709551615 bor -32768
-quote 18446744073709551615 bor -32767
-18446744073709551615 bor -32767
-quote 18446744073709551615 bor -128
-18446744073709551615 bor -128
-quote 18446744073709551615 bor -127
-18446744073709551615 bor -127
-quote 18446744073709551615 bor 255
-18446744073709551615 bor 255
-quote 18446744073709551615 bor 256
-18446744073709551615 bor 256
-quote 18446744073709551615 bor 65535
-18446744073709551615 bor 65535
-quote 18446744073709551615 bor 65536
-18446744073709551615 bor 65536
-quote 18446744073709551615 bor 4294967295
-18446744073709551615 bor 4294967295
-quote 18446744073709551615 bor 4294967296
-18446744073709551615 bor 4294967296
-quote 18446744073709551615 bor 18446744073709551615
-18446744073709551615 bor 18446744073709551615
-quote 18446744073709551615 bor 18446744073709551616
-18446744073709551615 bor 18446744073709551616
-quote 18446744073709551615 bor 340282366920938463463374607431768211455
-18446744073709551615 bor 340282366920938463463374607431768211455
-quote 18446744073709551615 bor 340282366920938463463374607431768211456
-18446744073709551615 bor 340282366920938463463374607431768211456
-quote 18446744073709551616 bor -170141183460469231731687303715884105728
-18446744073709551616 bor -170141183460469231731687303715884105728
-quote 18446744073709551616 bor -170141183460469231731687303715884105727
-18446744073709551616 bor -170141183460469231731687303715884105727
-quote 18446744073709551616 bor -9223372036854775808
-18446744073709551616 bor -9223372036854775808
-quote 18446744073709551616 bor -9223372036854775807
-18446744073709551616 bor -9223372036854775807
-quote 18446744073709551616 bor -2147483648
-18446744073709551616 bor -2147483648
-quote 18446744073709551616 bor -2147483647
-18446744073709551616 bor -2147483647
-quote 18446744073709551616 bor -32768
-18446744073709551616 bor -32768
-quote 18446744073709551616 bor -32767
-18446744073709551616 bor -32767
-quote 18446744073709551616 bor -128
-18446744073709551616 bor -128
-quote 18446744073709551616 bor -127
-18446744073709551616 bor -127
-quote 18446744073709551616 bor 255
-18446744073709551616 bor 255
-quote 18446744073709551616 bor 256
-18446744073709551616 bor 256
-quote 18446744073709551616 bor 65535
-18446744073709551616 bor 65535
-quote 18446744073709551616 bor 65536
-18446744073709551616 bor 65536
-quote 18446744073709551616 bor 4294967295
-18446744073709551616 bor 4294967295
-quote 18446744073709551616 bor 4294967296
-18446744073709551616 bor 4294967296
-quote 18446744073709551616 bor 18446744073709551615
-18446744073709551616 bor 18446744073709551615
-quote 18446744073709551616 bor 18446744073709551616
-18446744073709551616 bor 18446744073709551616
-quote 18446744073709551616 bor 340282366920938463463374607431768211455
-18446744073709551616 bor 340282366920938463463374607431768211455
-quote 18446744073709551616 bor 340282366920938463463374607431768211456
-18446744073709551616 bor 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211455 bor -170141183460469231731687303715884105728
-340282366920938463463374607431768211455 bor -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211455 bor -170141183460469231731687303715884105727
-340282366920938463463374607431768211455 bor -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211455 bor -9223372036854775808
-340282366920938463463374607431768211455 bor -9223372036854775808
-quote 340282366920938463463374607431768211455 bor -9223372036854775807
-340282366920938463463374607431768211455 bor -9223372036854775807
-quote 340282366920938463463374607431768211455 bor -2147483648
-340282366920938463463374607431768211455 bor -2147483648
-quote 340282366920938463463374607431768211455 bor -2147483647
-340282366920938463463374607431768211455 bor -2147483647
-quote 340282366920938463463374607431768211455 bor -32768
-340282366920938463463374607431768211455 bor -32768
-quote 340282366920938463463374607431768211455 bor -32767
-340282366920938463463374607431768211455 bor -32767
-quote 340282366920938463463374607431768211455 bor -128
-340282366920938463463374607431768211455 bor -128
-quote 340282366920938463463374607431768211455 bor -127
-340282366920938463463374607431768211455 bor -127
-quote 340282366920938463463374607431768211455 bor 255
-340282366920938463463374607431768211455 bor 255
-quote 340282366920938463463374607431768211455 bor 256
-340282366920938463463374607431768211455 bor 256
-quote 340282366920938463463374607431768211455 bor 65535
-340282366920938463463374607431768211455 bor 65535
-quote 340282366920938463463374607431768211455 bor 65536
-340282366920938463463374607431768211455 bor 65536
-quote 340282366920938463463374607431768211455 bor 4294967295
-340282366920938463463374607431768211455 bor 4294967295
-quote 340282366920938463463374607431768211455 bor 4294967296
-340282366920938463463374607431768211455 bor 4294967296
-quote 340282366920938463463374607431768211455 bor 18446744073709551615
-340282366920938463463374607431768211455 bor 18446744073709551615
-quote 340282366920938463463374607431768211455 bor 18446744073709551616
-340282366920938463463374607431768211455 bor 18446744073709551616
-quote 340282366920938463463374607431768211455 bor 340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211455 bor 340282366920938463463374607431768211456
-340282366920938463463374607431768211455 bor 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211456 bor -170141183460469231731687303715884105728
-340282366920938463463374607431768211456 bor -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211456 bor -170141183460469231731687303715884105727
-340282366920938463463374607431768211456 bor -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211456 bor -9223372036854775808
-340282366920938463463374607431768211456 bor -9223372036854775808
-quote 340282366920938463463374607431768211456 bor -9223372036854775807
-340282366920938463463374607431768211456 bor -9223372036854775807
-quote 340282366920938463463374607431768211456 bor -2147483648
-340282366920938463463374607431768211456 bor -2147483648
-quote 340282366920938463463374607431768211456 bor -2147483647
-340282366920938463463374607431768211456 bor -2147483647
-quote 340282366920938463463374607431768211456 bor -32768
-340282366920938463463374607431768211456 bor -32768
-quote 340282366920938463463374607431768211456 bor -32767
-340282366920938463463374607431768211456 bor -32767
-quote 340282366920938463463374607431768211456 bor -128
-340282366920938463463374607431768211456 bor -128
-quote 340282366920938463463374607431768211456 bor -127
-340282366920938463463374607431768211456 bor -127
-quote 340282366920938463463374607431768211456 bor 255
-340282366920938463463374607431768211456 bor 255
-quote 340282366920938463463374607431768211456 bor 256
-340282366920938463463374607431768211456 bor 256
-quote 340282366920938463463374607431768211456 bor 65535
-340282366920938463463374607431768211456 bor 65535
-quote 340282366920938463463374607431768211456 bor 65536
-340282366920938463463374607431768211456 bor 65536
-quote 340282366920938463463374607431768211456 bor 4294967295
-340282366920938463463374607431768211456 bor 4294967295
-quote 340282366920938463463374607431768211456 bor 4294967296
-340282366920938463463374607431768211456 bor 4294967296
-quote 340282366920938463463374607431768211456 bor 18446744073709551615
-340282366920938463463374607431768211456 bor 18446744073709551615
-quote 340282366920938463463374607431768211456 bor 18446744073709551616
-340282366920938463463374607431768211456 bor 18446744073709551616
-quote 340282366920938463463374607431768211456 bor 340282366920938463463374607431768211455
-340282366920938463463374607431768211456 bor 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211456 bor 340282366920938463463374607431768211456
-340282366920938463463374607431768211456 bor 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_bor.out.expected b/test/ic3/integer_bor.out.expected
deleted file mode 100644
index c0fa0ba..0000000
--- a/test/ic3/integer_bor.out.expected
+++ /dev/null
@@ -1,800 +0,0 @@
--170141183460469231731687303715884105728 bor -170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728 bor -170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--170141183460469231731687303715884105728 bor -9223372036854775808
--9223372036854775808
--170141183460469231731687303715884105728 bor -9223372036854775807
--9223372036854775807
--170141183460469231731687303715884105728 bor -2147483648
--2147483648
--170141183460469231731687303715884105728 bor -2147483647
--2147483647
--170141183460469231731687303715884105728 bor -32768
--32768
--170141183460469231731687303715884105728 bor -32767
--32767
--170141183460469231731687303715884105728 bor -128
--128
--170141183460469231731687303715884105728 bor -127
--127
--170141183460469231731687303715884105728 bor 255
--170141183460469231731687303715884105473
--170141183460469231731687303715884105728 bor 256
--170141183460469231731687303715884105472
--170141183460469231731687303715884105728 bor 65535
--170141183460469231731687303715884040193
--170141183460469231731687303715884105728 bor 65536
--170141183460469231731687303715884040192
--170141183460469231731687303715884105728 bor 4294967295
--170141183460469231731687303711589138433
--170141183460469231731687303715884105728 bor 4294967296
--170141183460469231731687303711589138432
--170141183460469231731687303715884105728 bor 18446744073709551615
--170141183460469231713240559642174554113
--170141183460469231731687303715884105728 bor 18446744073709551616
--170141183460469231713240559642174554112
--170141183460469231731687303715884105728 bor 340282366920938463463374607431768211455
--1
--170141183460469231731687303715884105728 bor 340282366920938463463374607431768211456
--170141183460469231731687303715884105728
--170141183460469231731687303715884105727 bor -170141183460469231731687303715884105728
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727 bor -170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727 bor -9223372036854775808
--9223372036854775807
--170141183460469231731687303715884105727 bor -9223372036854775807
--9223372036854775807
--170141183460469231731687303715884105727 bor -2147483648
--2147483647
--170141183460469231731687303715884105727 bor -2147483647
--2147483647
--170141183460469231731687303715884105727 bor -32768
--32767
--170141183460469231731687303715884105727 bor -32767
--32767
--170141183460469231731687303715884105727 bor -128
--127
--170141183460469231731687303715884105727 bor -127
--127
--170141183460469231731687303715884105727 bor 255
--170141183460469231731687303715884105473
--170141183460469231731687303715884105727 bor 256
--170141183460469231731687303715884105471
--170141183460469231731687303715884105727 bor 65535
--170141183460469231731687303715884040193
--170141183460469231731687303715884105727 bor 65536
--170141183460469231731687303715884040191
--170141183460469231731687303715884105727 bor 4294967295
--170141183460469231731687303711589138433
--170141183460469231731687303715884105727 bor 4294967296
--170141183460469231731687303711589138431
--170141183460469231731687303715884105727 bor 18446744073709551615
--170141183460469231713240559642174554113
--170141183460469231731687303715884105727 bor 18446744073709551616
--170141183460469231713240559642174554111
--170141183460469231731687303715884105727 bor 340282366920938463463374607431768211455
--1
--170141183460469231731687303715884105727 bor 340282366920938463463374607431768211456
--170141183460469231731687303715884105727
--9223372036854775808 bor -170141183460469231731687303715884105728
--9223372036854775808
--9223372036854775808 bor -170141183460469231731687303715884105727
--9223372036854775807
--9223372036854775808 bor -9223372036854775808
--9223372036854775808
--9223372036854775808 bor -9223372036854775807
--9223372036854775807
--9223372036854775808 bor -2147483648
--2147483648
--9223372036854775808 bor -2147483647
--2147483647
--9223372036854775808 bor -32768
--32768
--9223372036854775808 bor -32767
--32767
--9223372036854775808 bor -128
--128
--9223372036854775808 bor -127
--127
--9223372036854775808 bor 255
--9223372036854775553
--9223372036854775808 bor 256
--9223372036854775552
--9223372036854775808 bor 65535
--9223372036854710273
--9223372036854775808 bor 65536
--9223372036854710272
--9223372036854775808 bor 4294967295
--9223372032559808513
--9223372036854775808 bor 4294967296
--9223372032559808512
--9223372036854775808 bor 18446744073709551615
--1
--9223372036854775808 bor 18446744073709551616
--9223372036854775808
--9223372036854775808 bor 340282366920938463463374607431768211455
--1
--9223372036854775808 bor 340282366920938463463374607431768211456
--9223372036854775808
--9223372036854775807 bor -170141183460469231731687303715884105728
--9223372036854775807
--9223372036854775807 bor -170141183460469231731687303715884105727
--9223372036854775807
--9223372036854775807 bor -9223372036854775808
--9223372036854775807
--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
--9223372036854775807 bor 18446744073709551615
--1
--9223372036854775807 bor 18446744073709551616
--9223372036854775807
--9223372036854775807 bor 340282366920938463463374607431768211455
--1
--9223372036854775807 bor 340282366920938463463374607431768211456
--9223372036854775807
--2147483648 bor -170141183460469231731687303715884105728
--2147483648
--2147483648 bor -170141183460469231731687303715884105727
--2147483647
--2147483648 bor -9223372036854775808
--2147483648
--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
--2147483648 bor 18446744073709551615
--1
--2147483648 bor 18446744073709551616
--2147483648
--2147483648 bor 340282366920938463463374607431768211455
--1
--2147483648 bor 340282366920938463463374607431768211456
--2147483648
--2147483647 bor -170141183460469231731687303715884105728
--2147483647
--2147483647 bor -170141183460469231731687303715884105727
--2147483647
--2147483647 bor -9223372036854775808
--2147483647
--2147483647 bor -9223372036854775807
--2147483647
--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
--2147483647 bor 18446744073709551616
--2147483647
--2147483647 bor 340282366920938463463374607431768211455
--1
--2147483647 bor 340282366920938463463374607431768211456
--2147483647
--32768 bor -170141183460469231731687303715884105728
--32768
--32768 bor -170141183460469231731687303715884105727
--32767
--32768 bor -9223372036854775808
--32768
--32768 bor -9223372036854775807
--32767
--32768 bor -2147483648
--32768
--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
--32768 bor 65536
--32768
--32768 bor 4294967295
--1
--32768 bor 4294967296
--32768
--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
--32767 bor -9223372036854775807
--32767
--32767 bor -2147483648
--32767
--32767 bor -2147483647
--32767
--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
--32767 bor 4294967296
--32767
--32767 bor 18446744073709551615
--1
--32767 bor 18446744073709551616
--32767
--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
--128 bor -2147483647
--127
--128 bor -32768
--128
--128 bor -32767
--127
--128 bor -128
--128
--128 bor -127
--127
--128 bor 255
--1
--128 bor 256
--128
--128 bor 65535
--1
--128 bor 65536
--128
--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
-255 bor -170141183460469231731687303715884105727
--170141183460469231731687303715884105473
-255 bor -9223372036854775808
--9223372036854775553
-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
-255 bor 340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-255 bor 340282366920938463463374607431768211456
-340282366920938463463374607431768211711
-256 bor -170141183460469231731687303715884105728
--170141183460469231731687303715884105472
-256 bor -170141183460469231731687303715884105727
--170141183460469231731687303715884105471
-256 bor -9223372036854775808
--9223372036854775552
-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
-256 bor 340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-256 bor 340282366920938463463374607431768211456
-340282366920938463463374607431768211712
-65535 bor -170141183460469231731687303715884105728
--170141183460469231731687303715884040193
-65535 bor -170141183460469231731687303715884105727
--170141183460469231731687303715884040193
-65535 bor -9223372036854775808
--9223372036854710273
-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
-65535 bor 340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-65535 bor 340282366920938463463374607431768211456
-340282366920938463463374607431768276991
-65536 bor -170141183460469231731687303715884105728
--170141183460469231731687303715884040192
-65536 bor -170141183460469231731687303715884105727
--170141183460469231731687303715884040191
-65536 bor -9223372036854775808
--9223372036854710272
-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
-65536 bor 340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-65536 bor 340282366920938463463374607431768211456
-340282366920938463463374607431768276992
-4294967295 bor -170141183460469231731687303715884105728
--170141183460469231731687303711589138433
-4294967295 bor -170141183460469231731687303715884105727
--170141183460469231731687303711589138433
-4294967295 bor -9223372036854775808
--9223372032559808513
-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
-4294967295 bor 340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-4294967295 bor 340282366920938463463374607431768211456
-340282366920938463463374607436063178751
-4294967296 bor -170141183460469231731687303715884105728
--170141183460469231731687303711589138432
-4294967296 bor -170141183460469231731687303715884105727
--170141183460469231731687303711589138431
-4294967296 bor -9223372036854775808
--9223372032559808512
-4294967296 bor -9223372036854775807
--9223372032559808511
-4294967296 bor -2147483648
--2147483648
-4294967296 bor -2147483647
--2147483647
-4294967296 bor -32768
--32768
-4294967296 bor -32767
--32767
-4294967296 bor -128
--128
-4294967296 bor -127
--127
-4294967296 bor 255
-4294967551
-4294967296 bor 256
-4294967552
-4294967296 bor 65535
-4295032831
-4294967296 bor 65536
-4295032832
-4294967296 bor 4294967295
-8589934591
-4294967296 bor 4294967296
-4294967296
-4294967296 bor 18446744073709551615
-18446744073709551615
-4294967296 bor 18446744073709551616
-18446744078004518912
-4294967296 bor 340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-4294967296 bor 340282366920938463463374607431768211456
-340282366920938463463374607436063178752
-18446744073709551615 bor -170141183460469231731687303715884105728
--170141183460469231713240559642174554113
-18446744073709551615 bor -170141183460469231731687303715884105727
--170141183460469231713240559642174554113
-18446744073709551615 bor -9223372036854775808
--1
-18446744073709551615 bor -9223372036854775807
--1
-18446744073709551615 bor -2147483648
--1
-18446744073709551615 bor -2147483647
--1
-18446744073709551615 bor -32768
--1
-18446744073709551615 bor -32767
--1
-18446744073709551615 bor -128
--1
-18446744073709551615 bor -127
--1
-18446744073709551615 bor 255
-18446744073709551615
-18446744073709551615 bor 256
-18446744073709551615
-18446744073709551615 bor 65535
-18446744073709551615
-18446744073709551615 bor 65536
-18446744073709551615
-18446744073709551615 bor 4294967295
-18446744073709551615
-18446744073709551615 bor 4294967296
-18446744073709551615
-18446744073709551615 bor 18446744073709551615
-18446744073709551615
-18446744073709551615 bor 18446744073709551616
-36893488147419103231
-18446744073709551615 bor 340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-18446744073709551615 bor 340282366920938463463374607431768211456
-340282366920938463481821351505477763071
-18446744073709551616 bor -170141183460469231731687303715884105728
--170141183460469231713240559642174554112
-18446744073709551616 bor -170141183460469231731687303715884105727
--170141183460469231713240559642174554111
-18446744073709551616 bor -9223372036854775808
--9223372036854775808
-18446744073709551616 bor -9223372036854775807
--9223372036854775807
-18446744073709551616 bor -2147483648
--2147483648
-18446744073709551616 bor -2147483647
--2147483647
-18446744073709551616 bor -32768
--32768
-18446744073709551616 bor -32767
--32767
-18446744073709551616 bor -128
--128
-18446744073709551616 bor -127
--127
-18446744073709551616 bor 255
-18446744073709551871
-18446744073709551616 bor 256
-18446744073709551872
-18446744073709551616 bor 65535
-18446744073709617151
-18446744073709551616 bor 65536
-18446744073709617152
-18446744073709551616 bor 4294967295
-18446744078004518911
-18446744073709551616 bor 4294967296
-18446744078004518912
-18446744073709551616 bor 18446744073709551615
-36893488147419103231
-18446744073709551616 bor 18446744073709551616
-18446744073709551616
-18446744073709551616 bor 340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-18446744073709551616 bor 340282366920938463463374607431768211456
-340282366920938463481821351505477763072
-340282366920938463463374607431768211455 bor -170141183460469231731687303715884105728
--1
-340282366920938463463374607431768211455 bor -170141183460469231731687303715884105727
--1
-340282366920938463463374607431768211455 bor -9223372036854775808
--1
-340282366920938463463374607431768211455 bor -9223372036854775807
--1
-340282366920938463463374607431768211455 bor -2147483648
--1
-340282366920938463463374607431768211455 bor -2147483647
--1
-340282366920938463463374607431768211455 bor -32768
--1
-340282366920938463463374607431768211455 bor -32767
--1
-340282366920938463463374607431768211455 bor -128
--1
-340282366920938463463374607431768211455 bor -127
--1
-340282366920938463463374607431768211455 bor 255
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor 256
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor 65535
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor 65536
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor 4294967295
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor 4294967296
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor 18446744073709551615
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor 18446744073709551616
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor 340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455 bor 340282366920938463463374607431768211456
-680564733841876926926749214863536422911
-340282366920938463463374607431768211456 bor -170141183460469231731687303715884105728
--170141183460469231731687303715884105728
-340282366920938463463374607431768211456 bor -170141183460469231731687303715884105727
--170141183460469231731687303715884105727
-340282366920938463463374607431768211456 bor -9223372036854775808
--9223372036854775808
-340282366920938463463374607431768211456 bor -9223372036854775807
--9223372036854775807
-340282366920938463463374607431768211456 bor -2147483648
--2147483648
-340282366920938463463374607431768211456 bor -2147483647
--2147483647
-340282366920938463463374607431768211456 bor -32768
--32768
-340282366920938463463374607431768211456 bor -32767
--32767
-340282366920938463463374607431768211456 bor -128
--128
-340282366920938463463374607431768211456 bor -127
--127
-340282366920938463463374607431768211456 bor 255
-340282366920938463463374607431768211711
-340282366920938463463374607431768211456 bor 256
-340282366920938463463374607431768211712
-340282366920938463463374607431768211456 bor 65535
-340282366920938463463374607431768276991
-340282366920938463463374607431768211456 bor 65536
-340282366920938463463374607431768276992
-340282366920938463463374607431768211456 bor 4294967295
-340282366920938463463374607436063178751
-340282366920938463463374607431768211456 bor 4294967296
-340282366920938463463374607436063178752
-340282366920938463463374607431768211456 bor 18446744073709551615
-340282366920938463481821351505477763071
-340282366920938463463374607431768211456 bor 18446744073709551616
-340282366920938463481821351505477763072
-340282366920938463463374607431768211456 bor 340282366920938463463374607431768211455
-680564733841876926926749214863536422911
-340282366920938463463374607431768211456 bor 340282366920938463463374607431768211456
-340282366920938463463374607431768211456
diff --git a/test/ic3/integer_bor.ret.expected b/test/ic3/integer_bor.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/integer_bor.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/integer_bor_2.in b/test/ic3/integer_bor_2.in
new file mode 100644
index 0000000..c8087db
--- /dev/null
+++ b/test/ic3/integer_bor_2.in
@@ -0,0 +1,800 @@
+quote -170141183460469231731687303715884105728 bor -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 bor -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105728 bor -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 bor -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105728 bor -9223372036854775808
+-170141183460469231731687303715884105728 bor -9223372036854775808
+quote -170141183460469231731687303715884105728 bor -9223372036854775807
+-170141183460469231731687303715884105728 bor -9223372036854775807
+quote -170141183460469231731687303715884105728 bor -2147483648
+-170141183460469231731687303715884105728 bor -2147483648
+quote -170141183460469231731687303715884105728 bor -2147483647
+-170141183460469231731687303715884105728 bor -2147483647
+quote -170141183460469231731687303715884105728 bor -32768
+-170141183460469231731687303715884105728 bor -32768
+quote -170141183460469231731687303715884105728 bor -32767
+-170141183460469231731687303715884105728 bor -32767
+quote -170141183460469231731687303715884105728 bor -128
+-170141183460469231731687303715884105728 bor -128
+quote -170141183460469231731687303715884105728 bor -127
+-170141183460469231731687303715884105728 bor -127
+quote -170141183460469231731687303715884105728 bor 255
+-170141183460469231731687303715884105728 bor 255
+quote -170141183460469231731687303715884105728 bor 256
+-170141183460469231731687303715884105728 bor 256
+quote -170141183460469231731687303715884105728 bor 65535
+-170141183460469231731687303715884105728 bor 65535
+quote -170141183460469231731687303715884105728 bor 65536
+-170141183460469231731687303715884105728 bor 65536
+quote -170141183460469231731687303715884105728 bor 4294967295
+-170141183460469231731687303715884105728 bor 4294967295
+quote -170141183460469231731687303715884105728 bor 4294967296
+-170141183460469231731687303715884105728 bor 4294967296
+quote -170141183460469231731687303715884105728 bor 18446744073709551615
+-170141183460469231731687303715884105728 bor 18446744073709551615
+quote -170141183460469231731687303715884105728 bor 18446744073709551616
+-170141183460469231731687303715884105728 bor 18446744073709551616
+quote -170141183460469231731687303715884105728 bor 340282366920938463463374607431768211455
+-170141183460469231731687303715884105728 bor 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105728 bor 340282366920938463463374607431768211456
+-170141183460469231731687303715884105728 bor 340282366920938463463374607431768211456
+quote -170141183460469231731687303715884105727 bor -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 bor -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105727 bor -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 bor -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105727 bor -9223372036854775808
+-170141183460469231731687303715884105727 bor -9223372036854775808
+quote -170141183460469231731687303715884105727 bor -9223372036854775807
+-170141183460469231731687303715884105727 bor -9223372036854775807
+quote -170141183460469231731687303715884105727 bor -2147483648
+-170141183460469231731687303715884105727 bor -2147483648
+quote -170141183460469231731687303715884105727 bor -2147483647
+-170141183460469231731687303715884105727 bor -2147483647
+quote -170141183460469231731687303715884105727 bor -32768
+-170141183460469231731687303715884105727 bor -32768
+quote -170141183460469231731687303715884105727 bor -32767
+-170141183460469231731687303715884105727 bor -32767
+quote -170141183460469231731687303715884105727 bor -128
+-170141183460469231731687303715884105727 bor -128
+quote -170141183460469231731687303715884105727 bor -127
+-170141183460469231731687303715884105727 bor -127
+quote -170141183460469231731687303715884105727 bor 255
+-170141183460469231731687303715884105727 bor 255
+quote -170141183460469231731687303715884105727 bor 256
+-170141183460469231731687303715884105727 bor 256
+quote -170141183460469231731687303715884105727 bor 65535
+-170141183460469231731687303715884105727 bor 65535
+quote -170141183460469231731687303715884105727 bor 65536
+-170141183460469231731687303715884105727 bor 65536
+quote -170141183460469231731687303715884105727 bor 4294967295
+-170141183460469231731687303715884105727 bor 4294967295
+quote -170141183460469231731687303715884105727 bor 4294967296
+-170141183460469231731687303715884105727 bor 4294967296
+quote -170141183460469231731687303715884105727 bor 18446744073709551615
+-170141183460469231731687303715884105727 bor 18446744073709551615
+quote -170141183460469231731687303715884105727 bor 18446744073709551616
+-170141183460469231731687303715884105727 bor 18446744073709551616
+quote -170141183460469231731687303715884105727 bor 340282366920938463463374607431768211455
+-170141183460469231731687303715884105727 bor 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105727 bor 340282366920938463463374607431768211456
+-170141183460469231731687303715884105727 bor 340282366920938463463374607431768211456
+quote -9223372036854775808 bor -170141183460469231731687303715884105728
+-9223372036854775808 bor -170141183460469231731687303715884105728
+quote -9223372036854775808 bor -170141183460469231731687303715884105727
+-9223372036854775808 bor -170141183460469231731687303715884105727
+quote -9223372036854775808 bor -9223372036854775808
+-9223372036854775808 bor -9223372036854775808
+quote -9223372036854775808 bor -9223372036854775807
+-9223372036854775808 bor -9223372036854775807
+quote -9223372036854775808 bor -2147483648
+-9223372036854775808 bor -2147483648
+quote -9223372036854775808 bor -2147483647
+-9223372036854775808 bor -2147483647
+quote -9223372036854775808 bor -32768
+-9223372036854775808 bor -32768
+quote -9223372036854775808 bor -32767
+-9223372036854775808 bor -32767
+quote -9223372036854775808 bor -128
+-9223372036854775808 bor -128
+quote -9223372036854775808 bor -127
+-9223372036854775808 bor -127
+quote -9223372036854775808 bor 255
+-9223372036854775808 bor 255
+quote -9223372036854775808 bor 256
+-9223372036854775808 bor 256
+quote -9223372036854775808 bor 65535
+-9223372036854775808 bor 65535
+quote -9223372036854775808 bor 65536
+-9223372036854775808 bor 65536
+quote -9223372036854775808 bor 4294967295
+-9223372036854775808 bor 4294967295
+quote -9223372036854775808 bor 4294967296
+-9223372036854775808 bor 4294967296
+quote -9223372036854775808 bor 18446744073709551615
+-9223372036854775808 bor 18446744073709551615
+quote -9223372036854775808 bor 18446744073709551616
+-9223372036854775808 bor 18446744073709551616
+quote -9223372036854775808 bor 340282366920938463463374607431768211455
+-9223372036854775808 bor 340282366920938463463374607431768211455
+quote -9223372036854775808 bor 340282366920938463463374607431768211456
+-9223372036854775808 bor 340282366920938463463374607431768211456
+quote -9223372036854775807 bor -170141183460469231731687303715884105728
+-9223372036854775807 bor -170141183460469231731687303715884105728
+quote -9223372036854775807 bor -170141183460469231731687303715884105727
+-9223372036854775807 bor -170141183460469231731687303715884105727
+quote -9223372036854775807 bor -9223372036854775808
+-9223372036854775807 bor -9223372036854775808
+quote -9223372036854775807 bor -9223372036854775807
+-9223372036854775807 bor -9223372036854775807
+quote -9223372036854775807 bor -2147483648
+-9223372036854775807 bor -2147483648
+quote -9223372036854775807 bor -2147483647
+-9223372036854775807 bor -2147483647
+quote -9223372036854775807 bor -32768
+-9223372036854775807 bor -32768
+quote -9223372036854775807 bor -32767
+-9223372036854775807 bor -32767
+quote -9223372036854775807 bor -128
+-9223372036854775807 bor -128
+quote -9223372036854775807 bor -127
+-9223372036854775807 bor -127
+quote -9223372036854775807 bor 255
+-9223372036854775807 bor 255
+quote -9223372036854775807 bor 256
+-9223372036854775807 bor 256
+quote -9223372036854775807 bor 65535
+-9223372036854775807 bor 65535
+quote -9223372036854775807 bor 65536
+-9223372036854775807 bor 65536
+quote -9223372036854775807 bor 4294967295
+-9223372036854775807 bor 4294967295
+quote -9223372036854775807 bor 4294967296
+-9223372036854775807 bor 4294967296
+quote -9223372036854775807 bor 18446744073709551615
+-9223372036854775807 bor 18446744073709551615
+quote -9223372036854775807 bor 18446744073709551616
+-9223372036854775807 bor 18446744073709551616
+quote -9223372036854775807 bor 340282366920938463463374607431768211455
+-9223372036854775807 bor 340282366920938463463374607431768211455
+quote -9223372036854775807 bor 340282366920938463463374607431768211456
+-9223372036854775807 bor 340282366920938463463374607431768211456
+quote -2147483648 bor -170141183460469231731687303715884105728
+-2147483648 bor -170141183460469231731687303715884105728
+quote -2147483648 bor -170141183460469231731687303715884105727
+-2147483648 bor -170141183460469231731687303715884105727
+quote -2147483648 bor -9223372036854775808
+-2147483648 bor -9223372036854775808
+quote -2147483648 bor -9223372036854775807
+-2147483648 bor -9223372036854775807
+quote -2147483648 bor -2147483648
+-2147483648 bor -2147483648
+quote -2147483648 bor -2147483647
+-2147483648 bor -2147483647
+quote -2147483648 bor -32768
+-2147483648 bor -32768
+quote -2147483648 bor -32767
+-2147483648 bor -32767
+quote -2147483648 bor -128
+-2147483648 bor -128
+quote -2147483648 bor -127
+-2147483648 bor -127
+quote -2147483648 bor 255
+-2147483648 bor 255
+quote -2147483648 bor 256
+-2147483648 bor 256
+quote -2147483648 bor 65535
+-2147483648 bor 65535
+quote -2147483648 bor 65536
+-2147483648 bor 65536
+quote -2147483648 bor 4294967295
+-2147483648 bor 4294967295
+quote -2147483648 bor 4294967296
+-2147483648 bor 4294967296
+quote -2147483648 bor 18446744073709551615
+-2147483648 bor 18446744073709551615
+quote -2147483648 bor 18446744073709551616
+-2147483648 bor 18446744073709551616
+quote -2147483648 bor 340282366920938463463374607431768211455
+-2147483648 bor 340282366920938463463374607431768211455
+quote -2147483648 bor 340282366920938463463374607431768211456
+-2147483648 bor 340282366920938463463374607431768211456
+quote -2147483647 bor -170141183460469231731687303715884105728
+-2147483647 bor -170141183460469231731687303715884105728
+quote -2147483647 bor -170141183460469231731687303715884105727
+-2147483647 bor -170141183460469231731687303715884105727
+quote -2147483647 bor -9223372036854775808
+-2147483647 bor -9223372036854775808
+quote -2147483647 bor -9223372036854775807
+-2147483647 bor -9223372036854775807
+quote -2147483647 bor -2147483648
+-2147483647 bor -2147483648
+quote -2147483647 bor -2147483647
+-2147483647 bor -2147483647
+quote -2147483647 bor -32768
+-2147483647 bor -32768
+quote -2147483647 bor -32767
+-2147483647 bor -32767
+quote -2147483647 bor -128
+-2147483647 bor -128
+quote -2147483647 bor -127
+-2147483647 bor -127
+quote -2147483647 bor 255
+-2147483647 bor 255
+quote -2147483647 bor 256
+-2147483647 bor 256
+quote -2147483647 bor 65535
+-2147483647 bor 65535
+quote -2147483647 bor 65536
+-2147483647 bor 65536
+quote -2147483647 bor 4294967295
+-2147483647 bor 4294967295
+quote -2147483647 bor 4294967296
+-2147483647 bor 4294967296
+quote -2147483647 bor 18446744073709551615
+-2147483647 bor 18446744073709551615
+quote -2147483647 bor 18446744073709551616
+-2147483647 bor 18446744073709551616
+quote -2147483647 bor 340282366920938463463374607431768211455
+-2147483647 bor 340282366920938463463374607431768211455
+quote -2147483647 bor 340282366920938463463374607431768211456
+-2147483647 bor 340282366920938463463374607431768211456
+quote -32768 bor -170141183460469231731687303715884105728
+-32768 bor -170141183460469231731687303715884105728
+quote -32768 bor -170141183460469231731687303715884105727
+-32768 bor -170141183460469231731687303715884105727
+quote -32768 bor -9223372036854775808
+-32768 bor -9223372036854775808
+quote -32768 bor -9223372036854775807
+-32768 bor -9223372036854775807
+quote -32768 bor -2147483648
+-32768 bor -2147483648
+quote -32768 bor -2147483647
+-32768 bor -2147483647
+quote -32768 bor -32768
+-32768 bor -32768
+quote -32768 bor -32767
+-32768 bor -32767
+quote -32768 bor -128
+-32768 bor -128
+quote -32768 bor -127
+-32768 bor -127
+quote -32768 bor 255
+-32768 bor 255
+quote -32768 bor 256
+-32768 bor 256
+quote -32768 bor 65535
+-32768 bor 65535
+quote -32768 bor 65536
+-32768 bor 65536
+quote -32768 bor 4294967295
+-32768 bor 4294967295
+quote -32768 bor 4294967296
+-32768 bor 4294967296
+quote -32768 bor 18446744073709551615
+-32768 bor 18446744073709551615
+quote -32768 bor 18446744073709551616
+-32768 bor 18446744073709551616
+quote -32768 bor 340282366920938463463374607431768211455
+-32768 bor 340282366920938463463374607431768211455
+quote -32768 bor 340282366920938463463374607431768211456
+-32768 bor 340282366920938463463374607431768211456
+quote -32767 bor -170141183460469231731687303715884105728
+-32767 bor -170141183460469231731687303715884105728
+quote -32767 bor -170141183460469231731687303715884105727
+-32767 bor -170141183460469231731687303715884105727
+quote -32767 bor -9223372036854775808
+-32767 bor -9223372036854775808
+quote -32767 bor -9223372036854775807
+-32767 bor -9223372036854775807
+quote -32767 bor -2147483648
+-32767 bor -2147483648
+quote -32767 bor -2147483647
+-32767 bor -2147483647
+quote -32767 bor -32768
+-32767 bor -32768
+quote -32767 bor -32767
+-32767 bor -32767
+quote -32767 bor -128
+-32767 bor -128
+quote -32767 bor -127
+-32767 bor -127
+quote -32767 bor 255
+-32767 bor 255
+quote -32767 bor 256
+-32767 bor 256
+quote -32767 bor 65535
+-32767 bor 65535
+quote -32767 bor 65536
+-32767 bor 65536
+quote -32767 bor 4294967295
+-32767 bor 4294967295
+quote -32767 bor 4294967296
+-32767 bor 4294967296
+quote -32767 bor 18446744073709551615
+-32767 bor 18446744073709551615
+quote -32767 bor 18446744073709551616
+-32767 bor 18446744073709551616
+quote -32767 bor 340282366920938463463374607431768211455
+-32767 bor 340282366920938463463374607431768211455
+quote -32767 bor 340282366920938463463374607431768211456
+-32767 bor 340282366920938463463374607431768211456
+quote -128 bor -170141183460469231731687303715884105728
+-128 bor -170141183460469231731687303715884105728
+quote -128 bor -170141183460469231731687303715884105727
+-128 bor -170141183460469231731687303715884105727
+quote -128 bor -9223372036854775808
+-128 bor -9223372036854775808
+quote -128 bor -9223372036854775807
+-128 bor -9223372036854775807
+quote -128 bor -2147483648
+-128 bor -2147483648
+quote -128 bor -2147483647
+-128 bor -2147483647
+quote -128 bor -32768
+-128 bor -32768
+quote -128 bor -32767
+-128 bor -32767
+quote -128 bor -128
+-128 bor -128
+quote -128 bor -127
+-128 bor -127
+quote -128 bor 255
+-128 bor 255
+quote -128 bor 256
+-128 bor 256
+quote -128 bor 65535
+-128 bor 65535
+quote -128 bor 65536
+-128 bor 65536
+quote -128 bor 4294967295
+-128 bor 4294967295
+quote -128 bor 4294967296
+-128 bor 4294967296
+quote -128 bor 18446744073709551615
+-128 bor 18446744073709551615
+quote -128 bor 18446744073709551616
+-128 bor 18446744073709551616
+quote -128 bor 340282366920938463463374607431768211455
+-128 bor 340282366920938463463374607431768211455
+quote -128 bor 340282366920938463463374607431768211456
+-128 bor 340282366920938463463374607431768211456
+quote -127 bor -170141183460469231731687303715884105728
+-127 bor -170141183460469231731687303715884105728
+quote -127 bor -170141183460469231731687303715884105727
+-127 bor -170141183460469231731687303715884105727
+quote -127 bor -9223372036854775808
+-127 bor -9223372036854775808
+quote -127 bor -9223372036854775807
+-127 bor -9223372036854775807
+quote -127 bor -2147483648
+-127 bor -2147483648
+quote -127 bor -2147483647
+-127 bor -2147483647
+quote -127 bor -32768
+-127 bor -32768
+quote -127 bor -32767
+-127 bor -32767
+quote -127 bor -128
+-127 bor -128
+quote -127 bor -127
+-127 bor -127
+quote -127 bor 255
+-127 bor 255
+quote -127 bor 256
+-127 bor 256
+quote -127 bor 65535
+-127 bor 65535
+quote -127 bor 65536
+-127 bor 65536
+quote -127 bor 4294967295
+-127 bor 4294967295
+quote -127 bor 4294967296
+-127 bor 4294967296
+quote -127 bor 18446744073709551615
+-127 bor 18446744073709551615
+quote -127 bor 18446744073709551616
+-127 bor 18446744073709551616
+quote -127 bor 340282366920938463463374607431768211455
+-127 bor 340282366920938463463374607431768211455
+quote -127 bor 340282366920938463463374607431768211456
+-127 bor 340282366920938463463374607431768211456
+quote 255 bor -170141183460469231731687303715884105728
+255 bor -170141183460469231731687303715884105728
+quote 255 bor -170141183460469231731687303715884105727
+255 bor -170141183460469231731687303715884105727
+quote 255 bor -9223372036854775808
+255 bor -9223372036854775808
+quote 255 bor -9223372036854775807
+255 bor -9223372036854775807
+quote 255 bor -2147483648
+255 bor -2147483648
+quote 255 bor -2147483647
+255 bor -2147483647
+quote 255 bor -32768
+255 bor -32768
+quote 255 bor -32767
+255 bor -32767
+quote 255 bor -128
+255 bor -128
+quote 255 bor -127
+255 bor -127
+quote 255 bor 255
+255 bor 255
+quote 255 bor 256
+255 bor 256
+quote 255 bor 65535
+255 bor 65535
+quote 255 bor 65536
+255 bor 65536
+quote 255 bor 4294967295
+255 bor 4294967295
+quote 255 bor 4294967296
+255 bor 4294967296
+quote 255 bor 18446744073709551615
+255 bor 18446744073709551615
+quote 255 bor 18446744073709551616
+255 bor 18446744073709551616
+quote 255 bor 340282366920938463463374607431768211455
+255 bor 340282366920938463463374607431768211455
+quote 255 bor 340282366920938463463374607431768211456
+255 bor 340282366920938463463374607431768211456
+quote 256 bor -170141183460469231731687303715884105728
+256 bor -170141183460469231731687303715884105728
+quote 256 bor -170141183460469231731687303715884105727
+256 bor -170141183460469231731687303715884105727
+quote 256 bor -9223372036854775808
+256 bor -9223372036854775808
+quote 256 bor -9223372036854775807
+256 bor -9223372036854775807
+quote 256 bor -2147483648
+256 bor -2147483648
+quote 256 bor -2147483647
+256 bor -2147483647
+quote 256 bor -32768
+256 bor -32768
+quote 256 bor -32767
+256 bor -32767
+quote 256 bor -128
+256 bor -128
+quote 256 bor -127
+256 bor -127
+quote 256 bor 255
+256 bor 255
+quote 256 bor 256
+256 bor 256
+quote 256 bor 65535
+256 bor 65535
+quote 256 bor 65536
+256 bor 65536
+quote 256 bor 4294967295
+256 bor 4294967295
+quote 256 bor 4294967296
+256 bor 4294967296
+quote 256 bor 18446744073709551615
+256 bor 18446744073709551615
+quote 256 bor 18446744073709551616
+256 bor 18446744073709551616
+quote 256 bor 340282366920938463463374607431768211455
+256 bor 340282366920938463463374607431768211455
+quote 256 bor 340282366920938463463374607431768211456
+256 bor 340282366920938463463374607431768211456
+quote 65535 bor -170141183460469231731687303715884105728
+65535 bor -170141183460469231731687303715884105728
+quote 65535 bor -170141183460469231731687303715884105727
+65535 bor -170141183460469231731687303715884105727
+quote 65535 bor -9223372036854775808
+65535 bor -9223372036854775808
+quote 65535 bor -9223372036854775807
+65535 bor -9223372036854775807
+quote 65535 bor -2147483648
+65535 bor -2147483648
+quote 65535 bor -2147483647
+65535 bor -2147483647
+quote 65535 bor -32768
+65535 bor -32768
+quote 65535 bor -32767
+65535 bor -32767
+quote 65535 bor -128
+65535 bor -128
+quote 65535 bor -127
+65535 bor -127
+quote 65535 bor 255
+65535 bor 255
+quote 65535 bor 256
+65535 bor 256
+quote 65535 bor 65535
+65535 bor 65535
+quote 65535 bor 65536
+65535 bor 65536
+quote 65535 bor 4294967295
+65535 bor 4294967295
+quote 65535 bor 4294967296
+65535 bor 4294967296
+quote 65535 bor 18446744073709551615
+65535 bor 18446744073709551615
+quote 65535 bor 18446744073709551616
+65535 bor 18446744073709551616
+quote 65535 bor 340282366920938463463374607431768211455
+65535 bor 340282366920938463463374607431768211455
+quote 65535 bor 340282366920938463463374607431768211456
+65535 bor 340282366920938463463374607431768211456
+quote 65536 bor -170141183460469231731687303715884105728
+65536 bor -170141183460469231731687303715884105728
+quote 65536 bor -170141183460469231731687303715884105727
+65536 bor -170141183460469231731687303715884105727
+quote 65536 bor -9223372036854775808
+65536 bor -9223372036854775808
+quote 65536 bor -9223372036854775807
+65536 bor -9223372036854775807
+quote 65536 bor -2147483648
+65536 bor -2147483648
+quote 65536 bor -2147483647
+65536 bor -2147483647
+quote 65536 bor -32768
+65536 bor -32768
+quote 65536 bor -32767
+65536 bor -32767
+quote 65536 bor -128
+65536 bor -128
+quote 65536 bor -127
+65536 bor -127
+quote 65536 bor 255
+65536 bor 255
+quote 65536 bor 256
+65536 bor 256
+quote 65536 bor 65535
+65536 bor 65535
+quote 65536 bor 65536
+65536 bor 65536
+quote 65536 bor 4294967295
+65536 bor 4294967295
+quote 65536 bor 4294967296
+65536 bor 4294967296
+quote 65536 bor 18446744073709551615
+65536 bor 18446744073709551615
+quote 65536 bor 18446744073709551616
+65536 bor 18446744073709551616
+quote 65536 bor 340282366920938463463374607431768211455
+65536 bor 340282366920938463463374607431768211455
+quote 65536 bor 340282366920938463463374607431768211456
+65536 bor 340282366920938463463374607431768211456
+quote 4294967295 bor -170141183460469231731687303715884105728
+4294967295 bor -170141183460469231731687303715884105728
+quote 4294967295 bor -170141183460469231731687303715884105727
+4294967295 bor -170141183460469231731687303715884105727
+quote 4294967295 bor -9223372036854775808
+4294967295 bor -9223372036854775808
+quote 4294967295 bor -9223372036854775807
+4294967295 bor -9223372036854775807
+quote 4294967295 bor -2147483648
+4294967295 bor -2147483648
+quote 4294967295 bor -2147483647
+4294967295 bor -2147483647
+quote 4294967295 bor -32768
+4294967295 bor -32768
+quote 4294967295 bor -32767
+4294967295 bor -32767
+quote 4294967295 bor -128
+4294967295 bor -128
+quote 4294967295 bor -127
+4294967295 bor -127
+quote 4294967295 bor 255
+4294967295 bor 255
+quote 4294967295 bor 256
+4294967295 bor 256
+quote 4294967295 bor 65535
+4294967295 bor 65535
+quote 4294967295 bor 65536
+4294967295 bor 65536
+quote 4294967295 bor 4294967295
+4294967295 bor 4294967295
+quote 4294967295 bor 4294967296
+4294967295 bor 4294967296
+quote 4294967295 bor 18446744073709551615
+4294967295 bor 18446744073709551615
+quote 4294967295 bor 18446744073709551616
+4294967295 bor 18446744073709551616
+quote 4294967295 bor 340282366920938463463374607431768211455
+4294967295 bor 340282366920938463463374607431768211455
+quote 4294967295 bor 340282366920938463463374607431768211456
+4294967295 bor 340282366920938463463374607431768211456
+quote 4294967296 bor -170141183460469231731687303715884105728
+4294967296 bor -170141183460469231731687303715884105728
+quote 4294967296 bor -170141183460469231731687303715884105727
+4294967296 bor -170141183460469231731687303715884105727
+quote 4294967296 bor -9223372036854775808
+4294967296 bor -9223372036854775808
+quote 4294967296 bor -9223372036854775807
+4294967296 bor -9223372036854775807
+quote 4294967296 bor -2147483648
+4294967296 bor -2147483648
+quote 4294967296 bor -2147483647
+4294967296 bor -2147483647
+quote 4294967296 bor -32768
+4294967296 bor -32768
+quote 4294967296 bor -32767
+4294967296 bor -32767
+quote 4294967296 bor -128
+4294967296 bor -128
+quote 4294967296 bor -127
+4294967296 bor -127
+quote 4294967296 bor 255
+4294967296 bor 255
+quote 4294967296 bor 256
+4294967296 bor 256
+quote 4294967296 bor 65535
+4294967296 bor 65535
+quote 4294967296 bor 65536
+4294967296 bor 65536
+quote 4294967296 bor 4294967295
+4294967296 bor 4294967295
+quote 4294967296 bor 4294967296
+4294967296 bor 4294967296
+quote 4294967296 bor 18446744073709551615
+4294967296 bor 18446744073709551615
+quote 4294967296 bor 18446744073709551616
+4294967296 bor 18446744073709551616
+quote 4294967296 bor 340282366920938463463374607431768211455
+4294967296 bor 340282366920938463463374607431768211455
+quote 4294967296 bor 340282366920938463463374607431768211456
+4294967296 bor 340282366920938463463374607431768211456
+quote 18446744073709551615 bor -170141183460469231731687303715884105728
+18446744073709551615 bor -170141183460469231731687303715884105728
+quote 18446744073709551615 bor -170141183460469231731687303715884105727
+18446744073709551615 bor -170141183460469231731687303715884105727
+quote 18446744073709551615 bor -9223372036854775808
+18446744073709551615 bor -9223372036854775808
+quote 18446744073709551615 bor -9223372036854775807
+18446744073709551615 bor -9223372036854775807
+quote 18446744073709551615 bor -2147483648
+18446744073709551615 bor -2147483648
+quote 18446744073709551615 bor -2147483647
+18446744073709551615 bor -2147483647
+quote 18446744073709551615 bor -32768
+18446744073709551615 bor -32768
+quote 18446744073709551615 bor -32767
+18446744073709551615 bor -32767
+quote 18446744073709551615 bor -128
+18446744073709551615 bor -128
+quote 18446744073709551615 bor -127
+18446744073709551615 bor -127
+quote 18446744073709551615 bor 255
+18446744073709551615 bor 255
+quote 18446744073709551615 bor 256
+18446744073709551615 bor 256
+quote 18446744073709551615 bor 65535
+18446744073709551615 bor 65535
+quote 18446744073709551615 bor 65536
+18446744073709551615 bor 65536
+quote 18446744073709551615 bor 4294967295
+18446744073709551615 bor 4294967295
+quote 18446744073709551615 bor 4294967296
+18446744073709551615 bor 4294967296
+quote 18446744073709551615 bor 18446744073709551615
+18446744073709551615 bor 18446744073709551615
+quote 18446744073709551615 bor 18446744073709551616
+18446744073709551615 bor 18446744073709551616
+quote 18446744073709551615 bor 340282366920938463463374607431768211455
+18446744073709551615 bor 340282366920938463463374607431768211455
+quote 18446744073709551615 bor 340282366920938463463374607431768211456
+18446744073709551615 bor 340282366920938463463374607431768211456
+quote 18446744073709551616 bor -170141183460469231731687303715884105728
+18446744073709551616 bor -170141183460469231731687303715884105728
+quote 18446744073709551616 bor -170141183460469231731687303715884105727
+18446744073709551616 bor -170141183460469231731687303715884105727
+quote 18446744073709551616 bor -9223372036854775808
+18446744073709551616 bor -9223372036854775808
+quote 18446744073709551616 bor -9223372036854775807
+18446744073709551616 bor -9223372036854775807
+quote 18446744073709551616 bor -2147483648
+18446744073709551616 bor -2147483648
+quote 18446744073709551616 bor -2147483647
+18446744073709551616 bor -2147483647
+quote 18446744073709551616 bor -32768
+18446744073709551616 bor -32768
+quote 18446744073709551616 bor -32767
+18446744073709551616 bor -32767
+quote 18446744073709551616 bor -128
+18446744073709551616 bor -128
+quote 18446744073709551616 bor -127
+18446744073709551616 bor -127
+quote 18446744073709551616 bor 255
+18446744073709551616 bor 255
+quote 18446744073709551616 bor 256
+18446744073709551616 bor 256
+quote 18446744073709551616 bor 65535
+18446744073709551616 bor 65535
+quote 18446744073709551616 bor 65536
+18446744073709551616 bor 65536
+quote 18446744073709551616 bor 4294967295
+18446744073709551616 bor 4294967295
+quote 18446744073709551616 bor 4294967296
+18446744073709551616 bor 4294967296
+quote 18446744073709551616 bor 18446744073709551615
+18446744073709551616 bor 18446744073709551615
+quote 18446744073709551616 bor 18446744073709551616
+18446744073709551616 bor 18446744073709551616
+quote 18446744073709551616 bor 340282366920938463463374607431768211455
+18446744073709551616 bor 340282366920938463463374607431768211455
+quote 18446744073709551616 bor 340282366920938463463374607431768211456
+18446744073709551616 bor 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211455 bor -170141183460469231731687303715884105728
+340282366920938463463374607431768211455 bor -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211455 bor -170141183460469231731687303715884105727
+340282366920938463463374607431768211455 bor -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211455 bor -9223372036854775808
+340282366920938463463374607431768211455 bor -9223372036854775808
+quote 340282366920938463463374607431768211455 bor -9223372036854775807
+340282366920938463463374607431768211455 bor -9223372036854775807
+quote 340282366920938463463374607431768211455 bor -2147483648
+340282366920938463463374607431768211455 bor -2147483648
+quote 340282366920938463463374607431768211455 bor -2147483647
+340282366920938463463374607431768211455 bor -2147483647
+quote 340282366920938463463374607431768211455 bor -32768
+340282366920938463463374607431768211455 bor -32768
+quote 340282366920938463463374607431768211455 bor -32767
+340282366920938463463374607431768211455 bor -32767
+quote 340282366920938463463374607431768211455 bor -128
+340282366920938463463374607431768211455 bor -128
+quote 340282366920938463463374607431768211455 bor -127
+340282366920938463463374607431768211455 bor -127
+quote 340282366920938463463374607431768211455 bor 255
+340282366920938463463374607431768211455 bor 255
+quote 340282366920938463463374607431768211455 bor 256
+340282366920938463463374607431768211455 bor 256
+quote 340282366920938463463374607431768211455 bor 65535
+340282366920938463463374607431768211455 bor 65535
+quote 340282366920938463463374607431768211455 bor 65536
+340282366920938463463374607431768211455 bor 65536
+quote 340282366920938463463374607431768211455 bor 4294967295
+340282366920938463463374607431768211455 bor 4294967295
+quote 340282366920938463463374607431768211455 bor 4294967296
+340282366920938463463374607431768211455 bor 4294967296
+quote 340282366920938463463374607431768211455 bor 18446744073709551615
+340282366920938463463374607431768211455 bor 18446744073709551615
+quote 340282366920938463463374607431768211455 bor 18446744073709551616
+340282366920938463463374607431768211455 bor 18446744073709551616
+quote 340282366920938463463374607431768211455 bor 340282366920938463463374607431768211455
+340282366920938463463374607431768211455 bor 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211455 bor 340282366920938463463374607431768211456
+340282366920938463463374607431768211455 bor 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211456 bor -170141183460469231731687303715884105728
+340282366920938463463374607431768211456 bor -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211456 bor -170141183460469231731687303715884105727
+340282366920938463463374607431768211456 bor -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211456 bor -9223372036854775808
+340282366920938463463374607431768211456 bor -9223372036854775808
+quote 340282366920938463463374607431768211456 bor -9223372036854775807
+340282366920938463463374607431768211456 bor -9223372036854775807
+quote 340282366920938463463374607431768211456 bor -2147483648
+340282366920938463463374607431768211456 bor -2147483648
+quote 340282366920938463463374607431768211456 bor -2147483647
+340282366920938463463374607431768211456 bor -2147483647
+quote 340282366920938463463374607431768211456 bor -32768
+340282366920938463463374607431768211456 bor -32768
+quote 340282366920938463463374607431768211456 bor -32767
+340282366920938463463374607431768211456 bor -32767
+quote 340282366920938463463374607431768211456 bor -128
+340282366920938463463374607431768211456 bor -128
+quote 340282366920938463463374607431768211456 bor -127
+340282366920938463463374607431768211456 bor -127
+quote 340282366920938463463374607431768211456 bor 255
+340282366920938463463374607431768211456 bor 255
+quote 340282366920938463463374607431768211456 bor 256
+340282366920938463463374607431768211456 bor 256
+quote 340282366920938463463374607431768211456 bor 65535
+340282366920938463463374607431768211456 bor 65535
+quote 340282366920938463463374607431768211456 bor 65536
+340282366920938463463374607431768211456 bor 65536
+quote 340282366920938463463374607431768211456 bor 4294967295
+340282366920938463463374607431768211456 bor 4294967295
+quote 340282366920938463463374607431768211456 bor 4294967296
+340282366920938463463374607431768211456 bor 4294967296
+quote 340282366920938463463374607431768211456 bor 18446744073709551615
+340282366920938463463374607431768211456 bor 18446744073709551615
+quote 340282366920938463463374607431768211456 bor 18446744073709551616
+340282366920938463463374607431768211456 bor 18446744073709551616
+quote 340282366920938463463374607431768211456 bor 340282366920938463463374607431768211455
+340282366920938463463374607431768211456 bor 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211456 bor 340282366920938463463374607431768211456
+340282366920938463463374607431768211456 bor 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_bor_2.out.expected b/test/ic3/integer_bor_2.out.expected
new file mode 100644
index 0000000..c0fa0ba
--- /dev/null
+++ b/test/ic3/integer_bor_2.out.expected
@@ -0,0 +1,800 @@
+-170141183460469231731687303715884105728 bor -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 bor -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 bor -9223372036854775808
+-9223372036854775808
+-170141183460469231731687303715884105728 bor -9223372036854775807
+-9223372036854775807
+-170141183460469231731687303715884105728 bor -2147483648
+-2147483648
+-170141183460469231731687303715884105728 bor -2147483647
+-2147483647
+-170141183460469231731687303715884105728 bor -32768
+-32768
+-170141183460469231731687303715884105728 bor -32767
+-32767
+-170141183460469231731687303715884105728 bor -128
+-128
+-170141183460469231731687303715884105728 bor -127
+-127
+-170141183460469231731687303715884105728 bor 255
+-170141183460469231731687303715884105473
+-170141183460469231731687303715884105728 bor 256
+-170141183460469231731687303715884105472
+-170141183460469231731687303715884105728 bor 65535
+-170141183460469231731687303715884040193
+-170141183460469231731687303715884105728 bor 65536
+-170141183460469231731687303715884040192
+-170141183460469231731687303715884105728 bor 4294967295
+-170141183460469231731687303711589138433
+-170141183460469231731687303715884105728 bor 4294967296
+-170141183460469231731687303711589138432
+-170141183460469231731687303715884105728 bor 18446744073709551615
+-170141183460469231713240559642174554113
+-170141183460469231731687303715884105728 bor 18446744073709551616
+-170141183460469231713240559642174554112
+-170141183460469231731687303715884105728 bor 340282366920938463463374607431768211455
+-1
+-170141183460469231731687303715884105728 bor 340282366920938463463374607431768211456
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 bor -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 bor -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 bor -9223372036854775808
+-9223372036854775807
+-170141183460469231731687303715884105727 bor -9223372036854775807
+-9223372036854775807
+-170141183460469231731687303715884105727 bor -2147483648
+-2147483647
+-170141183460469231731687303715884105727 bor -2147483647
+-2147483647
+-170141183460469231731687303715884105727 bor -32768
+-32767
+-170141183460469231731687303715884105727 bor -32767
+-32767
+-170141183460469231731687303715884105727 bor -128
+-127
+-170141183460469231731687303715884105727 bor -127
+-127
+-170141183460469231731687303715884105727 bor 255
+-170141183460469231731687303715884105473
+-170141183460469231731687303715884105727 bor 256
+-170141183460469231731687303715884105471
+-170141183460469231731687303715884105727 bor 65535
+-170141183460469231731687303715884040193
+-170141183460469231731687303715884105727 bor 65536
+-170141183460469231731687303715884040191
+-170141183460469231731687303715884105727 bor 4294967295
+-170141183460469231731687303711589138433
+-170141183460469231731687303715884105727 bor 4294967296
+-170141183460469231731687303711589138431
+-170141183460469231731687303715884105727 bor 18446744073709551615
+-170141183460469231713240559642174554113
+-170141183460469231731687303715884105727 bor 18446744073709551616
+-170141183460469231713240559642174554111
+-170141183460469231731687303715884105727 bor 340282366920938463463374607431768211455
+-1
+-170141183460469231731687303715884105727 bor 340282366920938463463374607431768211456
+-170141183460469231731687303715884105727
+-9223372036854775808 bor -170141183460469231731687303715884105728
+-9223372036854775808
+-9223372036854775808 bor -170141183460469231731687303715884105727
+-9223372036854775807
+-9223372036854775808 bor -9223372036854775808
+-9223372036854775808
+-9223372036854775808 bor -9223372036854775807
+-9223372036854775807
+-9223372036854775808 bor -2147483648
+-2147483648
+-9223372036854775808 bor -2147483647
+-2147483647
+-9223372036854775808 bor -32768
+-32768
+-9223372036854775808 bor -32767
+-32767
+-9223372036854775808 bor -128
+-128
+-9223372036854775808 bor -127
+-127
+-9223372036854775808 bor 255
+-9223372036854775553
+-9223372036854775808 bor 256
+-9223372036854775552
+-9223372036854775808 bor 65535
+-9223372036854710273
+-9223372036854775808 bor 65536
+-9223372036854710272
+-9223372036854775808 bor 4294967295
+-9223372032559808513
+-9223372036854775808 bor 4294967296
+-9223372032559808512
+-9223372036854775808 bor 18446744073709551615
+-1
+-9223372036854775808 bor 18446744073709551616
+-9223372036854775808
+-9223372036854775808 bor 340282366920938463463374607431768211455
+-1
+-9223372036854775808 bor 340282366920938463463374607431768211456
+-9223372036854775808
+-9223372036854775807 bor -170141183460469231731687303715884105728
+-9223372036854775807
+-9223372036854775807 bor -170141183460469231731687303715884105727
+-9223372036854775807
+-9223372036854775807 bor -9223372036854775808
+-9223372036854775807
+-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
+-9223372036854775807 bor 18446744073709551615
+-1
+-9223372036854775807 bor 18446744073709551616
+-9223372036854775807
+-9223372036854775807 bor 340282366920938463463374607431768211455
+-1
+-9223372036854775807 bor 340282366920938463463374607431768211456
+-9223372036854775807
+-2147483648 bor -170141183460469231731687303715884105728
+-2147483648
+-2147483648 bor -170141183460469231731687303715884105727
+-2147483647
+-2147483648 bor -9223372036854775808
+-2147483648
+-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
+-2147483648 bor 18446744073709551615
+-1
+-2147483648 bor 18446744073709551616
+-2147483648
+-2147483648 bor 340282366920938463463374607431768211455
+-1
+-2147483648 bor 340282366920938463463374607431768211456
+-2147483648
+-2147483647 bor -170141183460469231731687303715884105728
+-2147483647
+-2147483647 bor -170141183460469231731687303715884105727
+-2147483647
+-2147483647 bor -9223372036854775808
+-2147483647
+-2147483647 bor -9223372036854775807
+-2147483647
+-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
+-2147483647 bor 18446744073709551616
+-2147483647
+-2147483647 bor 340282366920938463463374607431768211455
+-1
+-2147483647 bor 340282366920938463463374607431768211456
+-2147483647
+-32768 bor -170141183460469231731687303715884105728
+-32768
+-32768 bor -170141183460469231731687303715884105727
+-32767
+-32768 bor -9223372036854775808
+-32768
+-32768 bor -9223372036854775807
+-32767
+-32768 bor -2147483648
+-32768
+-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
+-32768 bor 65536
+-32768
+-32768 bor 4294967295
+-1
+-32768 bor 4294967296
+-32768
+-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
+-32767 bor -9223372036854775807
+-32767
+-32767 bor -2147483648
+-32767
+-32767 bor -2147483647
+-32767
+-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
+-32767 bor 4294967296
+-32767
+-32767 bor 18446744073709551615
+-1
+-32767 bor 18446744073709551616
+-32767
+-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
+-128 bor -2147483647
+-127
+-128 bor -32768
+-128
+-128 bor -32767
+-127
+-128 bor -128
+-128
+-128 bor -127
+-127
+-128 bor 255
+-1
+-128 bor 256
+-128
+-128 bor 65535
+-1
+-128 bor 65536
+-128
+-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
+255 bor -170141183460469231731687303715884105727
+-170141183460469231731687303715884105473
+255 bor -9223372036854775808
+-9223372036854775553
+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
+255 bor 340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+255 bor 340282366920938463463374607431768211456
+340282366920938463463374607431768211711
+256 bor -170141183460469231731687303715884105728
+-170141183460469231731687303715884105472
+256 bor -170141183460469231731687303715884105727
+-170141183460469231731687303715884105471
+256 bor -9223372036854775808
+-9223372036854775552
+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
+256 bor 340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+256 bor 340282366920938463463374607431768211456
+340282366920938463463374607431768211712
+65535 bor -170141183460469231731687303715884105728
+-170141183460469231731687303715884040193
+65535 bor -170141183460469231731687303715884105727
+-170141183460469231731687303715884040193
+65535 bor -9223372036854775808
+-9223372036854710273
+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
+65535 bor 340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+65535 bor 340282366920938463463374607431768211456
+340282366920938463463374607431768276991
+65536 bor -170141183460469231731687303715884105728
+-170141183460469231731687303715884040192
+65536 bor -170141183460469231731687303715884105727
+-170141183460469231731687303715884040191
+65536 bor -9223372036854775808
+-9223372036854710272
+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
+65536 bor 340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+65536 bor 340282366920938463463374607431768211456
+340282366920938463463374607431768276992
+4294967295 bor -170141183460469231731687303715884105728
+-170141183460469231731687303711589138433
+4294967295 bor -170141183460469231731687303715884105727
+-170141183460469231731687303711589138433
+4294967295 bor -9223372036854775808
+-9223372032559808513
+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
+4294967295 bor 340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+4294967295 bor 340282366920938463463374607431768211456
+340282366920938463463374607436063178751
+4294967296 bor -170141183460469231731687303715884105728
+-170141183460469231731687303711589138432
+4294967296 bor -170141183460469231731687303715884105727
+-170141183460469231731687303711589138431
+4294967296 bor -9223372036854775808
+-9223372032559808512
+4294967296 bor -9223372036854775807
+-9223372032559808511
+4294967296 bor -2147483648
+-2147483648
+4294967296 bor -2147483647
+-2147483647
+4294967296 bor -32768
+-32768
+4294967296 bor -32767
+-32767
+4294967296 bor -128
+-128
+4294967296 bor -127
+-127
+4294967296 bor 255
+4294967551
+4294967296 bor 256
+4294967552
+4294967296 bor 65535
+4295032831
+4294967296 bor 65536
+4295032832
+4294967296 bor 4294967295
+8589934591
+4294967296 bor 4294967296
+4294967296
+4294967296 bor 18446744073709551615
+18446744073709551615
+4294967296 bor 18446744073709551616
+18446744078004518912
+4294967296 bor 340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+4294967296 bor 340282366920938463463374607431768211456
+340282366920938463463374607436063178752
+18446744073709551615 bor -170141183460469231731687303715884105728
+-170141183460469231713240559642174554113
+18446744073709551615 bor -170141183460469231731687303715884105727
+-170141183460469231713240559642174554113
+18446744073709551615 bor -9223372036854775808
+-1
+18446744073709551615 bor -9223372036854775807
+-1
+18446744073709551615 bor -2147483648
+-1
+18446744073709551615 bor -2147483647
+-1
+18446744073709551615 bor -32768
+-1
+18446744073709551615 bor -32767
+-1
+18446744073709551615 bor -128
+-1
+18446744073709551615 bor -127
+-1
+18446744073709551615 bor 255
+18446744073709551615
+18446744073709551615 bor 256
+18446744073709551615
+18446744073709551615 bor 65535
+18446744073709551615
+18446744073709551615 bor 65536
+18446744073709551615
+18446744073709551615 bor 4294967295
+18446744073709551615
+18446744073709551615 bor 4294967296
+18446744073709551615
+18446744073709551615 bor 18446744073709551615
+18446744073709551615
+18446744073709551615 bor 18446744073709551616
+36893488147419103231
+18446744073709551615 bor 340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+18446744073709551615 bor 340282366920938463463374607431768211456
+340282366920938463481821351505477763071
+18446744073709551616 bor -170141183460469231731687303715884105728
+-170141183460469231713240559642174554112
+18446744073709551616 bor -170141183460469231731687303715884105727
+-170141183460469231713240559642174554111
+18446744073709551616 bor -9223372036854775808
+-9223372036854775808
+18446744073709551616 bor -9223372036854775807
+-9223372036854775807
+18446744073709551616 bor -2147483648
+-2147483648
+18446744073709551616 bor -2147483647
+-2147483647
+18446744073709551616 bor -32768
+-32768
+18446744073709551616 bor -32767
+-32767
+18446744073709551616 bor -128
+-128
+18446744073709551616 bor -127
+-127
+18446744073709551616 bor 255
+18446744073709551871
+18446744073709551616 bor 256
+18446744073709551872
+18446744073709551616 bor 65535
+18446744073709617151
+18446744073709551616 bor 65536
+18446744073709617152
+18446744073709551616 bor 4294967295
+18446744078004518911
+18446744073709551616 bor 4294967296
+18446744078004518912
+18446744073709551616 bor 18446744073709551615
+36893488147419103231
+18446744073709551616 bor 18446744073709551616
+18446744073709551616
+18446744073709551616 bor 340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+18446744073709551616 bor 340282366920938463463374607431768211456
+340282366920938463481821351505477763072
+340282366920938463463374607431768211455 bor -170141183460469231731687303715884105728
+-1
+340282366920938463463374607431768211455 bor -170141183460469231731687303715884105727
+-1
+340282366920938463463374607431768211455 bor -9223372036854775808
+-1
+340282366920938463463374607431768211455 bor -9223372036854775807
+-1
+340282366920938463463374607431768211455 bor -2147483648
+-1
+340282366920938463463374607431768211455 bor -2147483647
+-1
+340282366920938463463374607431768211455 bor -32768
+-1
+340282366920938463463374607431768211455 bor -32767
+-1
+340282366920938463463374607431768211455 bor -128
+-1
+340282366920938463463374607431768211455 bor -127
+-1
+340282366920938463463374607431768211455 bor 255
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455 bor 256
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455 bor 65535
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455 bor 65536
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455 bor 4294967295
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455 bor 4294967296
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455 bor 18446744073709551615
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455 bor 18446744073709551616
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455 bor 340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455 bor 340282366920938463463374607431768211456
+680564733841876926926749214863536422911
+340282366920938463463374607431768211456 bor -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+340282366920938463463374607431768211456 bor -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727
+340282366920938463463374607431768211456 bor -9223372036854775808
+-9223372036854775808
+340282366920938463463374607431768211456 bor -9223372036854775807
+-9223372036854775807
+340282366920938463463374607431768211456 bor -2147483648
+-2147483648
+340282366920938463463374607431768211456 bor -2147483647
+-2147483647
+340282366920938463463374607431768211456 bor -32768
+-32768
+340282366920938463463374607431768211456 bor -32767
+-32767
+340282366920938463463374607431768211456 bor -128
+-128
+340282366920938463463374607431768211456 bor -127
+-127
+340282366920938463463374607431768211456 bor 255
+340282366920938463463374607431768211711
+340282366920938463463374607431768211456 bor 256
+340282366920938463463374607431768211712
+340282366920938463463374607431768211456 bor 65535
+340282366920938463463374607431768276991
+340282366920938463463374607431768211456 bor 65536
+340282366920938463463374607431768276992
+340282366920938463463374607431768211456 bor 4294967295
+340282366920938463463374607436063178751
+340282366920938463463374607431768211456 bor 4294967296
+340282366920938463463374607436063178752
+340282366920938463463374607431768211456 bor 18446744073709551615
+340282366920938463481821351505477763071
+340282366920938463463374607431768211456 bor 18446744073709551616
+340282366920938463481821351505477763072
+340282366920938463463374607431768211456 bor 340282366920938463463374607431768211455
+680564733841876926926749214863536422911
+340282366920938463463374607431768211456 bor 340282366920938463463374607431768211456
+340282366920938463463374607431768211456
diff --git a/test/ic3/integer_bor_2.ret.expected b/test/ic3/integer_bor_2.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_bor_2.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_bxor.in b/test/ic3/integer_bxor.in
deleted file mode 100644
index d6871bf..0000000
--- a/test/ic3/integer_bxor.in
+++ /dev/null
@@ -1,800 +0,0 @@
-quote -170141183460469231731687303715884105728 ^ -170141183460469231731687303715884105728
--170141183460469231731687303715884105728 ^ -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105728 ^ -170141183460469231731687303715884105727
--170141183460469231731687303715884105728 ^ -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105728 ^ -9223372036854775808
--170141183460469231731687303715884105728 ^ -9223372036854775808
-quote -170141183460469231731687303715884105728 ^ -9223372036854775807
--170141183460469231731687303715884105728 ^ -9223372036854775807
-quote -170141183460469231731687303715884105728 ^ -2147483648
--170141183460469231731687303715884105728 ^ -2147483648
-quote -170141183460469231731687303715884105728 ^ -2147483647
--170141183460469231731687303715884105728 ^ -2147483647
-quote -170141183460469231731687303715884105728 ^ -32768
--170141183460469231731687303715884105728 ^ -32768
-quote -170141183460469231731687303715884105728 ^ -32767
--170141183460469231731687303715884105728 ^ -32767
-quote -170141183460469231731687303715884105728 ^ -128
--170141183460469231731687303715884105728 ^ -128
-quote -170141183460469231731687303715884105728 ^ -127
--170141183460469231731687303715884105728 ^ -127
-quote -170141183460469231731687303715884105728 ^ 255
--170141183460469231731687303715884105728 ^ 255
-quote -170141183460469231731687303715884105728 ^ 256
--170141183460469231731687303715884105728 ^ 256
-quote -170141183460469231731687303715884105728 ^ 65535
--170141183460469231731687303715884105728 ^ 65535
-quote -170141183460469231731687303715884105728 ^ 65536
--170141183460469231731687303715884105728 ^ 65536
-quote -170141183460469231731687303715884105728 ^ 4294967295
--170141183460469231731687303715884105728 ^ 4294967295
-quote -170141183460469231731687303715884105728 ^ 4294967296
--170141183460469231731687303715884105728 ^ 4294967296
-quote -170141183460469231731687303715884105728 ^ 18446744073709551615
--170141183460469231731687303715884105728 ^ 18446744073709551615
-quote -170141183460469231731687303715884105728 ^ 18446744073709551616
--170141183460469231731687303715884105728 ^ 18446744073709551616
-quote -170141183460469231731687303715884105728 ^ 340282366920938463463374607431768211455
--170141183460469231731687303715884105728 ^ 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105728 ^ 340282366920938463463374607431768211456
--170141183460469231731687303715884105728 ^ 340282366920938463463374607431768211456
-quote -170141183460469231731687303715884105727 ^ -170141183460469231731687303715884105728
--170141183460469231731687303715884105727 ^ -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105727 ^ -170141183460469231731687303715884105727
--170141183460469231731687303715884105727 ^ -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105727 ^ -9223372036854775808
--170141183460469231731687303715884105727 ^ -9223372036854775808
-quote -170141183460469231731687303715884105727 ^ -9223372036854775807
--170141183460469231731687303715884105727 ^ -9223372036854775807
-quote -170141183460469231731687303715884105727 ^ -2147483648
--170141183460469231731687303715884105727 ^ -2147483648
-quote -170141183460469231731687303715884105727 ^ -2147483647
--170141183460469231731687303715884105727 ^ -2147483647
-quote -170141183460469231731687303715884105727 ^ -32768
--170141183460469231731687303715884105727 ^ -32768
-quote -170141183460469231731687303715884105727 ^ -32767
--170141183460469231731687303715884105727 ^ -32767
-quote -170141183460469231731687303715884105727 ^ -128
--170141183460469231731687303715884105727 ^ -128
-quote -170141183460469231731687303715884105727 ^ -127
--170141183460469231731687303715884105727 ^ -127
-quote -170141183460469231731687303715884105727 ^ 255
--170141183460469231731687303715884105727 ^ 255
-quote -170141183460469231731687303715884105727 ^ 256
--170141183460469231731687303715884105727 ^ 256
-quote -170141183460469231731687303715884105727 ^ 65535
--170141183460469231731687303715884105727 ^ 65535
-quote -170141183460469231731687303715884105727 ^ 65536
--170141183460469231731687303715884105727 ^ 65536
-quote -170141183460469231731687303715884105727 ^ 4294967295
--170141183460469231731687303715884105727 ^ 4294967295
-quote -170141183460469231731687303715884105727 ^ 4294967296
--170141183460469231731687303715884105727 ^ 4294967296
-quote -170141183460469231731687303715884105727 ^ 18446744073709551615
--170141183460469231731687303715884105727 ^ 18446744073709551615
-quote -170141183460469231731687303715884105727 ^ 18446744073709551616
--170141183460469231731687303715884105727 ^ 18446744073709551616
-quote -170141183460469231731687303715884105727 ^ 340282366920938463463374607431768211455
--170141183460469231731687303715884105727 ^ 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105727 ^ 340282366920938463463374607431768211456
--170141183460469231731687303715884105727 ^ 340282366920938463463374607431768211456
-quote -9223372036854775808 ^ -170141183460469231731687303715884105728
--9223372036854775808 ^ -170141183460469231731687303715884105728
-quote -9223372036854775808 ^ -170141183460469231731687303715884105727
--9223372036854775808 ^ -170141183460469231731687303715884105727
-quote -9223372036854775808 ^ -9223372036854775808
--9223372036854775808 ^ -9223372036854775808
-quote -9223372036854775808 ^ -9223372036854775807
--9223372036854775808 ^ -9223372036854775807
-quote -9223372036854775808 ^ -2147483648
--9223372036854775808 ^ -2147483648
-quote -9223372036854775808 ^ -2147483647
--9223372036854775808 ^ -2147483647
-quote -9223372036854775808 ^ -32768
--9223372036854775808 ^ -32768
-quote -9223372036854775808 ^ -32767
--9223372036854775808 ^ -32767
-quote -9223372036854775808 ^ -128
--9223372036854775808 ^ -128
-quote -9223372036854775808 ^ -127
--9223372036854775808 ^ -127
-quote -9223372036854775808 ^ 255
--9223372036854775808 ^ 255
-quote -9223372036854775808 ^ 256
--9223372036854775808 ^ 256
-quote -9223372036854775808 ^ 65535
--9223372036854775808 ^ 65535
-quote -9223372036854775808 ^ 65536
--9223372036854775808 ^ 65536
-quote -9223372036854775808 ^ 4294967295
--9223372036854775808 ^ 4294967295
-quote -9223372036854775808 ^ 4294967296
--9223372036854775808 ^ 4294967296
-quote -9223372036854775808 ^ 18446744073709551615
--9223372036854775808 ^ 18446744073709551615
-quote -9223372036854775808 ^ 18446744073709551616
--9223372036854775808 ^ 18446744073709551616
-quote -9223372036854775808 ^ 340282366920938463463374607431768211455
--9223372036854775808 ^ 340282366920938463463374607431768211455
-quote -9223372036854775808 ^ 340282366920938463463374607431768211456
--9223372036854775808 ^ 340282366920938463463374607431768211456
-quote -9223372036854775807 ^ -170141183460469231731687303715884105728
--9223372036854775807 ^ -170141183460469231731687303715884105728
-quote -9223372036854775807 ^ -170141183460469231731687303715884105727
--9223372036854775807 ^ -170141183460469231731687303715884105727
-quote -9223372036854775807 ^ -9223372036854775808
--9223372036854775807 ^ -9223372036854775808
-quote -9223372036854775807 ^ -9223372036854775807
--9223372036854775807 ^ -9223372036854775807
-quote -9223372036854775807 ^ -2147483648
--9223372036854775807 ^ -2147483648
-quote -9223372036854775807 ^ -2147483647
--9223372036854775807 ^ -2147483647
-quote -9223372036854775807 ^ -32768
--9223372036854775807 ^ -32768
-quote -9223372036854775807 ^ -32767
--9223372036854775807 ^ -32767
-quote -9223372036854775807 ^ -128
--9223372036854775807 ^ -128
-quote -9223372036854775807 ^ -127
--9223372036854775807 ^ -127
-quote -9223372036854775807 ^ 255
--9223372036854775807 ^ 255
-quote -9223372036854775807 ^ 256
--9223372036854775807 ^ 256
-quote -9223372036854775807 ^ 65535
--9223372036854775807 ^ 65535
-quote -9223372036854775807 ^ 65536
--9223372036854775807 ^ 65536
-quote -9223372036854775807 ^ 4294967295
--9223372036854775807 ^ 4294967295
-quote -9223372036854775807 ^ 4294967296
--9223372036854775807 ^ 4294967296
-quote -9223372036854775807 ^ 18446744073709551615
--9223372036854775807 ^ 18446744073709551615
-quote -9223372036854775807 ^ 18446744073709551616
--9223372036854775807 ^ 18446744073709551616
-quote -9223372036854775807 ^ 340282366920938463463374607431768211455
--9223372036854775807 ^ 340282366920938463463374607431768211455
-quote -9223372036854775807 ^ 340282366920938463463374607431768211456
--9223372036854775807 ^ 340282366920938463463374607431768211456
-quote -2147483648 ^ -170141183460469231731687303715884105728
--2147483648 ^ -170141183460469231731687303715884105728
-quote -2147483648 ^ -170141183460469231731687303715884105727
--2147483648 ^ -170141183460469231731687303715884105727
-quote -2147483648 ^ -9223372036854775808
--2147483648 ^ -9223372036854775808
-quote -2147483648 ^ -9223372036854775807
--2147483648 ^ -9223372036854775807
-quote -2147483648 ^ -2147483648
--2147483648 ^ -2147483648
-quote -2147483648 ^ -2147483647
--2147483648 ^ -2147483647
-quote -2147483648 ^ -32768
--2147483648 ^ -32768
-quote -2147483648 ^ -32767
--2147483648 ^ -32767
-quote -2147483648 ^ -128
--2147483648 ^ -128
-quote -2147483648 ^ -127
--2147483648 ^ -127
-quote -2147483648 ^ 255
--2147483648 ^ 255
-quote -2147483648 ^ 256
--2147483648 ^ 256
-quote -2147483648 ^ 65535
--2147483648 ^ 65535
-quote -2147483648 ^ 65536
--2147483648 ^ 65536
-quote -2147483648 ^ 4294967295
--2147483648 ^ 4294967295
-quote -2147483648 ^ 4294967296
--2147483648 ^ 4294967296
-quote -2147483648 ^ 18446744073709551615
--2147483648 ^ 18446744073709551615
-quote -2147483648 ^ 18446744073709551616
--2147483648 ^ 18446744073709551616
-quote -2147483648 ^ 340282366920938463463374607431768211455
--2147483648 ^ 340282366920938463463374607431768211455
-quote -2147483648 ^ 340282366920938463463374607431768211456
--2147483648 ^ 340282366920938463463374607431768211456
-quote -2147483647 ^ -170141183460469231731687303715884105728
--2147483647 ^ -170141183460469231731687303715884105728
-quote -2147483647 ^ -170141183460469231731687303715884105727
--2147483647 ^ -170141183460469231731687303715884105727
-quote -2147483647 ^ -9223372036854775808
--2147483647 ^ -9223372036854775808
-quote -2147483647 ^ -9223372036854775807
--2147483647 ^ -9223372036854775807
-quote -2147483647 ^ -2147483648
--2147483647 ^ -2147483648
-quote -2147483647 ^ -2147483647
--2147483647 ^ -2147483647
-quote -2147483647 ^ -32768
--2147483647 ^ -32768
-quote -2147483647 ^ -32767
--2147483647 ^ -32767
-quote -2147483647 ^ -128
--2147483647 ^ -128
-quote -2147483647 ^ -127
--2147483647 ^ -127
-quote -2147483647 ^ 255
--2147483647 ^ 255
-quote -2147483647 ^ 256
--2147483647 ^ 256
-quote -2147483647 ^ 65535
--2147483647 ^ 65535
-quote -2147483647 ^ 65536
--2147483647 ^ 65536
-quote -2147483647 ^ 4294967295
--2147483647 ^ 4294967295
-quote -2147483647 ^ 4294967296
--2147483647 ^ 4294967296
-quote -2147483647 ^ 18446744073709551615
--2147483647 ^ 18446744073709551615
-quote -2147483647 ^ 18446744073709551616
--2147483647 ^ 18446744073709551616
-quote -2147483647 ^ 340282366920938463463374607431768211455
--2147483647 ^ 340282366920938463463374607431768211455
-quote -2147483647 ^ 340282366920938463463374607431768211456
--2147483647 ^ 340282366920938463463374607431768211456
-quote -32768 ^ -170141183460469231731687303715884105728
--32768 ^ -170141183460469231731687303715884105728
-quote -32768 ^ -170141183460469231731687303715884105727
--32768 ^ -170141183460469231731687303715884105727
-quote -32768 ^ -9223372036854775808
--32768 ^ -9223372036854775808
-quote -32768 ^ -9223372036854775807
--32768 ^ -9223372036854775807
-quote -32768 ^ -2147483648
--32768 ^ -2147483648
-quote -32768 ^ -2147483647
--32768 ^ -2147483647
-quote -32768 ^ -32768
--32768 ^ -32768
-quote -32768 ^ -32767
--32768 ^ -32767
-quote -32768 ^ -128
--32768 ^ -128
-quote -32768 ^ -127
--32768 ^ -127
-quote -32768 ^ 255
--32768 ^ 255
-quote -32768 ^ 256
--32768 ^ 256
-quote -32768 ^ 65535
--32768 ^ 65535
-quote -32768 ^ 65536
--32768 ^ 65536
-quote -32768 ^ 4294967295
--32768 ^ 4294967295
-quote -32768 ^ 4294967296
--32768 ^ 4294967296
-quote -32768 ^ 18446744073709551615
--32768 ^ 18446744073709551615
-quote -32768 ^ 18446744073709551616
--32768 ^ 18446744073709551616
-quote -32768 ^ 340282366920938463463374607431768211455
--32768 ^ 340282366920938463463374607431768211455
-quote -32768 ^ 340282366920938463463374607431768211456
--32768 ^ 340282366920938463463374607431768211456
-quote -32767 ^ -170141183460469231731687303715884105728
--32767 ^ -170141183460469231731687303715884105728
-quote -32767 ^ -170141183460469231731687303715884105727
--32767 ^ -170141183460469231731687303715884105727
-quote -32767 ^ -9223372036854775808
--32767 ^ -9223372036854775808
-quote -32767 ^ -9223372036854775807
--32767 ^ -9223372036854775807
-quote -32767 ^ -2147483648
--32767 ^ -2147483648
-quote -32767 ^ -2147483647
--32767 ^ -2147483647
-quote -32767 ^ -32768
--32767 ^ -32768
-quote -32767 ^ -32767
--32767 ^ -32767
-quote -32767 ^ -128
--32767 ^ -128
-quote -32767 ^ -127
--32767 ^ -127
-quote -32767 ^ 255
--32767 ^ 255
-quote -32767 ^ 256
--32767 ^ 256
-quote -32767 ^ 65535
--32767 ^ 65535
-quote -32767 ^ 65536
--32767 ^ 65536
-quote -32767 ^ 4294967295
--32767 ^ 4294967295
-quote -32767 ^ 4294967296
--32767 ^ 4294967296
-quote -32767 ^ 18446744073709551615
--32767 ^ 18446744073709551615
-quote -32767 ^ 18446744073709551616
--32767 ^ 18446744073709551616
-quote -32767 ^ 340282366920938463463374607431768211455
--32767 ^ 340282366920938463463374607431768211455
-quote -32767 ^ 340282366920938463463374607431768211456
--32767 ^ 340282366920938463463374607431768211456
-quote -128 ^ -170141183460469231731687303715884105728
--128 ^ -170141183460469231731687303715884105728
-quote -128 ^ -170141183460469231731687303715884105727
--128 ^ -170141183460469231731687303715884105727
-quote -128 ^ -9223372036854775808
--128 ^ -9223372036854775808
-quote -128 ^ -9223372036854775807
--128 ^ -9223372036854775807
-quote -128 ^ -2147483648
--128 ^ -2147483648
-quote -128 ^ -2147483647
--128 ^ -2147483647
-quote -128 ^ -32768
--128 ^ -32768
-quote -128 ^ -32767
--128 ^ -32767
-quote -128 ^ -128
--128 ^ -128
-quote -128 ^ -127
--128 ^ -127
-quote -128 ^ 255
--128 ^ 255
-quote -128 ^ 256
--128 ^ 256
-quote -128 ^ 65535
--128 ^ 65535
-quote -128 ^ 65536
--128 ^ 65536
-quote -128 ^ 4294967295
--128 ^ 4294967295
-quote -128 ^ 4294967296
--128 ^ 4294967296
-quote -128 ^ 18446744073709551615
--128 ^ 18446744073709551615
-quote -128 ^ 18446744073709551616
--128 ^ 18446744073709551616
-quote -128 ^ 340282366920938463463374607431768211455
--128 ^ 340282366920938463463374607431768211455
-quote -128 ^ 340282366920938463463374607431768211456
--128 ^ 340282366920938463463374607431768211456
-quote -127 ^ -170141183460469231731687303715884105728
--127 ^ -170141183460469231731687303715884105728
-quote -127 ^ -170141183460469231731687303715884105727
--127 ^ -170141183460469231731687303715884105727
-quote -127 ^ -9223372036854775808
--127 ^ -9223372036854775808
-quote -127 ^ -9223372036854775807
--127 ^ -9223372036854775807
-quote -127 ^ -2147483648
--127 ^ -2147483648
-quote -127 ^ -2147483647
--127 ^ -2147483647
-quote -127 ^ -32768
--127 ^ -32768
-quote -127 ^ -32767
--127 ^ -32767
-quote -127 ^ -128
--127 ^ -128
-quote -127 ^ -127
--127 ^ -127
-quote -127 ^ 255
--127 ^ 255
-quote -127 ^ 256
--127 ^ 256
-quote -127 ^ 65535
--127 ^ 65535
-quote -127 ^ 65536
--127 ^ 65536
-quote -127 ^ 4294967295
--127 ^ 4294967295
-quote -127 ^ 4294967296
--127 ^ 4294967296
-quote -127 ^ 18446744073709551615
--127 ^ 18446744073709551615
-quote -127 ^ 18446744073709551616
--127 ^ 18446744073709551616
-quote -127 ^ 340282366920938463463374607431768211455
--127 ^ 340282366920938463463374607431768211455
-quote -127 ^ 340282366920938463463374607431768211456
--127 ^ 340282366920938463463374607431768211456
-quote 255 ^ -170141183460469231731687303715884105728
-255 ^ -170141183460469231731687303715884105728
-quote 255 ^ -170141183460469231731687303715884105727
-255 ^ -170141183460469231731687303715884105727
-quote 255 ^ -9223372036854775808
-255 ^ -9223372036854775808
-quote 255 ^ -9223372036854775807
-255 ^ -9223372036854775807
-quote 255 ^ -2147483648
-255 ^ -2147483648
-quote 255 ^ -2147483647
-255 ^ -2147483647
-quote 255 ^ -32768
-255 ^ -32768
-quote 255 ^ -32767
-255 ^ -32767
-quote 255 ^ -128
-255 ^ -128
-quote 255 ^ -127
-255 ^ -127
-quote 255 ^ 255
-255 ^ 255
-quote 255 ^ 256
-255 ^ 256
-quote 255 ^ 65535
-255 ^ 65535
-quote 255 ^ 65536
-255 ^ 65536
-quote 255 ^ 4294967295
-255 ^ 4294967295
-quote 255 ^ 4294967296
-255 ^ 4294967296
-quote 255 ^ 18446744073709551615
-255 ^ 18446744073709551615
-quote 255 ^ 18446744073709551616
-255 ^ 18446744073709551616
-quote 255 ^ 340282366920938463463374607431768211455
-255 ^ 340282366920938463463374607431768211455
-quote 255 ^ 340282366920938463463374607431768211456
-255 ^ 340282366920938463463374607431768211456
-quote 256 ^ -170141183460469231731687303715884105728
-256 ^ -170141183460469231731687303715884105728
-quote 256 ^ -170141183460469231731687303715884105727
-256 ^ -170141183460469231731687303715884105727
-quote 256 ^ -9223372036854775808
-256 ^ -9223372036854775808
-quote 256 ^ -9223372036854775807
-256 ^ -9223372036854775807
-quote 256 ^ -2147483648
-256 ^ -2147483648
-quote 256 ^ -2147483647
-256 ^ -2147483647
-quote 256 ^ -32768
-256 ^ -32768
-quote 256 ^ -32767
-256 ^ -32767
-quote 256 ^ -128
-256 ^ -128
-quote 256 ^ -127
-256 ^ -127
-quote 256 ^ 255
-256 ^ 255
-quote 256 ^ 256
-256 ^ 256
-quote 256 ^ 65535
-256 ^ 65535
-quote 256 ^ 65536
-256 ^ 65536
-quote 256 ^ 4294967295
-256 ^ 4294967295
-quote 256 ^ 4294967296
-256 ^ 4294967296
-quote 256 ^ 18446744073709551615
-256 ^ 18446744073709551615
-quote 256 ^ 18446744073709551616
-256 ^ 18446744073709551616
-quote 256 ^ 340282366920938463463374607431768211455
-256 ^ 340282366920938463463374607431768211455
-quote 256 ^ 340282366920938463463374607431768211456
-256 ^ 340282366920938463463374607431768211456
-quote 65535 ^ -170141183460469231731687303715884105728
-65535 ^ -170141183460469231731687303715884105728
-quote 65535 ^ -170141183460469231731687303715884105727
-65535 ^ -170141183460469231731687303715884105727
-quote 65535 ^ -9223372036854775808
-65535 ^ -9223372036854775808
-quote 65535 ^ -9223372036854775807
-65535 ^ -9223372036854775807
-quote 65535 ^ -2147483648
-65535 ^ -2147483648
-quote 65535 ^ -2147483647
-65535 ^ -2147483647
-quote 65535 ^ -32768
-65535 ^ -32768
-quote 65535 ^ -32767
-65535 ^ -32767
-quote 65535 ^ -128
-65535 ^ -128
-quote 65535 ^ -127
-65535 ^ -127
-quote 65535 ^ 255
-65535 ^ 255
-quote 65535 ^ 256
-65535 ^ 256
-quote 65535 ^ 65535
-65535 ^ 65535
-quote 65535 ^ 65536
-65535 ^ 65536
-quote 65535 ^ 4294967295
-65535 ^ 4294967295
-quote 65535 ^ 4294967296
-65535 ^ 4294967296
-quote 65535 ^ 18446744073709551615
-65535 ^ 18446744073709551615
-quote 65535 ^ 18446744073709551616
-65535 ^ 18446744073709551616
-quote 65535 ^ 340282366920938463463374607431768211455
-65535 ^ 340282366920938463463374607431768211455
-quote 65535 ^ 340282366920938463463374607431768211456
-65535 ^ 340282366920938463463374607431768211456
-quote 65536 ^ -170141183460469231731687303715884105728
-65536 ^ -170141183460469231731687303715884105728
-quote 65536 ^ -170141183460469231731687303715884105727
-65536 ^ -170141183460469231731687303715884105727
-quote 65536 ^ -9223372036854775808
-65536 ^ -9223372036854775808
-quote 65536 ^ -9223372036854775807
-65536 ^ -9223372036854775807
-quote 65536 ^ -2147483648
-65536 ^ -2147483648
-quote 65536 ^ -2147483647
-65536 ^ -2147483647
-quote 65536 ^ -32768
-65536 ^ -32768
-quote 65536 ^ -32767
-65536 ^ -32767
-quote 65536 ^ -128
-65536 ^ -128
-quote 65536 ^ -127
-65536 ^ -127
-quote 65536 ^ 255
-65536 ^ 255
-quote 65536 ^ 256
-65536 ^ 256
-quote 65536 ^ 65535
-65536 ^ 65535
-quote 65536 ^ 65536
-65536 ^ 65536
-quote 65536 ^ 4294967295
-65536 ^ 4294967295
-quote 65536 ^ 4294967296
-65536 ^ 4294967296
-quote 65536 ^ 18446744073709551615
-65536 ^ 18446744073709551615
-quote 65536 ^ 18446744073709551616
-65536 ^ 18446744073709551616
-quote 65536 ^ 340282366920938463463374607431768211455
-65536 ^ 340282366920938463463374607431768211455
-quote 65536 ^ 340282366920938463463374607431768211456
-65536 ^ 340282366920938463463374607431768211456
-quote 4294967295 ^ -170141183460469231731687303715884105728
-4294967295 ^ -170141183460469231731687303715884105728
-quote 4294967295 ^ -170141183460469231731687303715884105727
-4294967295 ^ -170141183460469231731687303715884105727
-quote 4294967295 ^ -9223372036854775808
-4294967295 ^ -9223372036854775808
-quote 4294967295 ^ -9223372036854775807
-4294967295 ^ -9223372036854775807
-quote 4294967295 ^ -2147483648
-4294967295 ^ -2147483648
-quote 4294967295 ^ -2147483647
-4294967295 ^ -2147483647
-quote 4294967295 ^ -32768
-4294967295 ^ -32768
-quote 4294967295 ^ -32767
-4294967295 ^ -32767
-quote 4294967295 ^ -128
-4294967295 ^ -128
-quote 4294967295 ^ -127
-4294967295 ^ -127
-quote 4294967295 ^ 255
-4294967295 ^ 255
-quote 4294967295 ^ 256
-4294967295 ^ 256
-quote 4294967295 ^ 65535
-4294967295 ^ 65535
-quote 4294967295 ^ 65536
-4294967295 ^ 65536
-quote 4294967295 ^ 4294967295
-4294967295 ^ 4294967295
-quote 4294967295 ^ 4294967296
-4294967295 ^ 4294967296
-quote 4294967295 ^ 18446744073709551615
-4294967295 ^ 18446744073709551615
-quote 4294967295 ^ 18446744073709551616
-4294967295 ^ 18446744073709551616
-quote 4294967295 ^ 340282366920938463463374607431768211455
-4294967295 ^ 340282366920938463463374607431768211455
-quote 4294967295 ^ 340282366920938463463374607431768211456
-4294967295 ^ 340282366920938463463374607431768211456
-quote 4294967296 ^ -170141183460469231731687303715884105728
-4294967296 ^ -170141183460469231731687303715884105728
-quote 4294967296 ^ -170141183460469231731687303715884105727
-4294967296 ^ -170141183460469231731687303715884105727
-quote 4294967296 ^ -9223372036854775808
-4294967296 ^ -9223372036854775808
-quote 4294967296 ^ -9223372036854775807
-4294967296 ^ -9223372036854775807
-quote 4294967296 ^ -2147483648
-4294967296 ^ -2147483648
-quote 4294967296 ^ -2147483647
-4294967296 ^ -2147483647
-quote 4294967296 ^ -32768
-4294967296 ^ -32768
-quote 4294967296 ^ -32767
-4294967296 ^ -32767
-quote 4294967296 ^ -128
-4294967296 ^ -128
-quote 4294967296 ^ -127
-4294967296 ^ -127
-quote 4294967296 ^ 255
-4294967296 ^ 255
-quote 4294967296 ^ 256
-4294967296 ^ 256
-quote 4294967296 ^ 65535
-4294967296 ^ 65535
-quote 4294967296 ^ 65536
-4294967296 ^ 65536
-quote 4294967296 ^ 4294967295
-4294967296 ^ 4294967295
-quote 4294967296 ^ 4294967296
-4294967296 ^ 4294967296
-quote 4294967296 ^ 18446744073709551615
-4294967296 ^ 18446744073709551615
-quote 4294967296 ^ 18446744073709551616
-4294967296 ^ 18446744073709551616
-quote 4294967296 ^ 340282366920938463463374607431768211455
-4294967296 ^ 340282366920938463463374607431768211455
-quote 4294967296 ^ 340282366920938463463374607431768211456
-4294967296 ^ 340282366920938463463374607431768211456
-quote 18446744073709551615 ^ -170141183460469231731687303715884105728
-18446744073709551615 ^ -170141183460469231731687303715884105728
-quote 18446744073709551615 ^ -170141183460469231731687303715884105727
-18446744073709551615 ^ -170141183460469231731687303715884105727
-quote 18446744073709551615 ^ -9223372036854775808
-18446744073709551615 ^ -9223372036854775808
-quote 18446744073709551615 ^ -9223372036854775807
-18446744073709551615 ^ -9223372036854775807
-quote 18446744073709551615 ^ -2147483648
-18446744073709551615 ^ -2147483648
-quote 18446744073709551615 ^ -2147483647
-18446744073709551615 ^ -2147483647
-quote 18446744073709551615 ^ -32768
-18446744073709551615 ^ -32768
-quote 18446744073709551615 ^ -32767
-18446744073709551615 ^ -32767
-quote 18446744073709551615 ^ -128
-18446744073709551615 ^ -128
-quote 18446744073709551615 ^ -127
-18446744073709551615 ^ -127
-quote 18446744073709551615 ^ 255
-18446744073709551615 ^ 255
-quote 18446744073709551615 ^ 256
-18446744073709551615 ^ 256
-quote 18446744073709551615 ^ 65535
-18446744073709551615 ^ 65535
-quote 18446744073709551615 ^ 65536
-18446744073709551615 ^ 65536
-quote 18446744073709551615 ^ 4294967295
-18446744073709551615 ^ 4294967295
-quote 18446744073709551615 ^ 4294967296
-18446744073709551615 ^ 4294967296
-quote 18446744073709551615 ^ 18446744073709551615
-18446744073709551615 ^ 18446744073709551615
-quote 18446744073709551615 ^ 18446744073709551616
-18446744073709551615 ^ 18446744073709551616
-quote 18446744073709551615 ^ 340282366920938463463374607431768211455
-18446744073709551615 ^ 340282366920938463463374607431768211455
-quote 18446744073709551615 ^ 340282366920938463463374607431768211456
-18446744073709551615 ^ 340282366920938463463374607431768211456
-quote 18446744073709551616 ^ -170141183460469231731687303715884105728
-18446744073709551616 ^ -170141183460469231731687303715884105728
-quote 18446744073709551616 ^ -170141183460469231731687303715884105727
-18446744073709551616 ^ -170141183460469231731687303715884105727
-quote 18446744073709551616 ^ -9223372036854775808
-18446744073709551616 ^ -9223372036854775808
-quote 18446744073709551616 ^ -9223372036854775807
-18446744073709551616 ^ -9223372036854775807
-quote 18446744073709551616 ^ -2147483648
-18446744073709551616 ^ -2147483648
-quote 18446744073709551616 ^ -2147483647
-18446744073709551616 ^ -2147483647
-quote 18446744073709551616 ^ -32768
-18446744073709551616 ^ -32768
-quote 18446744073709551616 ^ -32767
-18446744073709551616 ^ -32767
-quote 18446744073709551616 ^ -128
-18446744073709551616 ^ -128
-quote 18446744073709551616 ^ -127
-18446744073709551616 ^ -127
-quote 18446744073709551616 ^ 255
-18446744073709551616 ^ 255
-quote 18446744073709551616 ^ 256
-18446744073709551616 ^ 256
-quote 18446744073709551616 ^ 65535
-18446744073709551616 ^ 65535
-quote 18446744073709551616 ^ 65536
-18446744073709551616 ^ 65536
-quote 18446744073709551616 ^ 4294967295
-18446744073709551616 ^ 4294967295
-quote 18446744073709551616 ^ 4294967296
-18446744073709551616 ^ 4294967296
-quote 18446744073709551616 ^ 18446744073709551615
-18446744073709551616 ^ 18446744073709551615
-quote 18446744073709551616 ^ 18446744073709551616
-18446744073709551616 ^ 18446744073709551616
-quote 18446744073709551616 ^ 340282366920938463463374607431768211455
-18446744073709551616 ^ 340282366920938463463374607431768211455
-quote 18446744073709551616 ^ 340282366920938463463374607431768211456
-18446744073709551616 ^ 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211455 ^ -170141183460469231731687303715884105728
-340282366920938463463374607431768211455 ^ -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211455 ^ -170141183460469231731687303715884105727
-340282366920938463463374607431768211455 ^ -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211455 ^ -9223372036854775808
-340282366920938463463374607431768211455 ^ -9223372036854775808
-quote 340282366920938463463374607431768211455 ^ -9223372036854775807
-340282366920938463463374607431768211455 ^ -9223372036854775807
-quote 340282366920938463463374607431768211455 ^ -2147483648
-340282366920938463463374607431768211455 ^ -2147483648
-quote 340282366920938463463374607431768211455 ^ -2147483647
-340282366920938463463374607431768211455 ^ -2147483647
-quote 340282366920938463463374607431768211455 ^ -32768
-340282366920938463463374607431768211455 ^ -32768
-quote 340282366920938463463374607431768211455 ^ -32767
-340282366920938463463374607431768211455 ^ -32767
-quote 340282366920938463463374607431768211455 ^ -128
-340282366920938463463374607431768211455 ^ -128
-quote 340282366920938463463374607431768211455 ^ -127
-340282366920938463463374607431768211455 ^ -127
-quote 340282366920938463463374607431768211455 ^ 255
-340282366920938463463374607431768211455 ^ 255
-quote 340282366920938463463374607431768211455 ^ 256
-340282366920938463463374607431768211455 ^ 256
-quote 340282366920938463463374607431768211455 ^ 65535
-340282366920938463463374607431768211455 ^ 65535
-quote 340282366920938463463374607431768211455 ^ 65536
-340282366920938463463374607431768211455 ^ 65536
-quote 340282366920938463463374607431768211455 ^ 4294967295
-340282366920938463463374607431768211455 ^ 4294967295
-quote 340282366920938463463374607431768211455 ^ 4294967296
-340282366920938463463374607431768211455 ^ 4294967296
-quote 340282366920938463463374607431768211455 ^ 18446744073709551615
-340282366920938463463374607431768211455 ^ 18446744073709551615
-quote 340282366920938463463374607431768211455 ^ 18446744073709551616
-340282366920938463463374607431768211455 ^ 18446744073709551616
-quote 340282366920938463463374607431768211455 ^ 340282366920938463463374607431768211455
-340282366920938463463374607431768211455 ^ 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211455 ^ 340282366920938463463374607431768211456
-340282366920938463463374607431768211455 ^ 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211456 ^ -170141183460469231731687303715884105728
-340282366920938463463374607431768211456 ^ -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211456 ^ -170141183460469231731687303715884105727
-340282366920938463463374607431768211456 ^ -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211456 ^ -9223372036854775808
-340282366920938463463374607431768211456 ^ -9223372036854775808
-quote 340282366920938463463374607431768211456 ^ -9223372036854775807
-340282366920938463463374607431768211456 ^ -9223372036854775807
-quote 340282366920938463463374607431768211456 ^ -2147483648
-340282366920938463463374607431768211456 ^ -2147483648
-quote 340282366920938463463374607431768211456 ^ -2147483647
-340282366920938463463374607431768211456 ^ -2147483647
-quote 340282366920938463463374607431768211456 ^ -32768
-340282366920938463463374607431768211456 ^ -32768
-quote 340282366920938463463374607431768211456 ^ -32767
-340282366920938463463374607431768211456 ^ -32767
-quote 340282366920938463463374607431768211456 ^ -128
-340282366920938463463374607431768211456 ^ -128
-quote 340282366920938463463374607431768211456 ^ -127
-340282366920938463463374607431768211456 ^ -127
-quote 340282366920938463463374607431768211456 ^ 255
-340282366920938463463374607431768211456 ^ 255
-quote 340282366920938463463374607431768211456 ^ 256
-340282366920938463463374607431768211456 ^ 256
-quote 340282366920938463463374607431768211456 ^ 65535
-340282366920938463463374607431768211456 ^ 65535
-quote 340282366920938463463374607431768211456 ^ 65536
-340282366920938463463374607431768211456 ^ 65536
-quote 340282366920938463463374607431768211456 ^ 4294967295
-340282366920938463463374607431768211456 ^ 4294967295
-quote 340282366920938463463374607431768211456 ^ 4294967296
-340282366920938463463374607431768211456 ^ 4294967296
-quote 340282366920938463463374607431768211456 ^ 18446744073709551615
-340282366920938463463374607431768211456 ^ 18446744073709551615
-quote 340282366920938463463374607431768211456 ^ 18446744073709551616
-340282366920938463463374607431768211456 ^ 18446744073709551616
-quote 340282366920938463463374607431768211456 ^ 340282366920938463463374607431768211455
-340282366920938463463374607431768211456 ^ 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211456 ^ 340282366920938463463374607431768211456
-340282366920938463463374607431768211456 ^ 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_bxor.out.expected b/test/ic3/integer_bxor.out.expected
deleted file mode 100644
index 835766b..0000000
--- a/test/ic3/integer_bxor.out.expected
+++ /dev/null
@@ -1,800 +0,0 @@
--170141183460469231731687303715884105728 ^ -170141183460469231731687303715884105728
-0
--170141183460469231731687303715884105728 ^ -170141183460469231731687303715884105727
-1
--170141183460469231731687303715884105728 ^ -9223372036854775808
-170141183460469231722463931679029329920
--170141183460469231731687303715884105728 ^ -9223372036854775807
-170141183460469231722463931679029329921
--170141183460469231731687303715884105728 ^ -2147483648
-170141183460469231731687303713736622080
--170141183460469231731687303715884105728 ^ -2147483647
-170141183460469231731687303713736622081
--170141183460469231731687303715884105728 ^ -32768
-170141183460469231731687303715884072960
--170141183460469231731687303715884105728 ^ -32767
-170141183460469231731687303715884072961
--170141183460469231731687303715884105728 ^ -128
-170141183460469231731687303715884105600
--170141183460469231731687303715884105728 ^ -127
-170141183460469231731687303715884105601
--170141183460469231731687303715884105728 ^ 255
--170141183460469231731687303715884105473
--170141183460469231731687303715884105728 ^ 256
--170141183460469231731687303715884105472
--170141183460469231731687303715884105728 ^ 65535
--170141183460469231731687303715884040193
--170141183460469231731687303715884105728 ^ 65536
--170141183460469231731687303715884040192
--170141183460469231731687303715884105728 ^ 4294967295
--170141183460469231731687303711589138433
--170141183460469231731687303715884105728 ^ 4294967296
--170141183460469231731687303711589138432
--170141183460469231731687303715884105728 ^ 18446744073709551615
--170141183460469231713240559642174554113
--170141183460469231731687303715884105728 ^ 18446744073709551616
--170141183460469231713240559642174554112
--170141183460469231731687303715884105728 ^ 340282366920938463463374607431768211455
--170141183460469231731687303715884105729
--170141183460469231731687303715884105728 ^ 340282366920938463463374607431768211456
--510423550381407695195061911147652317184
--170141183460469231731687303715884105727 ^ -170141183460469231731687303715884105728
-1
--170141183460469231731687303715884105727 ^ -170141183460469231731687303715884105727
-0
--170141183460469231731687303715884105727 ^ -9223372036854775808
-170141183460469231722463931679029329921
--170141183460469231731687303715884105727 ^ -9223372036854775807
-170141183460469231722463931679029329920
--170141183460469231731687303715884105727 ^ -2147483648
-170141183460469231731687303713736622081
--170141183460469231731687303715884105727 ^ -2147483647
-170141183460469231731687303713736622080
--170141183460469231731687303715884105727 ^ -32768
-170141183460469231731687303715884072961
--170141183460469231731687303715884105727 ^ -32767
-170141183460469231731687303715884072960
--170141183460469231731687303715884105727 ^ -128
-170141183460469231731687303715884105601
--170141183460469231731687303715884105727 ^ -127
-170141183460469231731687303715884105600
--170141183460469231731687303715884105727 ^ 255
--170141183460469231731687303715884105474
--170141183460469231731687303715884105727 ^ 256
--170141183460469231731687303715884105471
--170141183460469231731687303715884105727 ^ 65535
--170141183460469231731687303715884040194
--170141183460469231731687303715884105727 ^ 65536
--170141183460469231731687303715884040191
--170141183460469231731687303715884105727 ^ 4294967295
--170141183460469231731687303711589138434
--170141183460469231731687303715884105727 ^ 4294967296
--170141183460469231731687303711589138431
--170141183460469231731687303715884105727 ^ 18446744073709551615
--170141183460469231713240559642174554114
--170141183460469231731687303715884105727 ^ 18446744073709551616
--170141183460469231713240559642174554111
--170141183460469231731687303715884105727 ^ 340282366920938463463374607431768211455
--170141183460469231731687303715884105730
--170141183460469231731687303715884105727 ^ 340282366920938463463374607431768211456
--510423550381407695195061911147652317183
--9223372036854775808 ^ -170141183460469231731687303715884105728
-170141183460469231722463931679029329920
--9223372036854775808 ^ -170141183460469231731687303715884105727
-170141183460469231722463931679029329921
--9223372036854775808 ^ -9223372036854775808
-0
--9223372036854775808 ^ -9223372036854775807
-1
--9223372036854775808 ^ -2147483648
-9223372034707292160
--9223372036854775808 ^ -2147483647
-9223372034707292161
--9223372036854775808 ^ -32768
-9223372036854743040
--9223372036854775808 ^ -32767
-9223372036854743041
--9223372036854775808 ^ -128
-9223372036854775680
--9223372036854775808 ^ -127
-9223372036854775681
--9223372036854775808 ^ 255
--9223372036854775553
--9223372036854775808 ^ 256
--9223372036854775552
--9223372036854775808 ^ 65535
--9223372036854710273
--9223372036854775808 ^ 65536
--9223372036854710272
--9223372036854775808 ^ 4294967295
--9223372032559808513
--9223372036854775808 ^ 4294967296
--9223372032559808512
--9223372036854775808 ^ 18446744073709551615
--9223372036854775809
--9223372036854775808 ^ 18446744073709551616
--27670116110564327424
--9223372036854775808 ^ 340282366920938463463374607431768211455
--340282366920938463454151235394913435649
--9223372036854775808 ^ 340282366920938463463374607431768211456
--340282366920938463472597979468622987264
--9223372036854775807 ^ -170141183460469231731687303715884105728
-170141183460469231722463931679029329921
--9223372036854775807 ^ -170141183460469231731687303715884105727
-170141183460469231722463931679029329920
--9223372036854775807 ^ -9223372036854775808
-1
--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
--9223372036854775807 ^ 18446744073709551615
--9223372036854775810
--9223372036854775807 ^ 18446744073709551616
--27670116110564327423
--9223372036854775807 ^ 340282366920938463463374607431768211455
--340282366920938463454151235394913435650
--9223372036854775807 ^ 340282366920938463463374607431768211456
--340282366920938463472597979468622987263
--2147483648 ^ -170141183460469231731687303715884105728
-170141183460469231731687303713736622080
--2147483648 ^ -170141183460469231731687303715884105727
-170141183460469231731687303713736622081
--2147483648 ^ -9223372036854775808
-9223372034707292160
--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
--2147483648 ^ 18446744073709551615
--18446744071562067969
--2147483648 ^ 18446744073709551616
--18446744075857035264
--2147483648 ^ 340282366920938463463374607431768211455
--340282366920938463463374607429620727809
--2147483648 ^ 340282366920938463463374607431768211456
--340282366920938463463374607433915695104
--2147483647 ^ -170141183460469231731687303715884105728
-170141183460469231731687303713736622081
--2147483647 ^ -170141183460469231731687303715884105727
-170141183460469231731687303713736622080
--2147483647 ^ -9223372036854775808
-9223372034707292161
--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
--2147483647 ^ 18446744073709551615
--18446744071562067970
--2147483647 ^ 18446744073709551616
--18446744075857035263
--2147483647 ^ 340282366920938463463374607431768211455
--340282366920938463463374607429620727810
--2147483647 ^ 340282366920938463463374607431768211456
--340282366920938463463374607433915695103
--32768 ^ -170141183460469231731687303715884105728
-170141183460469231731687303715884072960
--32768 ^ -170141183460469231731687303715884105727
-170141183460469231731687303715884072961
--32768 ^ -9223372036854775808
-9223372036854743040
--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
--32768 ^ 18446744073709551615
--18446744073709518849
--32768 ^ 18446744073709551616
--18446744073709584384
--32768 ^ 340282366920938463463374607431768211455
--340282366920938463463374607431768178689
--32768 ^ 340282366920938463463374607431768211456
--340282366920938463463374607431768244224
--32767 ^ -170141183460469231731687303715884105728
-170141183460469231731687303715884072961
--32767 ^ -170141183460469231731687303715884105727
-170141183460469231731687303715884072960
--32767 ^ -9223372036854775808
-9223372036854743041
--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
--32767 ^ 18446744073709551615
--18446744073709518850
--32767 ^ 18446744073709551616
--18446744073709584383
--32767 ^ 340282366920938463463374607431768211455
--340282366920938463463374607431768178690
--32767 ^ 340282366920938463463374607431768211456
--340282366920938463463374607431768244223
--128 ^ -170141183460469231731687303715884105728
-170141183460469231731687303715884105600
--128 ^ -170141183460469231731687303715884105727
-170141183460469231731687303715884105601
--128 ^ -9223372036854775808
-9223372036854775680
--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
--128 ^ 18446744073709551615
--18446744073709551489
--128 ^ 18446744073709551616
--18446744073709551744
--128 ^ 340282366920938463463374607431768211455
--340282366920938463463374607431768211329
--128 ^ 340282366920938463463374607431768211456
--340282366920938463463374607431768211584
--127 ^ -170141183460469231731687303715884105728
-170141183460469231731687303715884105601
--127 ^ -170141183460469231731687303715884105727
-170141183460469231731687303715884105600
--127 ^ -9223372036854775808
-9223372036854775681
--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
--127 ^ 18446744073709551615
--18446744073709551490
--127 ^ 18446744073709551616
--18446744073709551743
--127 ^ 340282366920938463463374607431768211455
--340282366920938463463374607431768211330
--127 ^ 340282366920938463463374607431768211456
--340282366920938463463374607431768211583
-255 ^ -170141183460469231731687303715884105728
--170141183460469231731687303715884105473
-255 ^ -170141183460469231731687303715884105727
--170141183460469231731687303715884105474
-255 ^ -9223372036854775808
--9223372036854775553
-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
-255 ^ 340282366920938463463374607431768211455
-340282366920938463463374607431768211200
-255 ^ 340282366920938463463374607431768211456
-340282366920938463463374607431768211711
-256 ^ -170141183460469231731687303715884105728
--170141183460469231731687303715884105472
-256 ^ -170141183460469231731687303715884105727
--170141183460469231731687303715884105471
-256 ^ -9223372036854775808
--9223372036854775552
-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
-256 ^ 340282366920938463463374607431768211455
-340282366920938463463374607431768211199
-256 ^ 340282366920938463463374607431768211456
-340282366920938463463374607431768211712
-65535 ^ -170141183460469231731687303715884105728
--170141183460469231731687303715884040193
-65535 ^ -170141183460469231731687303715884105727
--170141183460469231731687303715884040194
-65535 ^ -9223372036854775808
--9223372036854710273
-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
-65535 ^ 340282366920938463463374607431768211455
-340282366920938463463374607431768145920
-65535 ^ 340282366920938463463374607431768211456
-340282366920938463463374607431768276991
-65536 ^ -170141183460469231731687303715884105728
--170141183460469231731687303715884040192
-65536 ^ -170141183460469231731687303715884105727
--170141183460469231731687303715884040191
-65536 ^ -9223372036854775808
--9223372036854710272
-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
-65536 ^ 340282366920938463463374607431768211455
-340282366920938463463374607431768145919
-65536 ^ 340282366920938463463374607431768211456
-340282366920938463463374607431768276992
-4294967295 ^ -170141183460469231731687303715884105728
--170141183460469231731687303711589138433
-4294967295 ^ -170141183460469231731687303715884105727
--170141183460469231731687303711589138434
-4294967295 ^ -9223372036854775808
--9223372032559808513
-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
-4294967295 ^ 340282366920938463463374607431768211455
-340282366920938463463374607427473244160
-4294967295 ^ 340282366920938463463374607431768211456
-340282366920938463463374607436063178751
-4294967296 ^ -170141183460469231731687303715884105728
--170141183460469231731687303711589138432
-4294967296 ^ -170141183460469231731687303715884105727
--170141183460469231731687303711589138431
-4294967296 ^ -9223372036854775808
--9223372032559808512
-4294967296 ^ -9223372036854775807
--9223372032559808511
-4294967296 ^ -2147483648
--6442450944
-4294967296 ^ -2147483647
--6442450943
-4294967296 ^ -32768
--4295000064
-4294967296 ^ -32767
--4295000063
-4294967296 ^ -128
--4294967424
-4294967296 ^ -127
--4294967423
-4294967296 ^ 255
-4294967551
-4294967296 ^ 256
-4294967552
-4294967296 ^ 65535
-4295032831
-4294967296 ^ 65536
-4295032832
-4294967296 ^ 4294967295
-8589934591
-4294967296 ^ 4294967296
-0
-4294967296 ^ 18446744073709551615
-18446744069414584319
-4294967296 ^ 18446744073709551616
-18446744078004518912
-4294967296 ^ 340282366920938463463374607431768211455
-340282366920938463463374607427473244159
-4294967296 ^ 340282366920938463463374607431768211456
-340282366920938463463374607436063178752
-18446744073709551615 ^ -170141183460469231731687303715884105728
--170141183460469231713240559642174554113
-18446744073709551615 ^ -170141183460469231731687303715884105727
--170141183460469231713240559642174554114
-18446744073709551615 ^ -9223372036854775808
--9223372036854775809
-18446744073709551615 ^ -9223372036854775807
--9223372036854775810
-18446744073709551615 ^ -2147483648
--18446744071562067969
-18446744073709551615 ^ -2147483647
--18446744071562067970
-18446744073709551615 ^ -32768
--18446744073709518849
-18446744073709551615 ^ -32767
--18446744073709518850
-18446744073709551615 ^ -128
--18446744073709551489
-18446744073709551615 ^ -127
--18446744073709551490
-18446744073709551615 ^ 255
-18446744073709551360
-18446744073709551615 ^ 256
-18446744073709551359
-18446744073709551615 ^ 65535
-18446744073709486080
-18446744073709551615 ^ 65536
-18446744073709486079
-18446744073709551615 ^ 4294967295
-18446744069414584320
-18446744073709551615 ^ 4294967296
-18446744069414584319
-18446744073709551615 ^ 18446744073709551615
-0
-18446744073709551615 ^ 18446744073709551616
-36893488147419103231
-18446744073709551615 ^ 340282366920938463463374607431768211455
-340282366920938463444927863358058659840
-18446744073709551615 ^ 340282366920938463463374607431768211456
-340282366920938463481821351505477763071
-18446744073709551616 ^ -170141183460469231731687303715884105728
--170141183460469231713240559642174554112
-18446744073709551616 ^ -170141183460469231731687303715884105727
--170141183460469231713240559642174554111
-18446744073709551616 ^ -9223372036854775808
--27670116110564327424
-18446744073709551616 ^ -9223372036854775807
--27670116110564327423
-18446744073709551616 ^ -2147483648
--18446744075857035264
-18446744073709551616 ^ -2147483647
--18446744075857035263
-18446744073709551616 ^ -32768
--18446744073709584384
-18446744073709551616 ^ -32767
--18446744073709584383
-18446744073709551616 ^ -128
--18446744073709551744
-18446744073709551616 ^ -127
--18446744073709551743
-18446744073709551616 ^ 255
-18446744073709551871
-18446744073709551616 ^ 256
-18446744073709551872
-18446744073709551616 ^ 65535
-18446744073709617151
-18446744073709551616 ^ 65536
-18446744073709617152
-18446744073709551616 ^ 4294967295
-18446744078004518911
-18446744073709551616 ^ 4294967296
-18446744078004518912
-18446744073709551616 ^ 18446744073709551615
-36893488147419103231
-18446744073709551616 ^ 18446744073709551616
-0
-18446744073709551616 ^ 340282366920938463463374607431768211455
-340282366920938463444927863358058659839
-18446744073709551616 ^ 340282366920938463463374607431768211456
-340282366920938463481821351505477763072
-340282366920938463463374607431768211455 ^ -170141183460469231731687303715884105728
--170141183460469231731687303715884105729
-340282366920938463463374607431768211455 ^ -170141183460469231731687303715884105727
--170141183460469231731687303715884105730
-340282366920938463463374607431768211455 ^ -9223372036854775808
--340282366920938463454151235394913435649
-340282366920938463463374607431768211455 ^ -9223372036854775807
--340282366920938463454151235394913435650
-340282366920938463463374607431768211455 ^ -2147483648
--340282366920938463463374607429620727809
-340282366920938463463374607431768211455 ^ -2147483647
--340282366920938463463374607429620727810
-340282366920938463463374607431768211455 ^ -32768
--340282366920938463463374607431768178689
-340282366920938463463374607431768211455 ^ -32767
--340282366920938463463374607431768178690
-340282366920938463463374607431768211455 ^ -128
--340282366920938463463374607431768211329
-340282366920938463463374607431768211455 ^ -127
--340282366920938463463374607431768211330
-340282366920938463463374607431768211455 ^ 255
-340282366920938463463374607431768211200
-340282366920938463463374607431768211455 ^ 256
-340282366920938463463374607431768211199
-340282366920938463463374607431768211455 ^ 65535
-340282366920938463463374607431768145920
-340282366920938463463374607431768211455 ^ 65536
-340282366920938463463374607431768145919
-340282366920938463463374607431768211455 ^ 4294967295
-340282366920938463463374607427473244160
-340282366920938463463374607431768211455 ^ 4294967296
-340282366920938463463374607427473244159
-340282366920938463463374607431768211455 ^ 18446744073709551615
-340282366920938463444927863358058659840
-340282366920938463463374607431768211455 ^ 18446744073709551616
-340282366920938463444927863358058659839
-340282366920938463463374607431768211455 ^ 340282366920938463463374607431768211455
-0
-340282366920938463463374607431768211455 ^ 340282366920938463463374607431768211456
-680564733841876926926749214863536422911
-340282366920938463463374607431768211456 ^ -170141183460469231731687303715884105728
--510423550381407695195061911147652317184
-340282366920938463463374607431768211456 ^ -170141183460469231731687303715884105727
--510423550381407695195061911147652317183
-340282366920938463463374607431768211456 ^ -9223372036854775808
--340282366920938463472597979468622987264
-340282366920938463463374607431768211456 ^ -9223372036854775807
--340282366920938463472597979468622987263
-340282366920938463463374607431768211456 ^ -2147483648
--340282366920938463463374607433915695104
-340282366920938463463374607431768211456 ^ -2147483647
--340282366920938463463374607433915695103
-340282366920938463463374607431768211456 ^ -32768
--340282366920938463463374607431768244224
-340282366920938463463374607431768211456 ^ -32767
--340282366920938463463374607431768244223
-340282366920938463463374607431768211456 ^ -128
--340282366920938463463374607431768211584
-340282366920938463463374607431768211456 ^ -127
--340282366920938463463374607431768211583
-340282366920938463463374607431768211456 ^ 255
-340282366920938463463374607431768211711
-340282366920938463463374607431768211456 ^ 256
-340282366920938463463374607431768211712
-340282366920938463463374607431768211456 ^ 65535
-340282366920938463463374607431768276991
-340282366920938463463374607431768211456 ^ 65536
-340282366920938463463374607431768276992
-340282366920938463463374607431768211456 ^ 4294967295
-340282366920938463463374607436063178751
-340282366920938463463374607431768211456 ^ 4294967296
-340282366920938463463374607436063178752
-340282366920938463463374607431768211456 ^ 18446744073709551615
-340282366920938463481821351505477763071
-340282366920938463463374607431768211456 ^ 18446744073709551616
-340282366920938463481821351505477763072
-340282366920938463463374607431768211456 ^ 340282366920938463463374607431768211455
-680564733841876926926749214863536422911
-340282366920938463463374607431768211456 ^ 340282366920938463463374607431768211456
-0
diff --git a/test/ic3/integer_bxor.ret.expected b/test/ic3/integer_bxor.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/integer_bxor.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/integer_bxor_2.in b/test/ic3/integer_bxor_2.in
new file mode 100644
index 0000000..d6871bf
--- /dev/null
+++ b/test/ic3/integer_bxor_2.in
@@ -0,0 +1,800 @@
+quote -170141183460469231731687303715884105728 ^ -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 ^ -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105728 ^ -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 ^ -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105728 ^ -9223372036854775808
+-170141183460469231731687303715884105728 ^ -9223372036854775808
+quote -170141183460469231731687303715884105728 ^ -9223372036854775807
+-170141183460469231731687303715884105728 ^ -9223372036854775807
+quote -170141183460469231731687303715884105728 ^ -2147483648
+-170141183460469231731687303715884105728 ^ -2147483648
+quote -170141183460469231731687303715884105728 ^ -2147483647
+-170141183460469231731687303715884105728 ^ -2147483647
+quote -170141183460469231731687303715884105728 ^ -32768
+-170141183460469231731687303715884105728 ^ -32768
+quote -170141183460469231731687303715884105728 ^ -32767
+-170141183460469231731687303715884105728 ^ -32767
+quote -170141183460469231731687303715884105728 ^ -128
+-170141183460469231731687303715884105728 ^ -128
+quote -170141183460469231731687303715884105728 ^ -127
+-170141183460469231731687303715884105728 ^ -127
+quote -170141183460469231731687303715884105728 ^ 255
+-170141183460469231731687303715884105728 ^ 255
+quote -170141183460469231731687303715884105728 ^ 256
+-170141183460469231731687303715884105728 ^ 256
+quote -170141183460469231731687303715884105728 ^ 65535
+-170141183460469231731687303715884105728 ^ 65535
+quote -170141183460469231731687303715884105728 ^ 65536
+-170141183460469231731687303715884105728 ^ 65536
+quote -170141183460469231731687303715884105728 ^ 4294967295
+-170141183460469231731687303715884105728 ^ 4294967295
+quote -170141183460469231731687303715884105728 ^ 4294967296
+-170141183460469231731687303715884105728 ^ 4294967296
+quote -170141183460469231731687303715884105728 ^ 18446744073709551615
+-170141183460469231731687303715884105728 ^ 18446744073709551615
+quote -170141183460469231731687303715884105728 ^ 18446744073709551616
+-170141183460469231731687303715884105728 ^ 18446744073709551616
+quote -170141183460469231731687303715884105728 ^ 340282366920938463463374607431768211455
+-170141183460469231731687303715884105728 ^ 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105728 ^ 340282366920938463463374607431768211456
+-170141183460469231731687303715884105728 ^ 340282366920938463463374607431768211456
+quote -170141183460469231731687303715884105727 ^ -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 ^ -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105727 ^ -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 ^ -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105727 ^ -9223372036854775808
+-170141183460469231731687303715884105727 ^ -9223372036854775808
+quote -170141183460469231731687303715884105727 ^ -9223372036854775807
+-170141183460469231731687303715884105727 ^ -9223372036854775807
+quote -170141183460469231731687303715884105727 ^ -2147483648
+-170141183460469231731687303715884105727 ^ -2147483648
+quote -170141183460469231731687303715884105727 ^ -2147483647
+-170141183460469231731687303715884105727 ^ -2147483647
+quote -170141183460469231731687303715884105727 ^ -32768
+-170141183460469231731687303715884105727 ^ -32768
+quote -170141183460469231731687303715884105727 ^ -32767
+-170141183460469231731687303715884105727 ^ -32767
+quote -170141183460469231731687303715884105727 ^ -128
+-170141183460469231731687303715884105727 ^ -128
+quote -170141183460469231731687303715884105727 ^ -127
+-170141183460469231731687303715884105727 ^ -127
+quote -170141183460469231731687303715884105727 ^ 255
+-170141183460469231731687303715884105727 ^ 255
+quote -170141183460469231731687303715884105727 ^ 256
+-170141183460469231731687303715884105727 ^ 256
+quote -170141183460469231731687303715884105727 ^ 65535
+-170141183460469231731687303715884105727 ^ 65535
+quote -170141183460469231731687303715884105727 ^ 65536
+-170141183460469231731687303715884105727 ^ 65536
+quote -170141183460469231731687303715884105727 ^ 4294967295
+-170141183460469231731687303715884105727 ^ 4294967295
+quote -170141183460469231731687303715884105727 ^ 4294967296
+-170141183460469231731687303715884105727 ^ 4294967296
+quote -170141183460469231731687303715884105727 ^ 18446744073709551615
+-170141183460469231731687303715884105727 ^ 18446744073709551615
+quote -170141183460469231731687303715884105727 ^ 18446744073709551616
+-170141183460469231731687303715884105727 ^ 18446744073709551616
+quote -170141183460469231731687303715884105727 ^ 340282366920938463463374607431768211455
+-170141183460469231731687303715884105727 ^ 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105727 ^ 340282366920938463463374607431768211456
+-170141183460469231731687303715884105727 ^ 340282366920938463463374607431768211456
+quote -9223372036854775808 ^ -170141183460469231731687303715884105728
+-9223372036854775808 ^ -170141183460469231731687303715884105728
+quote -9223372036854775808 ^ -170141183460469231731687303715884105727
+-9223372036854775808 ^ -170141183460469231731687303715884105727
+quote -9223372036854775808 ^ -9223372036854775808
+-9223372036854775808 ^ -9223372036854775808
+quote -9223372036854775808 ^ -9223372036854775807
+-9223372036854775808 ^ -9223372036854775807
+quote -9223372036854775808 ^ -2147483648
+-9223372036854775808 ^ -2147483648
+quote -9223372036854775808 ^ -2147483647
+-9223372036854775808 ^ -2147483647
+quote -9223372036854775808 ^ -32768
+-9223372036854775808 ^ -32768
+quote -9223372036854775808 ^ -32767
+-9223372036854775808 ^ -32767
+quote -9223372036854775808 ^ -128
+-9223372036854775808 ^ -128
+quote -9223372036854775808 ^ -127
+-9223372036854775808 ^ -127
+quote -9223372036854775808 ^ 255
+-9223372036854775808 ^ 255
+quote -9223372036854775808 ^ 256
+-9223372036854775808 ^ 256
+quote -9223372036854775808 ^ 65535
+-9223372036854775808 ^ 65535
+quote -9223372036854775808 ^ 65536
+-9223372036854775808 ^ 65536
+quote -9223372036854775808 ^ 4294967295
+-9223372036854775808 ^ 4294967295
+quote -9223372036854775808 ^ 4294967296
+-9223372036854775808 ^ 4294967296
+quote -9223372036854775808 ^ 18446744073709551615
+-9223372036854775808 ^ 18446744073709551615
+quote -9223372036854775808 ^ 18446744073709551616
+-9223372036854775808 ^ 18446744073709551616
+quote -9223372036854775808 ^ 340282366920938463463374607431768211455
+-9223372036854775808 ^ 340282366920938463463374607431768211455
+quote -9223372036854775808 ^ 340282366920938463463374607431768211456
+-9223372036854775808 ^ 340282366920938463463374607431768211456
+quote -9223372036854775807 ^ -170141183460469231731687303715884105728
+-9223372036854775807 ^ -170141183460469231731687303715884105728
+quote -9223372036854775807 ^ -170141183460469231731687303715884105727
+-9223372036854775807 ^ -170141183460469231731687303715884105727
+quote -9223372036854775807 ^ -9223372036854775808
+-9223372036854775807 ^ -9223372036854775808
+quote -9223372036854775807 ^ -9223372036854775807
+-9223372036854775807 ^ -9223372036854775807
+quote -9223372036854775807 ^ -2147483648
+-9223372036854775807 ^ -2147483648
+quote -9223372036854775807 ^ -2147483647
+-9223372036854775807 ^ -2147483647
+quote -9223372036854775807 ^ -32768
+-9223372036854775807 ^ -32768
+quote -9223372036854775807 ^ -32767
+-9223372036854775807 ^ -32767
+quote -9223372036854775807 ^ -128
+-9223372036854775807 ^ -128
+quote -9223372036854775807 ^ -127
+-9223372036854775807 ^ -127
+quote -9223372036854775807 ^ 255
+-9223372036854775807 ^ 255
+quote -9223372036854775807 ^ 256
+-9223372036854775807 ^ 256
+quote -9223372036854775807 ^ 65535
+-9223372036854775807 ^ 65535
+quote -9223372036854775807 ^ 65536
+-9223372036854775807 ^ 65536
+quote -9223372036854775807 ^ 4294967295
+-9223372036854775807 ^ 4294967295
+quote -9223372036854775807 ^ 4294967296
+-9223372036854775807 ^ 4294967296
+quote -9223372036854775807 ^ 18446744073709551615
+-9223372036854775807 ^ 18446744073709551615
+quote -9223372036854775807 ^ 18446744073709551616
+-9223372036854775807 ^ 18446744073709551616
+quote -9223372036854775807 ^ 340282366920938463463374607431768211455
+-9223372036854775807 ^ 340282366920938463463374607431768211455
+quote -9223372036854775807 ^ 340282366920938463463374607431768211456
+-9223372036854775807 ^ 340282366920938463463374607431768211456
+quote -2147483648 ^ -170141183460469231731687303715884105728
+-2147483648 ^ -170141183460469231731687303715884105728
+quote -2147483648 ^ -170141183460469231731687303715884105727
+-2147483648 ^ -170141183460469231731687303715884105727
+quote -2147483648 ^ -9223372036854775808
+-2147483648 ^ -9223372036854775808
+quote -2147483648 ^ -9223372036854775807
+-2147483648 ^ -9223372036854775807
+quote -2147483648 ^ -2147483648
+-2147483648 ^ -2147483648
+quote -2147483648 ^ -2147483647
+-2147483648 ^ -2147483647
+quote -2147483648 ^ -32768
+-2147483648 ^ -32768
+quote -2147483648 ^ -32767
+-2147483648 ^ -32767
+quote -2147483648 ^ -128
+-2147483648 ^ -128
+quote -2147483648 ^ -127
+-2147483648 ^ -127
+quote -2147483648 ^ 255
+-2147483648 ^ 255
+quote -2147483648 ^ 256
+-2147483648 ^ 256
+quote -2147483648 ^ 65535
+-2147483648 ^ 65535
+quote -2147483648 ^ 65536
+-2147483648 ^ 65536
+quote -2147483648 ^ 4294967295
+-2147483648 ^ 4294967295
+quote -2147483648 ^ 4294967296
+-2147483648 ^ 4294967296
+quote -2147483648 ^ 18446744073709551615
+-2147483648 ^ 18446744073709551615
+quote -2147483648 ^ 18446744073709551616
+-2147483648 ^ 18446744073709551616
+quote -2147483648 ^ 340282366920938463463374607431768211455
+-2147483648 ^ 340282366920938463463374607431768211455
+quote -2147483648 ^ 340282366920938463463374607431768211456
+-2147483648 ^ 340282366920938463463374607431768211456
+quote -2147483647 ^ -170141183460469231731687303715884105728
+-2147483647 ^ -170141183460469231731687303715884105728
+quote -2147483647 ^ -170141183460469231731687303715884105727
+-2147483647 ^ -170141183460469231731687303715884105727
+quote -2147483647 ^ -9223372036854775808
+-2147483647 ^ -9223372036854775808
+quote -2147483647 ^ -9223372036854775807
+-2147483647 ^ -9223372036854775807
+quote -2147483647 ^ -2147483648
+-2147483647 ^ -2147483648
+quote -2147483647 ^ -2147483647
+-2147483647 ^ -2147483647
+quote -2147483647 ^ -32768
+-2147483647 ^ -32768
+quote -2147483647 ^ -32767
+-2147483647 ^ -32767
+quote -2147483647 ^ -128
+-2147483647 ^ -128
+quote -2147483647 ^ -127
+-2147483647 ^ -127
+quote -2147483647 ^ 255
+-2147483647 ^ 255
+quote -2147483647 ^ 256
+-2147483647 ^ 256
+quote -2147483647 ^ 65535
+-2147483647 ^ 65535
+quote -2147483647 ^ 65536
+-2147483647 ^ 65536
+quote -2147483647 ^ 4294967295
+-2147483647 ^ 4294967295
+quote -2147483647 ^ 4294967296
+-2147483647 ^ 4294967296
+quote -2147483647 ^ 18446744073709551615
+-2147483647 ^ 18446744073709551615
+quote -2147483647 ^ 18446744073709551616
+-2147483647 ^ 18446744073709551616
+quote -2147483647 ^ 340282366920938463463374607431768211455
+-2147483647 ^ 340282366920938463463374607431768211455
+quote -2147483647 ^ 340282366920938463463374607431768211456
+-2147483647 ^ 340282366920938463463374607431768211456
+quote -32768 ^ -170141183460469231731687303715884105728
+-32768 ^ -170141183460469231731687303715884105728
+quote -32768 ^ -170141183460469231731687303715884105727
+-32768 ^ -170141183460469231731687303715884105727
+quote -32768 ^ -9223372036854775808
+-32768 ^ -9223372036854775808
+quote -32768 ^ -9223372036854775807
+-32768 ^ -9223372036854775807
+quote -32768 ^ -2147483648
+-32768 ^ -2147483648
+quote -32768 ^ -2147483647
+-32768 ^ -2147483647
+quote -32768 ^ -32768
+-32768 ^ -32768
+quote -32768 ^ -32767
+-32768 ^ -32767
+quote -32768 ^ -128
+-32768 ^ -128
+quote -32768 ^ -127
+-32768 ^ -127
+quote -32768 ^ 255
+-32768 ^ 255
+quote -32768 ^ 256
+-32768 ^ 256
+quote -32768 ^ 65535
+-32768 ^ 65535
+quote -32768 ^ 65536
+-32768 ^ 65536
+quote -32768 ^ 4294967295
+-32768 ^ 4294967295
+quote -32768 ^ 4294967296
+-32768 ^ 4294967296
+quote -32768 ^ 18446744073709551615
+-32768 ^ 18446744073709551615
+quote -32768 ^ 18446744073709551616
+-32768 ^ 18446744073709551616
+quote -32768 ^ 340282366920938463463374607431768211455
+-32768 ^ 340282366920938463463374607431768211455
+quote -32768 ^ 340282366920938463463374607431768211456
+-32768 ^ 340282366920938463463374607431768211456
+quote -32767 ^ -170141183460469231731687303715884105728
+-32767 ^ -170141183460469231731687303715884105728
+quote -32767 ^ -170141183460469231731687303715884105727
+-32767 ^ -170141183460469231731687303715884105727
+quote -32767 ^ -9223372036854775808
+-32767 ^ -9223372036854775808
+quote -32767 ^ -9223372036854775807
+-32767 ^ -9223372036854775807
+quote -32767 ^ -2147483648
+-32767 ^ -2147483648
+quote -32767 ^ -2147483647
+-32767 ^ -2147483647
+quote -32767 ^ -32768
+-32767 ^ -32768
+quote -32767 ^ -32767
+-32767 ^ -32767
+quote -32767 ^ -128
+-32767 ^ -128
+quote -32767 ^ -127
+-32767 ^ -127
+quote -32767 ^ 255
+-32767 ^ 255
+quote -32767 ^ 256
+-32767 ^ 256
+quote -32767 ^ 65535
+-32767 ^ 65535
+quote -32767 ^ 65536
+-32767 ^ 65536
+quote -32767 ^ 4294967295
+-32767 ^ 4294967295
+quote -32767 ^ 4294967296
+-32767 ^ 4294967296
+quote -32767 ^ 18446744073709551615
+-32767 ^ 18446744073709551615
+quote -32767 ^ 18446744073709551616
+-32767 ^ 18446744073709551616
+quote -32767 ^ 340282366920938463463374607431768211455
+-32767 ^ 340282366920938463463374607431768211455
+quote -32767 ^ 340282366920938463463374607431768211456
+-32767 ^ 340282366920938463463374607431768211456
+quote -128 ^ -170141183460469231731687303715884105728
+-128 ^ -170141183460469231731687303715884105728
+quote -128 ^ -170141183460469231731687303715884105727
+-128 ^ -170141183460469231731687303715884105727
+quote -128 ^ -9223372036854775808
+-128 ^ -9223372036854775808
+quote -128 ^ -9223372036854775807
+-128 ^ -9223372036854775807
+quote -128 ^ -2147483648
+-128 ^ -2147483648
+quote -128 ^ -2147483647
+-128 ^ -2147483647
+quote -128 ^ -32768
+-128 ^ -32768
+quote -128 ^ -32767
+-128 ^ -32767
+quote -128 ^ -128
+-128 ^ -128
+quote -128 ^ -127
+-128 ^ -127
+quote -128 ^ 255
+-128 ^ 255
+quote -128 ^ 256
+-128 ^ 256
+quote -128 ^ 65535
+-128 ^ 65535
+quote -128 ^ 65536
+-128 ^ 65536
+quote -128 ^ 4294967295
+-128 ^ 4294967295
+quote -128 ^ 4294967296
+-128 ^ 4294967296
+quote -128 ^ 18446744073709551615
+-128 ^ 18446744073709551615
+quote -128 ^ 18446744073709551616
+-128 ^ 18446744073709551616
+quote -128 ^ 340282366920938463463374607431768211455
+-128 ^ 340282366920938463463374607431768211455
+quote -128 ^ 340282366920938463463374607431768211456
+-128 ^ 340282366920938463463374607431768211456
+quote -127 ^ -170141183460469231731687303715884105728
+-127 ^ -170141183460469231731687303715884105728
+quote -127 ^ -170141183460469231731687303715884105727
+-127 ^ -170141183460469231731687303715884105727
+quote -127 ^ -9223372036854775808
+-127 ^ -9223372036854775808
+quote -127 ^ -9223372036854775807
+-127 ^ -9223372036854775807
+quote -127 ^ -2147483648
+-127 ^ -2147483648
+quote -127 ^ -2147483647
+-127 ^ -2147483647
+quote -127 ^ -32768
+-127 ^ -32768
+quote -127 ^ -32767
+-127 ^ -32767
+quote -127 ^ -128
+-127 ^ -128
+quote -127 ^ -127
+-127 ^ -127
+quote -127 ^ 255
+-127 ^ 255
+quote -127 ^ 256
+-127 ^ 256
+quote -127 ^ 65535
+-127 ^ 65535
+quote -127 ^ 65536
+-127 ^ 65536
+quote -127 ^ 4294967295
+-127 ^ 4294967295
+quote -127 ^ 4294967296
+-127 ^ 4294967296
+quote -127 ^ 18446744073709551615
+-127 ^ 18446744073709551615
+quote -127 ^ 18446744073709551616
+-127 ^ 18446744073709551616
+quote -127 ^ 340282366920938463463374607431768211455
+-127 ^ 340282366920938463463374607431768211455
+quote -127 ^ 340282366920938463463374607431768211456
+-127 ^ 340282366920938463463374607431768211456
+quote 255 ^ -170141183460469231731687303715884105728
+255 ^ -170141183460469231731687303715884105728
+quote 255 ^ -170141183460469231731687303715884105727
+255 ^ -170141183460469231731687303715884105727
+quote 255 ^ -9223372036854775808
+255 ^ -9223372036854775808
+quote 255 ^ -9223372036854775807
+255 ^ -9223372036854775807
+quote 255 ^ -2147483648
+255 ^ -2147483648
+quote 255 ^ -2147483647
+255 ^ -2147483647
+quote 255 ^ -32768
+255 ^ -32768
+quote 255 ^ -32767
+255 ^ -32767
+quote 255 ^ -128
+255 ^ -128
+quote 255 ^ -127
+255 ^ -127
+quote 255 ^ 255
+255 ^ 255
+quote 255 ^ 256
+255 ^ 256
+quote 255 ^ 65535
+255 ^ 65535
+quote 255 ^ 65536
+255 ^ 65536
+quote 255 ^ 4294967295
+255 ^ 4294967295
+quote 255 ^ 4294967296
+255 ^ 4294967296
+quote 255 ^ 18446744073709551615
+255 ^ 18446744073709551615
+quote 255 ^ 18446744073709551616
+255 ^ 18446744073709551616
+quote 255 ^ 340282366920938463463374607431768211455
+255 ^ 340282366920938463463374607431768211455
+quote 255 ^ 340282366920938463463374607431768211456
+255 ^ 340282366920938463463374607431768211456
+quote 256 ^ -170141183460469231731687303715884105728
+256 ^ -170141183460469231731687303715884105728
+quote 256 ^ -170141183460469231731687303715884105727
+256 ^ -170141183460469231731687303715884105727
+quote 256 ^ -9223372036854775808
+256 ^ -9223372036854775808
+quote 256 ^ -9223372036854775807
+256 ^ -9223372036854775807
+quote 256 ^ -2147483648
+256 ^ -2147483648
+quote 256 ^ -2147483647
+256 ^ -2147483647
+quote 256 ^ -32768
+256 ^ -32768
+quote 256 ^ -32767
+256 ^ -32767
+quote 256 ^ -128
+256 ^ -128
+quote 256 ^ -127
+256 ^ -127
+quote 256 ^ 255
+256 ^ 255
+quote 256 ^ 256
+256 ^ 256
+quote 256 ^ 65535
+256 ^ 65535
+quote 256 ^ 65536
+256 ^ 65536
+quote 256 ^ 4294967295
+256 ^ 4294967295
+quote 256 ^ 4294967296
+256 ^ 4294967296
+quote 256 ^ 18446744073709551615
+256 ^ 18446744073709551615
+quote 256 ^ 18446744073709551616
+256 ^ 18446744073709551616
+quote 256 ^ 340282366920938463463374607431768211455
+256 ^ 340282366920938463463374607431768211455
+quote 256 ^ 340282366920938463463374607431768211456
+256 ^ 340282366920938463463374607431768211456
+quote 65535 ^ -170141183460469231731687303715884105728
+65535 ^ -170141183460469231731687303715884105728
+quote 65535 ^ -170141183460469231731687303715884105727
+65535 ^ -170141183460469231731687303715884105727
+quote 65535 ^ -9223372036854775808
+65535 ^ -9223372036854775808
+quote 65535 ^ -9223372036854775807
+65535 ^ -9223372036854775807
+quote 65535 ^ -2147483648
+65535 ^ -2147483648
+quote 65535 ^ -2147483647
+65535 ^ -2147483647
+quote 65535 ^ -32768
+65535 ^ -32768
+quote 65535 ^ -32767
+65535 ^ -32767
+quote 65535 ^ -128
+65535 ^ -128
+quote 65535 ^ -127
+65535 ^ -127
+quote 65535 ^ 255
+65535 ^ 255
+quote 65535 ^ 256
+65535 ^ 256
+quote 65535 ^ 65535
+65535 ^ 65535
+quote 65535 ^ 65536
+65535 ^ 65536
+quote 65535 ^ 4294967295
+65535 ^ 4294967295
+quote 65535 ^ 4294967296
+65535 ^ 4294967296
+quote 65535 ^ 18446744073709551615
+65535 ^ 18446744073709551615
+quote 65535 ^ 18446744073709551616
+65535 ^ 18446744073709551616
+quote 65535 ^ 340282366920938463463374607431768211455
+65535 ^ 340282366920938463463374607431768211455
+quote 65535 ^ 340282366920938463463374607431768211456
+65535 ^ 340282366920938463463374607431768211456
+quote 65536 ^ -170141183460469231731687303715884105728
+65536 ^ -170141183460469231731687303715884105728
+quote 65536 ^ -170141183460469231731687303715884105727
+65536 ^ -170141183460469231731687303715884105727
+quote 65536 ^ -9223372036854775808
+65536 ^ -9223372036854775808
+quote 65536 ^ -9223372036854775807
+65536 ^ -9223372036854775807
+quote 65536 ^ -2147483648
+65536 ^ -2147483648
+quote 65536 ^ -2147483647
+65536 ^ -2147483647
+quote 65536 ^ -32768
+65536 ^ -32768
+quote 65536 ^ -32767
+65536 ^ -32767
+quote 65536 ^ -128
+65536 ^ -128
+quote 65536 ^ -127
+65536 ^ -127
+quote 65536 ^ 255
+65536 ^ 255
+quote 65536 ^ 256
+65536 ^ 256
+quote 65536 ^ 65535
+65536 ^ 65535
+quote 65536 ^ 65536
+65536 ^ 65536
+quote 65536 ^ 4294967295
+65536 ^ 4294967295
+quote 65536 ^ 4294967296
+65536 ^ 4294967296
+quote 65536 ^ 18446744073709551615
+65536 ^ 18446744073709551615
+quote 65536 ^ 18446744073709551616
+65536 ^ 18446744073709551616
+quote 65536 ^ 340282366920938463463374607431768211455
+65536 ^ 340282366920938463463374607431768211455
+quote 65536 ^ 340282366920938463463374607431768211456
+65536 ^ 340282366920938463463374607431768211456
+quote 4294967295 ^ -170141183460469231731687303715884105728
+4294967295 ^ -170141183460469231731687303715884105728
+quote 4294967295 ^ -170141183460469231731687303715884105727
+4294967295 ^ -170141183460469231731687303715884105727
+quote 4294967295 ^ -9223372036854775808
+4294967295 ^ -9223372036854775808
+quote 4294967295 ^ -9223372036854775807
+4294967295 ^ -9223372036854775807
+quote 4294967295 ^ -2147483648
+4294967295 ^ -2147483648
+quote 4294967295 ^ -2147483647
+4294967295 ^ -2147483647
+quote 4294967295 ^ -32768
+4294967295 ^ -32768
+quote 4294967295 ^ -32767
+4294967295 ^ -32767
+quote 4294967295 ^ -128
+4294967295 ^ -128
+quote 4294967295 ^ -127
+4294967295 ^ -127
+quote 4294967295 ^ 255
+4294967295 ^ 255
+quote 4294967295 ^ 256
+4294967295 ^ 256
+quote 4294967295 ^ 65535
+4294967295 ^ 65535
+quote 4294967295 ^ 65536
+4294967295 ^ 65536
+quote 4294967295 ^ 4294967295
+4294967295 ^ 4294967295
+quote 4294967295 ^ 4294967296
+4294967295 ^ 4294967296
+quote 4294967295 ^ 18446744073709551615
+4294967295 ^ 18446744073709551615
+quote 4294967295 ^ 18446744073709551616
+4294967295 ^ 18446744073709551616
+quote 4294967295 ^ 340282366920938463463374607431768211455
+4294967295 ^ 340282366920938463463374607431768211455
+quote 4294967295 ^ 340282366920938463463374607431768211456
+4294967295 ^ 340282366920938463463374607431768211456
+quote 4294967296 ^ -170141183460469231731687303715884105728
+4294967296 ^ -170141183460469231731687303715884105728
+quote 4294967296 ^ -170141183460469231731687303715884105727
+4294967296 ^ -170141183460469231731687303715884105727
+quote 4294967296 ^ -9223372036854775808
+4294967296 ^ -9223372036854775808
+quote 4294967296 ^ -9223372036854775807
+4294967296 ^ -9223372036854775807
+quote 4294967296 ^ -2147483648
+4294967296 ^ -2147483648
+quote 4294967296 ^ -2147483647
+4294967296 ^ -2147483647
+quote 4294967296 ^ -32768
+4294967296 ^ -32768
+quote 4294967296 ^ -32767
+4294967296 ^ -32767
+quote 4294967296 ^ -128
+4294967296 ^ -128
+quote 4294967296 ^ -127
+4294967296 ^ -127
+quote 4294967296 ^ 255
+4294967296 ^ 255
+quote 4294967296 ^ 256
+4294967296 ^ 256
+quote 4294967296 ^ 65535
+4294967296 ^ 65535
+quote 4294967296 ^ 65536
+4294967296 ^ 65536
+quote 4294967296 ^ 4294967295
+4294967296 ^ 4294967295
+quote 4294967296 ^ 4294967296
+4294967296 ^ 4294967296
+quote 4294967296 ^ 18446744073709551615
+4294967296 ^ 18446744073709551615
+quote 4294967296 ^ 18446744073709551616
+4294967296 ^ 18446744073709551616
+quote 4294967296 ^ 340282366920938463463374607431768211455
+4294967296 ^ 340282366920938463463374607431768211455
+quote 4294967296 ^ 340282366920938463463374607431768211456
+4294967296 ^ 340282366920938463463374607431768211456
+quote 18446744073709551615 ^ -170141183460469231731687303715884105728
+18446744073709551615 ^ -170141183460469231731687303715884105728
+quote 18446744073709551615 ^ -170141183460469231731687303715884105727
+18446744073709551615 ^ -170141183460469231731687303715884105727
+quote 18446744073709551615 ^ -9223372036854775808
+18446744073709551615 ^ -9223372036854775808
+quote 18446744073709551615 ^ -9223372036854775807
+18446744073709551615 ^ -9223372036854775807
+quote 18446744073709551615 ^ -2147483648
+18446744073709551615 ^ -2147483648
+quote 18446744073709551615 ^ -2147483647
+18446744073709551615 ^ -2147483647
+quote 18446744073709551615 ^ -32768
+18446744073709551615 ^ -32768
+quote 18446744073709551615 ^ -32767
+18446744073709551615 ^ -32767
+quote 18446744073709551615 ^ -128
+18446744073709551615 ^ -128
+quote 18446744073709551615 ^ -127
+18446744073709551615 ^ -127
+quote 18446744073709551615 ^ 255
+18446744073709551615 ^ 255
+quote 18446744073709551615 ^ 256
+18446744073709551615 ^ 256
+quote 18446744073709551615 ^ 65535
+18446744073709551615 ^ 65535
+quote 18446744073709551615 ^ 65536
+18446744073709551615 ^ 65536
+quote 18446744073709551615 ^ 4294967295
+18446744073709551615 ^ 4294967295
+quote 18446744073709551615 ^ 4294967296
+18446744073709551615 ^ 4294967296
+quote 18446744073709551615 ^ 18446744073709551615
+18446744073709551615 ^ 18446744073709551615
+quote 18446744073709551615 ^ 18446744073709551616
+18446744073709551615 ^ 18446744073709551616
+quote 18446744073709551615 ^ 340282366920938463463374607431768211455
+18446744073709551615 ^ 340282366920938463463374607431768211455
+quote 18446744073709551615 ^ 340282366920938463463374607431768211456
+18446744073709551615 ^ 340282366920938463463374607431768211456
+quote 18446744073709551616 ^ -170141183460469231731687303715884105728
+18446744073709551616 ^ -170141183460469231731687303715884105728
+quote 18446744073709551616 ^ -170141183460469231731687303715884105727
+18446744073709551616 ^ -170141183460469231731687303715884105727
+quote 18446744073709551616 ^ -9223372036854775808
+18446744073709551616 ^ -9223372036854775808
+quote 18446744073709551616 ^ -9223372036854775807
+18446744073709551616 ^ -9223372036854775807
+quote 18446744073709551616 ^ -2147483648
+18446744073709551616 ^ -2147483648
+quote 18446744073709551616 ^ -2147483647
+18446744073709551616 ^ -2147483647
+quote 18446744073709551616 ^ -32768
+18446744073709551616 ^ -32768
+quote 18446744073709551616 ^ -32767
+18446744073709551616 ^ -32767
+quote 18446744073709551616 ^ -128
+18446744073709551616 ^ -128
+quote 18446744073709551616 ^ -127
+18446744073709551616 ^ -127
+quote 18446744073709551616 ^ 255
+18446744073709551616 ^ 255
+quote 18446744073709551616 ^ 256
+18446744073709551616 ^ 256
+quote 18446744073709551616 ^ 65535
+18446744073709551616 ^ 65535
+quote 18446744073709551616 ^ 65536
+18446744073709551616 ^ 65536
+quote 18446744073709551616 ^ 4294967295
+18446744073709551616 ^ 4294967295
+quote 18446744073709551616 ^ 4294967296
+18446744073709551616 ^ 4294967296
+quote 18446744073709551616 ^ 18446744073709551615
+18446744073709551616 ^ 18446744073709551615
+quote 18446744073709551616 ^ 18446744073709551616
+18446744073709551616 ^ 18446744073709551616
+quote 18446744073709551616 ^ 340282366920938463463374607431768211455
+18446744073709551616 ^ 340282366920938463463374607431768211455
+quote 18446744073709551616 ^ 340282366920938463463374607431768211456
+18446744073709551616 ^ 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211455 ^ -170141183460469231731687303715884105728
+340282366920938463463374607431768211455 ^ -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211455 ^ -170141183460469231731687303715884105727
+340282366920938463463374607431768211455 ^ -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211455 ^ -9223372036854775808
+340282366920938463463374607431768211455 ^ -9223372036854775808
+quote 340282366920938463463374607431768211455 ^ -9223372036854775807
+340282366920938463463374607431768211455 ^ -9223372036854775807
+quote 340282366920938463463374607431768211455 ^ -2147483648
+340282366920938463463374607431768211455 ^ -2147483648
+quote 340282366920938463463374607431768211455 ^ -2147483647
+340282366920938463463374607431768211455 ^ -2147483647
+quote 340282366920938463463374607431768211455 ^ -32768
+340282366920938463463374607431768211455 ^ -32768
+quote 340282366920938463463374607431768211455 ^ -32767
+340282366920938463463374607431768211455 ^ -32767
+quote 340282366920938463463374607431768211455 ^ -128
+340282366920938463463374607431768211455 ^ -128
+quote 340282366920938463463374607431768211455 ^ -127
+340282366920938463463374607431768211455 ^ -127
+quote 340282366920938463463374607431768211455 ^ 255
+340282366920938463463374607431768211455 ^ 255
+quote 340282366920938463463374607431768211455 ^ 256
+340282366920938463463374607431768211455 ^ 256
+quote 340282366920938463463374607431768211455 ^ 65535
+340282366920938463463374607431768211455 ^ 65535
+quote 340282366920938463463374607431768211455 ^ 65536
+340282366920938463463374607431768211455 ^ 65536
+quote 340282366920938463463374607431768211455 ^ 4294967295
+340282366920938463463374607431768211455 ^ 4294967295
+quote 340282366920938463463374607431768211455 ^ 4294967296
+340282366920938463463374607431768211455 ^ 4294967296
+quote 340282366920938463463374607431768211455 ^ 18446744073709551615
+340282366920938463463374607431768211455 ^ 18446744073709551615
+quote 340282366920938463463374607431768211455 ^ 18446744073709551616
+340282366920938463463374607431768211455 ^ 18446744073709551616
+quote 340282366920938463463374607431768211455 ^ 340282366920938463463374607431768211455
+340282366920938463463374607431768211455 ^ 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211455 ^ 340282366920938463463374607431768211456
+340282366920938463463374607431768211455 ^ 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211456 ^ -170141183460469231731687303715884105728
+340282366920938463463374607431768211456 ^ -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211456 ^ -170141183460469231731687303715884105727
+340282366920938463463374607431768211456 ^ -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211456 ^ -9223372036854775808
+340282366920938463463374607431768211456 ^ -9223372036854775808
+quote 340282366920938463463374607431768211456 ^ -9223372036854775807
+340282366920938463463374607431768211456 ^ -9223372036854775807
+quote 340282366920938463463374607431768211456 ^ -2147483648
+340282366920938463463374607431768211456 ^ -2147483648
+quote 340282366920938463463374607431768211456 ^ -2147483647
+340282366920938463463374607431768211456 ^ -2147483647
+quote 340282366920938463463374607431768211456 ^ -32768
+340282366920938463463374607431768211456 ^ -32768
+quote 340282366920938463463374607431768211456 ^ -32767
+340282366920938463463374607431768211456 ^ -32767
+quote 340282366920938463463374607431768211456 ^ -128
+340282366920938463463374607431768211456 ^ -128
+quote 340282366920938463463374607431768211456 ^ -127
+340282366920938463463374607431768211456 ^ -127
+quote 340282366920938463463374607431768211456 ^ 255
+340282366920938463463374607431768211456 ^ 255
+quote 340282366920938463463374607431768211456 ^ 256
+340282366920938463463374607431768211456 ^ 256
+quote 340282366920938463463374607431768211456 ^ 65535
+340282366920938463463374607431768211456 ^ 65535
+quote 340282366920938463463374607431768211456 ^ 65536
+340282366920938463463374607431768211456 ^ 65536
+quote 340282366920938463463374607431768211456 ^ 4294967295
+340282366920938463463374607431768211456 ^ 4294967295
+quote 340282366920938463463374607431768211456 ^ 4294967296
+340282366920938463463374607431768211456 ^ 4294967296
+quote 340282366920938463463374607431768211456 ^ 18446744073709551615
+340282366920938463463374607431768211456 ^ 18446744073709551615
+quote 340282366920938463463374607431768211456 ^ 18446744073709551616
+340282366920938463463374607431768211456 ^ 18446744073709551616
+quote 340282366920938463463374607431768211456 ^ 340282366920938463463374607431768211455
+340282366920938463463374607431768211456 ^ 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211456 ^ 340282366920938463463374607431768211456
+340282366920938463463374607431768211456 ^ 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_bxor_2.out.expected b/test/ic3/integer_bxor_2.out.expected
new file mode 100644
index 0000000..835766b
--- /dev/null
+++ b/test/ic3/integer_bxor_2.out.expected
@@ -0,0 +1,800 @@
+-170141183460469231731687303715884105728 ^ -170141183460469231731687303715884105728
+0
+-170141183460469231731687303715884105728 ^ -170141183460469231731687303715884105727
+1
+-170141183460469231731687303715884105728 ^ -9223372036854775808
+170141183460469231722463931679029329920
+-170141183460469231731687303715884105728 ^ -9223372036854775807
+170141183460469231722463931679029329921
+-170141183460469231731687303715884105728 ^ -2147483648
+170141183460469231731687303713736622080
+-170141183460469231731687303715884105728 ^ -2147483647
+170141183460469231731687303713736622081
+-170141183460469231731687303715884105728 ^ -32768
+170141183460469231731687303715884072960
+-170141183460469231731687303715884105728 ^ -32767
+170141183460469231731687303715884072961
+-170141183460469231731687303715884105728 ^ -128
+170141183460469231731687303715884105600
+-170141183460469231731687303715884105728 ^ -127
+170141183460469231731687303715884105601
+-170141183460469231731687303715884105728 ^ 255
+-170141183460469231731687303715884105473
+-170141183460469231731687303715884105728 ^ 256
+-170141183460469231731687303715884105472
+-170141183460469231731687303715884105728 ^ 65535
+-170141183460469231731687303715884040193
+-170141183460469231731687303715884105728 ^ 65536
+-170141183460469231731687303715884040192
+-170141183460469231731687303715884105728 ^ 4294967295
+-170141183460469231731687303711589138433
+-170141183460469231731687303715884105728 ^ 4294967296
+-170141183460469231731687303711589138432
+-170141183460469231731687303715884105728 ^ 18446744073709551615
+-170141183460469231713240559642174554113
+-170141183460469231731687303715884105728 ^ 18446744073709551616
+-170141183460469231713240559642174554112
+-170141183460469231731687303715884105728 ^ 340282366920938463463374607431768211455
+-170141183460469231731687303715884105729
+-170141183460469231731687303715884105728 ^ 340282366920938463463374607431768211456
+-510423550381407695195061911147652317184
+-170141183460469231731687303715884105727 ^ -170141183460469231731687303715884105728
+1
+-170141183460469231731687303715884105727 ^ -170141183460469231731687303715884105727
+0
+-170141183460469231731687303715884105727 ^ -9223372036854775808
+170141183460469231722463931679029329921
+-170141183460469231731687303715884105727 ^ -9223372036854775807
+170141183460469231722463931679029329920
+-170141183460469231731687303715884105727 ^ -2147483648
+170141183460469231731687303713736622081
+-170141183460469231731687303715884105727 ^ -2147483647
+170141183460469231731687303713736622080
+-170141183460469231731687303715884105727 ^ -32768
+170141183460469231731687303715884072961
+-170141183460469231731687303715884105727 ^ -32767
+170141183460469231731687303715884072960
+-170141183460469231731687303715884105727 ^ -128
+170141183460469231731687303715884105601
+-170141183460469231731687303715884105727 ^ -127
+170141183460469231731687303715884105600
+-170141183460469231731687303715884105727 ^ 255
+-170141183460469231731687303715884105474
+-170141183460469231731687303715884105727 ^ 256
+-170141183460469231731687303715884105471
+-170141183460469231731687303715884105727 ^ 65535
+-170141183460469231731687303715884040194
+-170141183460469231731687303715884105727 ^ 65536
+-170141183460469231731687303715884040191
+-170141183460469231731687303715884105727 ^ 4294967295
+-170141183460469231731687303711589138434
+-170141183460469231731687303715884105727 ^ 4294967296
+-170141183460469231731687303711589138431
+-170141183460469231731687303715884105727 ^ 18446744073709551615
+-170141183460469231713240559642174554114
+-170141183460469231731687303715884105727 ^ 18446744073709551616
+-170141183460469231713240559642174554111
+-170141183460469231731687303715884105727 ^ 340282366920938463463374607431768211455
+-170141183460469231731687303715884105730
+-170141183460469231731687303715884105727 ^ 340282366920938463463374607431768211456
+-510423550381407695195061911147652317183
+-9223372036854775808 ^ -170141183460469231731687303715884105728
+170141183460469231722463931679029329920
+-9223372036854775808 ^ -170141183460469231731687303715884105727
+170141183460469231722463931679029329921
+-9223372036854775808 ^ -9223372036854775808
+0
+-9223372036854775808 ^ -9223372036854775807
+1
+-9223372036854775808 ^ -2147483648
+9223372034707292160
+-9223372036854775808 ^ -2147483647
+9223372034707292161
+-9223372036854775808 ^ -32768
+9223372036854743040
+-9223372036854775808 ^ -32767
+9223372036854743041
+-9223372036854775808 ^ -128
+9223372036854775680
+-9223372036854775808 ^ -127
+9223372036854775681
+-9223372036854775808 ^ 255
+-9223372036854775553
+-9223372036854775808 ^ 256
+-9223372036854775552
+-9223372036854775808 ^ 65535
+-9223372036854710273
+-9223372036854775808 ^ 65536
+-9223372036854710272
+-9223372036854775808 ^ 4294967295
+-9223372032559808513
+-9223372036854775808 ^ 4294967296
+-9223372032559808512
+-9223372036854775808 ^ 18446744073709551615
+-9223372036854775809
+-9223372036854775808 ^ 18446744073709551616
+-27670116110564327424
+-9223372036854775808 ^ 340282366920938463463374607431768211455
+-340282366920938463454151235394913435649
+-9223372036854775808 ^ 340282366920938463463374607431768211456
+-340282366920938463472597979468622987264
+-9223372036854775807 ^ -170141183460469231731687303715884105728
+170141183460469231722463931679029329921
+-9223372036854775807 ^ -170141183460469231731687303715884105727
+170141183460469231722463931679029329920
+-9223372036854775807 ^ -9223372036854775808
+1
+-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
+-9223372036854775807 ^ 18446744073709551615
+-9223372036854775810
+-9223372036854775807 ^ 18446744073709551616
+-27670116110564327423
+-9223372036854775807 ^ 340282366920938463463374607431768211455
+-340282366920938463454151235394913435650
+-9223372036854775807 ^ 340282366920938463463374607431768211456
+-340282366920938463472597979468622987263
+-2147483648 ^ -170141183460469231731687303715884105728
+170141183460469231731687303713736622080
+-2147483648 ^ -170141183460469231731687303715884105727
+170141183460469231731687303713736622081
+-2147483648 ^ -9223372036854775808
+9223372034707292160
+-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
+-2147483648 ^ 18446744073709551615
+-18446744071562067969
+-2147483648 ^ 18446744073709551616
+-18446744075857035264
+-2147483648 ^ 340282366920938463463374607431768211455
+-340282366920938463463374607429620727809
+-2147483648 ^ 340282366920938463463374607431768211456
+-340282366920938463463374607433915695104
+-2147483647 ^ -170141183460469231731687303715884105728
+170141183460469231731687303713736622081
+-2147483647 ^ -170141183460469231731687303715884105727
+170141183460469231731687303713736622080
+-2147483647 ^ -9223372036854775808
+9223372034707292161
+-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
+-2147483647 ^ 18446744073709551615
+-18446744071562067970
+-2147483647 ^ 18446744073709551616
+-18446744075857035263
+-2147483647 ^ 340282366920938463463374607431768211455
+-340282366920938463463374607429620727810
+-2147483647 ^ 340282366920938463463374607431768211456
+-340282366920938463463374607433915695103
+-32768 ^ -170141183460469231731687303715884105728
+170141183460469231731687303715884072960
+-32768 ^ -170141183460469231731687303715884105727
+170141183460469231731687303715884072961
+-32768 ^ -9223372036854775808
+9223372036854743040
+-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
+-32768 ^ 18446744073709551615
+-18446744073709518849
+-32768 ^ 18446744073709551616
+-18446744073709584384
+-32768 ^ 340282366920938463463374607431768211455
+-340282366920938463463374607431768178689
+-32768 ^ 340282366920938463463374607431768211456
+-340282366920938463463374607431768244224
+-32767 ^ -170141183460469231731687303715884105728
+170141183460469231731687303715884072961
+-32767 ^ -170141183460469231731687303715884105727
+170141183460469231731687303715884072960
+-32767 ^ -9223372036854775808
+9223372036854743041
+-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
+-32767 ^ 18446744073709551615
+-18446744073709518850
+-32767 ^ 18446744073709551616
+-18446744073709584383
+-32767 ^ 340282366920938463463374607431768211455
+-340282366920938463463374607431768178690
+-32767 ^ 340282366920938463463374607431768211456
+-340282366920938463463374607431768244223
+-128 ^ -170141183460469231731687303715884105728
+170141183460469231731687303715884105600
+-128 ^ -170141183460469231731687303715884105727
+170141183460469231731687303715884105601
+-128 ^ -9223372036854775808
+9223372036854775680
+-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
+-128 ^ 18446744073709551615
+-18446744073709551489
+-128 ^ 18446744073709551616
+-18446744073709551744
+-128 ^ 340282366920938463463374607431768211455
+-340282366920938463463374607431768211329
+-128 ^ 340282366920938463463374607431768211456
+-340282366920938463463374607431768211584
+-127 ^ -170141183460469231731687303715884105728
+170141183460469231731687303715884105601
+-127 ^ -170141183460469231731687303715884105727
+170141183460469231731687303715884105600
+-127 ^ -9223372036854775808
+9223372036854775681
+-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
+-127 ^ 18446744073709551615
+-18446744073709551490
+-127 ^ 18446744073709551616
+-18446744073709551743
+-127 ^ 340282366920938463463374607431768211455
+-340282366920938463463374607431768211330
+-127 ^ 340282366920938463463374607431768211456
+-340282366920938463463374607431768211583
+255 ^ -170141183460469231731687303715884105728
+-170141183460469231731687303715884105473
+255 ^ -170141183460469231731687303715884105727
+-170141183460469231731687303715884105474
+255 ^ -9223372036854775808
+-9223372036854775553
+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
+255 ^ 340282366920938463463374607431768211455
+340282366920938463463374607431768211200
+255 ^ 340282366920938463463374607431768211456
+340282366920938463463374607431768211711
+256 ^ -170141183460469231731687303715884105728
+-170141183460469231731687303715884105472
+256 ^ -170141183460469231731687303715884105727
+-170141183460469231731687303715884105471
+256 ^ -9223372036854775808
+-9223372036854775552
+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
+256 ^ 340282366920938463463374607431768211455
+340282366920938463463374607431768211199
+256 ^ 340282366920938463463374607431768211456
+340282366920938463463374607431768211712
+65535 ^ -170141183460469231731687303715884105728
+-170141183460469231731687303715884040193
+65535 ^ -170141183460469231731687303715884105727
+-170141183460469231731687303715884040194
+65535 ^ -9223372036854775808
+-9223372036854710273
+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
+65535 ^ 340282366920938463463374607431768211455
+340282366920938463463374607431768145920
+65535 ^ 340282366920938463463374607431768211456
+340282366920938463463374607431768276991
+65536 ^ -170141183460469231731687303715884105728
+-170141183460469231731687303715884040192
+65536 ^ -170141183460469231731687303715884105727
+-170141183460469231731687303715884040191
+65536 ^ -9223372036854775808
+-9223372036854710272
+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
+65536 ^ 340282366920938463463374607431768211455
+340282366920938463463374607431768145919
+65536 ^ 340282366920938463463374607431768211456
+340282366920938463463374607431768276992
+4294967295 ^ -170141183460469231731687303715884105728
+-170141183460469231731687303711589138433
+4294967295 ^ -170141183460469231731687303715884105727
+-170141183460469231731687303711589138434
+4294967295 ^ -9223372036854775808
+-9223372032559808513
+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
+4294967295 ^ 340282366920938463463374607431768211455
+340282366920938463463374607427473244160
+4294967295 ^ 340282366920938463463374607431768211456
+340282366920938463463374607436063178751
+4294967296 ^ -170141183460469231731687303715884105728
+-170141183460469231731687303711589138432
+4294967296 ^ -170141183460469231731687303715884105727
+-170141183460469231731687303711589138431
+4294967296 ^ -9223372036854775808
+-9223372032559808512
+4294967296 ^ -9223372036854775807
+-9223372032559808511
+4294967296 ^ -2147483648
+-6442450944
+4294967296 ^ -2147483647
+-6442450943
+4294967296 ^ -32768
+-4295000064
+4294967296 ^ -32767
+-4295000063
+4294967296 ^ -128
+-4294967424
+4294967296 ^ -127
+-4294967423
+4294967296 ^ 255
+4294967551
+4294967296 ^ 256
+4294967552
+4294967296 ^ 65535
+4295032831
+4294967296 ^ 65536
+4295032832
+4294967296 ^ 4294967295
+8589934591
+4294967296 ^ 4294967296
+0
+4294967296 ^ 18446744073709551615
+18446744069414584319
+4294967296 ^ 18446744073709551616
+18446744078004518912
+4294967296 ^ 340282366920938463463374607431768211455
+340282366920938463463374607427473244159
+4294967296 ^ 340282366920938463463374607431768211456
+340282366920938463463374607436063178752
+18446744073709551615 ^ -170141183460469231731687303715884105728
+-170141183460469231713240559642174554113
+18446744073709551615 ^ -170141183460469231731687303715884105727
+-170141183460469231713240559642174554114
+18446744073709551615 ^ -9223372036854775808
+-9223372036854775809
+18446744073709551615 ^ -9223372036854775807
+-9223372036854775810
+18446744073709551615 ^ -2147483648
+-18446744071562067969
+18446744073709551615 ^ -2147483647
+-18446744071562067970
+18446744073709551615 ^ -32768
+-18446744073709518849
+18446744073709551615 ^ -32767
+-18446744073709518850
+18446744073709551615 ^ -128
+-18446744073709551489
+18446744073709551615 ^ -127
+-18446744073709551490
+18446744073709551615 ^ 255
+18446744073709551360
+18446744073709551615 ^ 256
+18446744073709551359
+18446744073709551615 ^ 65535
+18446744073709486080
+18446744073709551615 ^ 65536
+18446744073709486079
+18446744073709551615 ^ 4294967295
+18446744069414584320
+18446744073709551615 ^ 4294967296
+18446744069414584319
+18446744073709551615 ^ 18446744073709551615
+0
+18446744073709551615 ^ 18446744073709551616
+36893488147419103231
+18446744073709551615 ^ 340282366920938463463374607431768211455
+340282366920938463444927863358058659840
+18446744073709551615 ^ 340282366920938463463374607431768211456
+340282366920938463481821351505477763071
+18446744073709551616 ^ -170141183460469231731687303715884105728
+-170141183460469231713240559642174554112
+18446744073709551616 ^ -170141183460469231731687303715884105727
+-170141183460469231713240559642174554111
+18446744073709551616 ^ -9223372036854775808
+-27670116110564327424
+18446744073709551616 ^ -9223372036854775807
+-27670116110564327423
+18446744073709551616 ^ -2147483648
+-18446744075857035264
+18446744073709551616 ^ -2147483647
+-18446744075857035263
+18446744073709551616 ^ -32768
+-18446744073709584384
+18446744073709551616 ^ -32767
+-18446744073709584383
+18446744073709551616 ^ -128
+-18446744073709551744
+18446744073709551616 ^ -127
+-18446744073709551743
+18446744073709551616 ^ 255
+18446744073709551871
+18446744073709551616 ^ 256
+18446744073709551872
+18446744073709551616 ^ 65535
+18446744073709617151
+18446744073709551616 ^ 65536
+18446744073709617152
+18446744073709551616 ^ 4294967295
+18446744078004518911
+18446744073709551616 ^ 4294967296
+18446744078004518912
+18446744073709551616 ^ 18446744073709551615
+36893488147419103231
+18446744073709551616 ^ 18446744073709551616
+0
+18446744073709551616 ^ 340282366920938463463374607431768211455
+340282366920938463444927863358058659839
+18446744073709551616 ^ 340282366920938463463374607431768211456
+340282366920938463481821351505477763072
+340282366920938463463374607431768211455 ^ -170141183460469231731687303715884105728
+-170141183460469231731687303715884105729
+340282366920938463463374607431768211455 ^ -170141183460469231731687303715884105727
+-170141183460469231731687303715884105730
+340282366920938463463374607431768211455 ^ -9223372036854775808
+-340282366920938463454151235394913435649
+340282366920938463463374607431768211455 ^ -9223372036854775807
+-340282366920938463454151235394913435650
+340282366920938463463374607431768211455 ^ -2147483648
+-340282366920938463463374607429620727809
+340282366920938463463374607431768211455 ^ -2147483647
+-340282366920938463463374607429620727810
+340282366920938463463374607431768211455 ^ -32768
+-340282366920938463463374607431768178689
+340282366920938463463374607431768211455 ^ -32767
+-340282366920938463463374607431768178690
+340282366920938463463374607431768211455 ^ -128
+-340282366920938463463374607431768211329
+340282366920938463463374607431768211455 ^ -127
+-340282366920938463463374607431768211330
+340282366920938463463374607431768211455 ^ 255
+340282366920938463463374607431768211200
+340282366920938463463374607431768211455 ^ 256
+340282366920938463463374607431768211199
+340282366920938463463374607431768211455 ^ 65535
+340282366920938463463374607431768145920
+340282366920938463463374607431768211455 ^ 65536
+340282366920938463463374607431768145919
+340282366920938463463374607431768211455 ^ 4294967295
+340282366920938463463374607427473244160
+340282366920938463463374607431768211455 ^ 4294967296
+340282366920938463463374607427473244159
+340282366920938463463374607431768211455 ^ 18446744073709551615
+340282366920938463444927863358058659840
+340282366920938463463374607431768211455 ^ 18446744073709551616
+340282366920938463444927863358058659839
+340282366920938463463374607431768211455 ^ 340282366920938463463374607431768211455
+0
+340282366920938463463374607431768211455 ^ 340282366920938463463374607431768211456
+680564733841876926926749214863536422911
+340282366920938463463374607431768211456 ^ -170141183460469231731687303715884105728
+-510423550381407695195061911147652317184
+340282366920938463463374607431768211456 ^ -170141183460469231731687303715884105727
+-510423550381407695195061911147652317183
+340282366920938463463374607431768211456 ^ -9223372036854775808
+-340282366920938463472597979468622987264
+340282366920938463463374607431768211456 ^ -9223372036854775807
+-340282366920938463472597979468622987263
+340282366920938463463374607431768211456 ^ -2147483648
+-340282366920938463463374607433915695104
+340282366920938463463374607431768211456 ^ -2147483647
+-340282366920938463463374607433915695103
+340282366920938463463374607431768211456 ^ -32768
+-340282366920938463463374607431768244224
+340282366920938463463374607431768211456 ^ -32767
+-340282366920938463463374607431768244223
+340282366920938463463374607431768211456 ^ -128
+-340282366920938463463374607431768211584
+340282366920938463463374607431768211456 ^ -127
+-340282366920938463463374607431768211583
+340282366920938463463374607431768211456 ^ 255
+340282366920938463463374607431768211711
+340282366920938463463374607431768211456 ^ 256
+340282366920938463463374607431768211712
+340282366920938463463374607431768211456 ^ 65535
+340282366920938463463374607431768276991
+340282366920938463463374607431768211456 ^ 65536
+340282366920938463463374607431768276992
+340282366920938463463374607431768211456 ^ 4294967295
+340282366920938463463374607436063178751
+340282366920938463463374607431768211456 ^ 4294967296
+340282366920938463463374607436063178752
+340282366920938463463374607431768211456 ^ 18446744073709551615
+340282366920938463481821351505477763071
+340282366920938463463374607431768211456 ^ 18446744073709551616
+340282366920938463481821351505477763072
+340282366920938463463374607431768211456 ^ 340282366920938463463374607431768211455
+680564733841876926926749214863536422911
+340282366920938463463374607431768211456 ^ 340282366920938463463374607431768211456
+0
diff --git a/test/ic3/integer_bxor_2.ret.expected b/test/ic3/integer_bxor_2.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_bxor_2.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_div.in b/test/ic3/integer_div.in
deleted file mode 100644
index 9bf4f54..0000000
--- a/test/ic3/integer_div.in
+++ /dev/null
@@ -1,800 +0,0 @@
-quote -170141183460469231731687303715884105728 / -170141183460469231731687303715884105728
--170141183460469231731687303715884105728 / -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105728 / -170141183460469231731687303715884105727
--170141183460469231731687303715884105728 / -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105728 / -9223372036854775808
--170141183460469231731687303715884105728 / -9223372036854775808
-quote -170141183460469231731687303715884105728 / -9223372036854775807
--170141183460469231731687303715884105728 / -9223372036854775807
-quote -170141183460469231731687303715884105728 / -2147483648
--170141183460469231731687303715884105728 / -2147483648
-quote -170141183460469231731687303715884105728 / -2147483647
--170141183460469231731687303715884105728 / -2147483647
-quote -170141183460469231731687303715884105728 / -32768
--170141183460469231731687303715884105728 / -32768
-quote -170141183460469231731687303715884105728 / -32767
--170141183460469231731687303715884105728 / -32767
-quote -170141183460469231731687303715884105728 / -128
--170141183460469231731687303715884105728 / -128
-quote -170141183460469231731687303715884105728 / -127
--170141183460469231731687303715884105728 / -127
-quote -170141183460469231731687303715884105728 / 255
--170141183460469231731687303715884105728 / 255
-quote -170141183460469231731687303715884105728 / 256
--170141183460469231731687303715884105728 / 256
-quote -170141183460469231731687303715884105728 / 65535
--170141183460469231731687303715884105728 / 65535
-quote -170141183460469231731687303715884105728 / 65536
--170141183460469231731687303715884105728 / 65536
-quote -170141183460469231731687303715884105728 / 4294967295
--170141183460469231731687303715884105728 / 4294967295
-quote -170141183460469231731687303715884105728 / 4294967296
--170141183460469231731687303715884105728 / 4294967296
-quote -170141183460469231731687303715884105728 / 18446744073709551615
--170141183460469231731687303715884105728 / 18446744073709551615
-quote -170141183460469231731687303715884105728 / 18446744073709551616
--170141183460469231731687303715884105728 / 18446744073709551616
-quote -170141183460469231731687303715884105728 / 340282366920938463463374607431768211455
--170141183460469231731687303715884105728 / 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105728 / 340282366920938463463374607431768211456
--170141183460469231731687303715884105728 / 340282366920938463463374607431768211456
-quote -170141183460469231731687303715884105727 / -170141183460469231731687303715884105728
--170141183460469231731687303715884105727 / -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105727 / -170141183460469231731687303715884105727
--170141183460469231731687303715884105727 / -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105727 / -9223372036854775808
--170141183460469231731687303715884105727 / -9223372036854775808
-quote -170141183460469231731687303715884105727 / -9223372036854775807
--170141183460469231731687303715884105727 / -9223372036854775807
-quote -170141183460469231731687303715884105727 / -2147483648
--170141183460469231731687303715884105727 / -2147483648
-quote -170141183460469231731687303715884105727 / -2147483647
--170141183460469231731687303715884105727 / -2147483647
-quote -170141183460469231731687303715884105727 / -32768
--170141183460469231731687303715884105727 / -32768
-quote -170141183460469231731687303715884105727 / -32767
--170141183460469231731687303715884105727 / -32767
-quote -170141183460469231731687303715884105727 / -128
--170141183460469231731687303715884105727 / -128
-quote -170141183460469231731687303715884105727 / -127
--170141183460469231731687303715884105727 / -127
-quote -170141183460469231731687303715884105727 / 255
--170141183460469231731687303715884105727 / 255
-quote -170141183460469231731687303715884105727 / 256
--170141183460469231731687303715884105727 / 256
-quote -170141183460469231731687303715884105727 / 65535
--170141183460469231731687303715884105727 / 65535
-quote -170141183460469231731687303715884105727 / 65536
--170141183460469231731687303715884105727 / 65536
-quote -170141183460469231731687303715884105727 / 4294967295
--170141183460469231731687303715884105727 / 4294967295
-quote -170141183460469231731687303715884105727 / 4294967296
--170141183460469231731687303715884105727 / 4294967296
-quote -170141183460469231731687303715884105727 / 18446744073709551615
--170141183460469231731687303715884105727 / 18446744073709551615
-quote -170141183460469231731687303715884105727 / 18446744073709551616
--170141183460469231731687303715884105727 / 18446744073709551616
-quote -170141183460469231731687303715884105727 / 340282366920938463463374607431768211455
--170141183460469231731687303715884105727 / 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105727 / 340282366920938463463374607431768211456
--170141183460469231731687303715884105727 / 340282366920938463463374607431768211456
-quote -9223372036854775808 / -170141183460469231731687303715884105728
--9223372036854775808 / -170141183460469231731687303715884105728
-quote -9223372036854775808 / -170141183460469231731687303715884105727
--9223372036854775808 / -170141183460469231731687303715884105727
-quote -9223372036854775808 / -9223372036854775808
--9223372036854775808 / -9223372036854775808
-quote -9223372036854775808 / -9223372036854775807
--9223372036854775808 / -9223372036854775807
-quote -9223372036854775808 / -2147483648
--9223372036854775808 / -2147483648
-quote -9223372036854775808 / -2147483647
--9223372036854775808 / -2147483647
-quote -9223372036854775808 / -32768
--9223372036854775808 / -32768
-quote -9223372036854775808 / -32767
--9223372036854775808 / -32767
-quote -9223372036854775808 / -128
--9223372036854775808 / -128
-quote -9223372036854775808 / -127
--9223372036854775808 / -127
-quote -9223372036854775808 / 255
--9223372036854775808 / 255
-quote -9223372036854775808 / 256
--9223372036854775808 / 256
-quote -9223372036854775808 / 65535
--9223372036854775808 / 65535
-quote -9223372036854775808 / 65536
--9223372036854775808 / 65536
-quote -9223372036854775808 / 4294967295
--9223372036854775808 / 4294967295
-quote -9223372036854775808 / 4294967296
--9223372036854775808 / 4294967296
-quote -9223372036854775808 / 18446744073709551615
--9223372036854775808 / 18446744073709551615
-quote -9223372036854775808 / 18446744073709551616
--9223372036854775808 / 18446744073709551616
-quote -9223372036854775808 / 340282366920938463463374607431768211455
--9223372036854775808 / 340282366920938463463374607431768211455
-quote -9223372036854775808 / 340282366920938463463374607431768211456
--9223372036854775808 / 340282366920938463463374607431768211456
-quote -9223372036854775807 / -170141183460469231731687303715884105728
--9223372036854775807 / -170141183460469231731687303715884105728
-quote -9223372036854775807 / -170141183460469231731687303715884105727
--9223372036854775807 / -170141183460469231731687303715884105727
-quote -9223372036854775807 / -9223372036854775808
--9223372036854775807 / -9223372036854775808
-quote -9223372036854775807 / -9223372036854775807
--9223372036854775807 / -9223372036854775807
-quote -9223372036854775807 / -2147483648
--9223372036854775807 / -2147483648
-quote -9223372036854775807 / -2147483647
--9223372036854775807 / -2147483647
-quote -9223372036854775807 / -32768
--9223372036854775807 / -32768
-quote -9223372036854775807 / -32767
--9223372036854775807 / -32767
-quote -9223372036854775807 / -128
--9223372036854775807 / -128
-quote -9223372036854775807 / -127
--9223372036854775807 / -127
-quote -9223372036854775807 / 255
--9223372036854775807 / 255
-quote -9223372036854775807 / 256
--9223372036854775807 / 256
-quote -9223372036854775807 / 65535
--9223372036854775807 / 65535
-quote -9223372036854775807 / 65536
--9223372036854775807 / 65536
-quote -9223372036854775807 / 4294967295
--9223372036854775807 / 4294967295
-quote -9223372036854775807 / 4294967296
--9223372036854775807 / 4294967296
-quote -9223372036854775807 / 18446744073709551615
--9223372036854775807 / 18446744073709551615
-quote -9223372036854775807 / 18446744073709551616
--9223372036854775807 / 18446744073709551616
-quote -9223372036854775807 / 340282366920938463463374607431768211455
--9223372036854775807 / 340282366920938463463374607431768211455
-quote -9223372036854775807 / 340282366920938463463374607431768211456
--9223372036854775807 / 340282366920938463463374607431768211456
-quote -2147483648 / -170141183460469231731687303715884105728
--2147483648 / -170141183460469231731687303715884105728
-quote -2147483648 / -170141183460469231731687303715884105727
--2147483648 / -170141183460469231731687303715884105727
-quote -2147483648 / -9223372036854775808
--2147483648 / -9223372036854775808
-quote -2147483648 / -9223372036854775807
--2147483648 / -9223372036854775807
-quote -2147483648 / -2147483648
--2147483648 / -2147483648
-quote -2147483648 / -2147483647
--2147483648 / -2147483647
-quote -2147483648 / -32768
--2147483648 / -32768
-quote -2147483648 / -32767
--2147483648 / -32767
-quote -2147483648 / -128
--2147483648 / -128
-quote -2147483648 / -127
--2147483648 / -127
-quote -2147483648 / 255
--2147483648 / 255
-quote -2147483648 / 256
--2147483648 / 256
-quote -2147483648 / 65535
--2147483648 / 65535
-quote -2147483648 / 65536
--2147483648 / 65536
-quote -2147483648 / 4294967295
--2147483648 / 4294967295
-quote -2147483648 / 4294967296
--2147483648 / 4294967296
-quote -2147483648 / 18446744073709551615
--2147483648 / 18446744073709551615
-quote -2147483648 / 18446744073709551616
--2147483648 / 18446744073709551616
-quote -2147483648 / 340282366920938463463374607431768211455
--2147483648 / 340282366920938463463374607431768211455
-quote -2147483648 / 340282366920938463463374607431768211456
--2147483648 / 340282366920938463463374607431768211456
-quote -2147483647 / -170141183460469231731687303715884105728
--2147483647 / -170141183460469231731687303715884105728
-quote -2147483647 / -170141183460469231731687303715884105727
--2147483647 / -170141183460469231731687303715884105727
-quote -2147483647 / -9223372036854775808
--2147483647 / -9223372036854775808
-quote -2147483647 / -9223372036854775807
--2147483647 / -9223372036854775807
-quote -2147483647 / -2147483648
--2147483647 / -2147483648
-quote -2147483647 / -2147483647
--2147483647 / -2147483647
-quote -2147483647 / -32768
--2147483647 / -32768
-quote -2147483647 / -32767
--2147483647 / -32767
-quote -2147483647 / -128
--2147483647 / -128
-quote -2147483647 / -127
--2147483647 / -127
-quote -2147483647 / 255
--2147483647 / 255
-quote -2147483647 / 256
--2147483647 / 256
-quote -2147483647 / 65535
--2147483647 / 65535
-quote -2147483647 / 65536
--2147483647 / 65536
-quote -2147483647 / 4294967295
--2147483647 / 4294967295
-quote -2147483647 / 4294967296
--2147483647 / 4294967296
-quote -2147483647 / 18446744073709551615
--2147483647 / 18446744073709551615
-quote -2147483647 / 18446744073709551616
--2147483647 / 18446744073709551616
-quote -2147483647 / 340282366920938463463374607431768211455
--2147483647 / 340282366920938463463374607431768211455
-quote -2147483647 / 340282366920938463463374607431768211456
--2147483647 / 340282366920938463463374607431768211456
-quote -32768 / -170141183460469231731687303715884105728
--32768 / -170141183460469231731687303715884105728
-quote -32768 / -170141183460469231731687303715884105727
--32768 / -170141183460469231731687303715884105727
-quote -32768 / -9223372036854775808
--32768 / -9223372036854775808
-quote -32768 / -9223372036854775807
--32768 / -9223372036854775807
-quote -32768 / -2147483648
--32768 / -2147483648
-quote -32768 / -2147483647
--32768 / -2147483647
-quote -32768 / -32768
--32768 / -32768
-quote -32768 / -32767
--32768 / -32767
-quote -32768 / -128
--32768 / -128
-quote -32768 / -127
--32768 / -127
-quote -32768 / 255
--32768 / 255
-quote -32768 / 256
--32768 / 256
-quote -32768 / 65535
--32768 / 65535
-quote -32768 / 65536
--32768 / 65536
-quote -32768 / 4294967295
--32768 / 4294967295
-quote -32768 / 4294967296
--32768 / 4294967296
-quote -32768 / 18446744073709551615
--32768 / 18446744073709551615
-quote -32768 / 18446744073709551616
--32768 / 18446744073709551616
-quote -32768 / 340282366920938463463374607431768211455
--32768 / 340282366920938463463374607431768211455
-quote -32768 / 340282366920938463463374607431768211456
--32768 / 340282366920938463463374607431768211456
-quote -32767 / -170141183460469231731687303715884105728
--32767 / -170141183460469231731687303715884105728
-quote -32767 / -170141183460469231731687303715884105727
--32767 / -170141183460469231731687303715884105727
-quote -32767 / -9223372036854775808
--32767 / -9223372036854775808
-quote -32767 / -9223372036854775807
--32767 / -9223372036854775807
-quote -32767 / -2147483648
--32767 / -2147483648
-quote -32767 / -2147483647
--32767 / -2147483647
-quote -32767 / -32768
--32767 / -32768
-quote -32767 / -32767
--32767 / -32767
-quote -32767 / -128
--32767 / -128
-quote -32767 / -127
--32767 / -127
-quote -32767 / 255
--32767 / 255
-quote -32767 / 256
--32767 / 256
-quote -32767 / 65535
--32767 / 65535
-quote -32767 / 65536
--32767 / 65536
-quote -32767 / 4294967295
--32767 / 4294967295
-quote -32767 / 4294967296
--32767 / 4294967296
-quote -32767 / 18446744073709551615
--32767 / 18446744073709551615
-quote -32767 / 18446744073709551616
--32767 / 18446744073709551616
-quote -32767 / 340282366920938463463374607431768211455
--32767 / 340282366920938463463374607431768211455
-quote -32767 / 340282366920938463463374607431768211456
--32767 / 340282366920938463463374607431768211456
-quote -128 / -170141183460469231731687303715884105728
--128 / -170141183460469231731687303715884105728
-quote -128 / -170141183460469231731687303715884105727
--128 / -170141183460469231731687303715884105727
-quote -128 / -9223372036854775808
--128 / -9223372036854775808
-quote -128 / -9223372036854775807
--128 / -9223372036854775807
-quote -128 / -2147483648
--128 / -2147483648
-quote -128 / -2147483647
--128 / -2147483647
-quote -128 / -32768
--128 / -32768
-quote -128 / -32767
--128 / -32767
-quote -128 / -128
--128 / -128
-quote -128 / -127
--128 / -127
-quote -128 / 255
--128 / 255
-quote -128 / 256
--128 / 256
-quote -128 / 65535
--128 / 65535
-quote -128 / 65536
--128 / 65536
-quote -128 / 4294967295
--128 / 4294967295
-quote -128 / 4294967296
--128 / 4294967296
-quote -128 / 18446744073709551615
--128 / 18446744073709551615
-quote -128 / 18446744073709551616
--128 / 18446744073709551616
-quote -128 / 340282366920938463463374607431768211455
--128 / 340282366920938463463374607431768211455
-quote -128 / 340282366920938463463374607431768211456
--128 / 340282366920938463463374607431768211456
-quote -127 / -170141183460469231731687303715884105728
--127 / -170141183460469231731687303715884105728
-quote -127 / -170141183460469231731687303715884105727
--127 / -170141183460469231731687303715884105727
-quote -127 / -9223372036854775808
--127 / -9223372036854775808
-quote -127 / -9223372036854775807
--127 / -9223372036854775807
-quote -127 / -2147483648
--127 / -2147483648
-quote -127 / -2147483647
--127 / -2147483647
-quote -127 / -32768
--127 / -32768
-quote -127 / -32767
--127 / -32767
-quote -127 / -128
--127 / -128
-quote -127 / -127
--127 / -127
-quote -127 / 255
--127 / 255
-quote -127 / 256
--127 / 256
-quote -127 / 65535
--127 / 65535
-quote -127 / 65536
--127 / 65536
-quote -127 / 4294967295
--127 / 4294967295
-quote -127 / 4294967296
--127 / 4294967296
-quote -127 / 18446744073709551615
--127 / 18446744073709551615
-quote -127 / 18446744073709551616
--127 / 18446744073709551616
-quote -127 / 340282366920938463463374607431768211455
--127 / 340282366920938463463374607431768211455
-quote -127 / 340282366920938463463374607431768211456
--127 / 340282366920938463463374607431768211456
-quote 255 / -170141183460469231731687303715884105728
-255 / -170141183460469231731687303715884105728
-quote 255 / -170141183460469231731687303715884105727
-255 / -170141183460469231731687303715884105727
-quote 255 / -9223372036854775808
-255 / -9223372036854775808
-quote 255 / -9223372036854775807
-255 / -9223372036854775807
-quote 255 / -2147483648
-255 / -2147483648
-quote 255 / -2147483647
-255 / -2147483647
-quote 255 / -32768
-255 / -32768
-quote 255 / -32767
-255 / -32767
-quote 255 / -128
-255 / -128
-quote 255 / -127
-255 / -127
-quote 255 / 255
-255 / 255
-quote 255 / 256
-255 / 256
-quote 255 / 65535
-255 / 65535
-quote 255 / 65536
-255 / 65536
-quote 255 / 4294967295
-255 / 4294967295
-quote 255 / 4294967296
-255 / 4294967296
-quote 255 / 18446744073709551615
-255 / 18446744073709551615
-quote 255 / 18446744073709551616
-255 / 18446744073709551616
-quote 255 / 340282366920938463463374607431768211455
-255 / 340282366920938463463374607431768211455
-quote 255 / 340282366920938463463374607431768211456
-255 / 340282366920938463463374607431768211456
-quote 256 / -170141183460469231731687303715884105728
-256 / -170141183460469231731687303715884105728
-quote 256 / -170141183460469231731687303715884105727
-256 / -170141183460469231731687303715884105727
-quote 256 / -9223372036854775808
-256 / -9223372036854775808
-quote 256 / -9223372036854775807
-256 / -9223372036854775807
-quote 256 / -2147483648
-256 / -2147483648
-quote 256 / -2147483647
-256 / -2147483647
-quote 256 / -32768
-256 / -32768
-quote 256 / -32767
-256 / -32767
-quote 256 / -128
-256 / -128
-quote 256 / -127
-256 / -127
-quote 256 / 255
-256 / 255
-quote 256 / 256
-256 / 256
-quote 256 / 65535
-256 / 65535
-quote 256 / 65536
-256 / 65536
-quote 256 / 4294967295
-256 / 4294967295
-quote 256 / 4294967296
-256 / 4294967296
-quote 256 / 18446744073709551615
-256 / 18446744073709551615
-quote 256 / 18446744073709551616
-256 / 18446744073709551616
-quote 256 / 340282366920938463463374607431768211455
-256 / 340282366920938463463374607431768211455
-quote 256 / 340282366920938463463374607431768211456
-256 / 340282366920938463463374607431768211456
-quote 65535 / -170141183460469231731687303715884105728
-65535 / -170141183460469231731687303715884105728
-quote 65535 / -170141183460469231731687303715884105727
-65535 / -170141183460469231731687303715884105727
-quote 65535 / -9223372036854775808
-65535 / -9223372036854775808
-quote 65535 / -9223372036854775807
-65535 / -9223372036854775807
-quote 65535 / -2147483648
-65535 / -2147483648
-quote 65535 / -2147483647
-65535 / -2147483647
-quote 65535 / -32768
-65535 / -32768
-quote 65535 / -32767
-65535 / -32767
-quote 65535 / -128
-65535 / -128
-quote 65535 / -127
-65535 / -127
-quote 65535 / 255
-65535 / 255
-quote 65535 / 256
-65535 / 256
-quote 65535 / 65535
-65535 / 65535
-quote 65535 / 65536
-65535 / 65536
-quote 65535 / 4294967295
-65535 / 4294967295
-quote 65535 / 4294967296
-65535 / 4294967296
-quote 65535 / 18446744073709551615
-65535 / 18446744073709551615
-quote 65535 / 18446744073709551616
-65535 / 18446744073709551616
-quote 65535 / 340282366920938463463374607431768211455
-65535 / 340282366920938463463374607431768211455
-quote 65535 / 340282366920938463463374607431768211456
-65535 / 340282366920938463463374607431768211456
-quote 65536 / -170141183460469231731687303715884105728
-65536 / -170141183460469231731687303715884105728
-quote 65536 / -170141183460469231731687303715884105727
-65536 / -170141183460469231731687303715884105727
-quote 65536 / -9223372036854775808
-65536 / -9223372036854775808
-quote 65536 / -9223372036854775807
-65536 / -9223372036854775807
-quote 65536 / -2147483648
-65536 / -2147483648
-quote 65536 / -2147483647
-65536 / -2147483647
-quote 65536 / -32768
-65536 / -32768
-quote 65536 / -32767
-65536 / -32767
-quote 65536 / -128
-65536 / -128
-quote 65536 / -127
-65536 / -127
-quote 65536 / 255
-65536 / 255
-quote 65536 / 256
-65536 / 256
-quote 65536 / 65535
-65536 / 65535
-quote 65536 / 65536
-65536 / 65536
-quote 65536 / 4294967295
-65536 / 4294967295
-quote 65536 / 4294967296
-65536 / 4294967296
-quote 65536 / 18446744073709551615
-65536 / 18446744073709551615
-quote 65536 / 18446744073709551616
-65536 / 18446744073709551616
-quote 65536 / 340282366920938463463374607431768211455
-65536 / 340282366920938463463374607431768211455
-quote 65536 / 340282366920938463463374607431768211456
-65536 / 340282366920938463463374607431768211456
-quote 4294967295 / -170141183460469231731687303715884105728
-4294967295 / -170141183460469231731687303715884105728
-quote 4294967295 / -170141183460469231731687303715884105727
-4294967295 / -170141183460469231731687303715884105727
-quote 4294967295 / -9223372036854775808
-4294967295 / -9223372036854775808
-quote 4294967295 / -9223372036854775807
-4294967295 / -9223372036854775807
-quote 4294967295 / -2147483648
-4294967295 / -2147483648
-quote 4294967295 / -2147483647
-4294967295 / -2147483647
-quote 4294967295 / -32768
-4294967295 / -32768
-quote 4294967295 / -32767
-4294967295 / -32767
-quote 4294967295 / -128
-4294967295 / -128
-quote 4294967295 / -127
-4294967295 / -127
-quote 4294967295 / 255
-4294967295 / 255
-quote 4294967295 / 256
-4294967295 / 256
-quote 4294967295 / 65535
-4294967295 / 65535
-quote 4294967295 / 65536
-4294967295 / 65536
-quote 4294967295 / 4294967295
-4294967295 / 4294967295
-quote 4294967295 / 4294967296
-4294967295 / 4294967296
-quote 4294967295 / 18446744073709551615
-4294967295 / 18446744073709551615
-quote 4294967295 / 18446744073709551616
-4294967295 / 18446744073709551616
-quote 4294967295 / 340282366920938463463374607431768211455
-4294967295 / 340282366920938463463374607431768211455
-quote 4294967295 / 340282366920938463463374607431768211456
-4294967295 / 340282366920938463463374607431768211456
-quote 4294967296 / -170141183460469231731687303715884105728
-4294967296 / -170141183460469231731687303715884105728
-quote 4294967296 / -170141183460469231731687303715884105727
-4294967296 / -170141183460469231731687303715884105727
-quote 4294967296 / -9223372036854775808
-4294967296 / -9223372036854775808
-quote 4294967296 / -9223372036854775807
-4294967296 / -9223372036854775807
-quote 4294967296 / -2147483648
-4294967296 / -2147483648
-quote 4294967296 / -2147483647
-4294967296 / -2147483647
-quote 4294967296 / -32768
-4294967296 / -32768
-quote 4294967296 / -32767
-4294967296 / -32767
-quote 4294967296 / -128
-4294967296 / -128
-quote 4294967296 / -127
-4294967296 / -127
-quote 4294967296 / 255
-4294967296 / 255
-quote 4294967296 / 256
-4294967296 / 256
-quote 4294967296 / 65535
-4294967296 / 65535
-quote 4294967296 / 65536
-4294967296 / 65536
-quote 4294967296 / 4294967295
-4294967296 / 4294967295
-quote 4294967296 / 4294967296
-4294967296 / 4294967296
-quote 4294967296 / 18446744073709551615
-4294967296 / 18446744073709551615
-quote 4294967296 / 18446744073709551616
-4294967296 / 18446744073709551616
-quote 4294967296 / 340282366920938463463374607431768211455
-4294967296 / 340282366920938463463374607431768211455
-quote 4294967296 / 340282366920938463463374607431768211456
-4294967296 / 340282366920938463463374607431768211456
-quote 18446744073709551615 / -170141183460469231731687303715884105728
-18446744073709551615 / -170141183460469231731687303715884105728
-quote 18446744073709551615 / -170141183460469231731687303715884105727
-18446744073709551615 / -170141183460469231731687303715884105727
-quote 18446744073709551615 / -9223372036854775808
-18446744073709551615 / -9223372036854775808
-quote 18446744073709551615 / -9223372036854775807
-18446744073709551615 / -9223372036854775807
-quote 18446744073709551615 / -2147483648
-18446744073709551615 / -2147483648
-quote 18446744073709551615 / -2147483647
-18446744073709551615 / -2147483647
-quote 18446744073709551615 / -32768
-18446744073709551615 / -32768
-quote 18446744073709551615 / -32767
-18446744073709551615 / -32767
-quote 18446744073709551615 / -128
-18446744073709551615 / -128
-quote 18446744073709551615 / -127
-18446744073709551615 / -127
-quote 18446744073709551615 / 255
-18446744073709551615 / 255
-quote 18446744073709551615 / 256
-18446744073709551615 / 256
-quote 18446744073709551615 / 65535
-18446744073709551615 / 65535
-quote 18446744073709551615 / 65536
-18446744073709551615 / 65536
-quote 18446744073709551615 / 4294967295
-18446744073709551615 / 4294967295
-quote 18446744073709551615 / 4294967296
-18446744073709551615 / 4294967296
-quote 18446744073709551615 / 18446744073709551615
-18446744073709551615 / 18446744073709551615
-quote 18446744073709551615 / 18446744073709551616
-18446744073709551615 / 18446744073709551616
-quote 18446744073709551615 / 340282366920938463463374607431768211455
-18446744073709551615 / 340282366920938463463374607431768211455
-quote 18446744073709551615 / 340282366920938463463374607431768211456
-18446744073709551615 / 340282366920938463463374607431768211456
-quote 18446744073709551616 / -170141183460469231731687303715884105728
-18446744073709551616 / -170141183460469231731687303715884105728
-quote 18446744073709551616 / -170141183460469231731687303715884105727
-18446744073709551616 / -170141183460469231731687303715884105727
-quote 18446744073709551616 / -9223372036854775808
-18446744073709551616 / -9223372036854775808
-quote 18446744073709551616 / -9223372036854775807
-18446744073709551616 / -9223372036854775807
-quote 18446744073709551616 / -2147483648
-18446744073709551616 / -2147483648
-quote 18446744073709551616 / -2147483647
-18446744073709551616 / -2147483647
-quote 18446744073709551616 / -32768
-18446744073709551616 / -32768
-quote 18446744073709551616 / -32767
-18446744073709551616 / -32767
-quote 18446744073709551616 / -128
-18446744073709551616 / -128
-quote 18446744073709551616 / -127
-18446744073709551616 / -127
-quote 18446744073709551616 / 255
-18446744073709551616 / 255
-quote 18446744073709551616 / 256
-18446744073709551616 / 256
-quote 18446744073709551616 / 65535
-18446744073709551616 / 65535
-quote 18446744073709551616 / 65536
-18446744073709551616 / 65536
-quote 18446744073709551616 / 4294967295
-18446744073709551616 / 4294967295
-quote 18446744073709551616 / 4294967296
-18446744073709551616 / 4294967296
-quote 18446744073709551616 / 18446744073709551615
-18446744073709551616 / 18446744073709551615
-quote 18446744073709551616 / 18446744073709551616
-18446744073709551616 / 18446744073709551616
-quote 18446744073709551616 / 340282366920938463463374607431768211455
-18446744073709551616 / 340282366920938463463374607431768211455
-quote 18446744073709551616 / 340282366920938463463374607431768211456
-18446744073709551616 / 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211455 / -170141183460469231731687303715884105728
-340282366920938463463374607431768211455 / -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211455 / -170141183460469231731687303715884105727
-340282366920938463463374607431768211455 / -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211455 / -9223372036854775808
-340282366920938463463374607431768211455 / -9223372036854775808
-quote 340282366920938463463374607431768211455 / -9223372036854775807
-340282366920938463463374607431768211455 / -9223372036854775807
-quote 340282366920938463463374607431768211455 / -2147483648
-340282366920938463463374607431768211455 / -2147483648
-quote 340282366920938463463374607431768211455 / -2147483647
-340282366920938463463374607431768211455 / -2147483647
-quote 340282366920938463463374607431768211455 / -32768
-340282366920938463463374607431768211455 / -32768
-quote 340282366920938463463374607431768211455 / -32767
-340282366920938463463374607431768211455 / -32767
-quote 340282366920938463463374607431768211455 / -128
-340282366920938463463374607431768211455 / -128
-quote 340282366920938463463374607431768211455 / -127
-340282366920938463463374607431768211455 / -127
-quote 340282366920938463463374607431768211455 / 255
-340282366920938463463374607431768211455 / 255
-quote 340282366920938463463374607431768211455 / 256
-340282366920938463463374607431768211455 / 256
-quote 340282366920938463463374607431768211455 / 65535
-340282366920938463463374607431768211455 / 65535
-quote 340282366920938463463374607431768211455 / 65536
-340282366920938463463374607431768211455 / 65536
-quote 340282366920938463463374607431768211455 / 4294967295
-340282366920938463463374607431768211455 / 4294967295
-quote 340282366920938463463374607431768211455 / 4294967296
-340282366920938463463374607431768211455 / 4294967296
-quote 340282366920938463463374607431768211455 / 18446744073709551615
-340282366920938463463374607431768211455 / 18446744073709551615
-quote 340282366920938463463374607431768211455 / 18446744073709551616
-340282366920938463463374607431768211455 / 18446744073709551616
-quote 340282366920938463463374607431768211455 / 340282366920938463463374607431768211455
-340282366920938463463374607431768211455 / 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211455 / 340282366920938463463374607431768211456
-340282366920938463463374607431768211455 / 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211456 / -170141183460469231731687303715884105728
-340282366920938463463374607431768211456 / -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211456 / -170141183460469231731687303715884105727
-340282366920938463463374607431768211456 / -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211456 / -9223372036854775808
-340282366920938463463374607431768211456 / -9223372036854775808
-quote 340282366920938463463374607431768211456 / -9223372036854775807
-340282366920938463463374607431768211456 / -9223372036854775807
-quote 340282366920938463463374607431768211456 / -2147483648
-340282366920938463463374607431768211456 / -2147483648
-quote 340282366920938463463374607431768211456 / -2147483647
-340282366920938463463374607431768211456 / -2147483647
-quote 340282366920938463463374607431768211456 / -32768
-340282366920938463463374607431768211456 / -32768
-quote 340282366920938463463374607431768211456 / -32767
-340282366920938463463374607431768211456 / -32767
-quote 340282366920938463463374607431768211456 / -128
-340282366920938463463374607431768211456 / -128
-quote 340282366920938463463374607431768211456 / -127
-340282366920938463463374607431768211456 / -127
-quote 340282366920938463463374607431768211456 / 255
-340282366920938463463374607431768211456 / 255
-quote 340282366920938463463374607431768211456 / 256
-340282366920938463463374607431768211456 / 256
-quote 340282366920938463463374607431768211456 / 65535
-340282366920938463463374607431768211456 / 65535
-quote 340282366920938463463374607431768211456 / 65536
-340282366920938463463374607431768211456 / 65536
-quote 340282366920938463463374607431768211456 / 4294967295
-340282366920938463463374607431768211456 / 4294967295
-quote 340282366920938463463374607431768211456 / 4294967296
-340282366920938463463374607431768211456 / 4294967296
-quote 340282366920938463463374607431768211456 / 18446744073709551615
-340282366920938463463374607431768211456 / 18446744073709551615
-quote 340282366920938463463374607431768211456 / 18446744073709551616
-340282366920938463463374607431768211456 / 18446744073709551616
-quote 340282366920938463463374607431768211456 / 340282366920938463463374607431768211455
-340282366920938463463374607431768211456 / 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211456 / 340282366920938463463374607431768211456
-340282366920938463463374607431768211456 / 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_div.out.expected b/test/ic3/integer_div.out.expected
deleted file mode 100644
index 02be5ec..0000000
--- a/test/ic3/integer_div.out.expected
+++ /dev/null
@@ -1,800 +0,0 @@
--170141183460469231731687303715884105728 / -170141183460469231731687303715884105728
-1
--170141183460469231731687303715884105728 / -170141183460469231731687303715884105727
-1
--170141183460469231731687303715884105728 / -9223372036854775808
-18446744073709551616
--170141183460469231731687303715884105728 / -9223372036854775807
-18446744073709551618
--170141183460469231731687303715884105728 / -2147483648
-79228162514264337593543950336
--170141183460469231731687303715884105728 / -2147483647
-79228162551157825758142922760
--170141183460469231731687303715884105728 / -32768
-5192296858534827628530496329220096
--170141183460469231731687303715884105728 / -32767
-5192455319695707014120526862876800
--170141183460469231731687303715884105728 / -128
-1329227995784915872903807060280344576
--170141183460469231731687303715884105728 / -127
-1339694357956450643556592942644756738
--170141183460469231731687303715884105728 / 255
--667220327295957771496812955748565120
--170141183460469231731687303715884105728 / 256
--664613997892457936451903530140172288
--170141183460469231731687303715884105728 / 65535
--2596188043953143079754136014585856
--170141183460469231731687303715884105728 / 65536
--2596148429267413814265248164610048
--170141183460469231731687303715884105728 / 4294967295
--39614081266355540835774234624
--170141183460469231731687303715884105728 / 4294967296
--39614081257132168796771975168
--170141183460469231731687303715884105728 / 18446744073709551615
--9223372036854775808
--170141183460469231731687303715884105728 / 18446744073709551616
--9223372036854775808
--170141183460469231731687303715884105728 / 340282366920938463463374607431768211455
-0
--170141183460469231731687303715884105728 / 340282366920938463463374607431768211456
-0
--170141183460469231731687303715884105727 / -170141183460469231731687303715884105728
-0
--170141183460469231731687303715884105727 / -170141183460469231731687303715884105727
-1
--170141183460469231731687303715884105727 / -9223372036854775808
-18446744073709551615
--170141183460469231731687303715884105727 / -9223372036854775807
-18446744073709551618
--170141183460469231731687303715884105727 / -2147483648
-79228162514264337593543950335
--170141183460469231731687303715884105727 / -2147483647
-79228162551157825758142922760
--170141183460469231731687303715884105727 / -32768
-5192296858534827628530496329220095
--170141183460469231731687303715884105727 / -32767
-5192455319695707014120526862876800
--170141183460469231731687303715884105727 / -128
-1329227995784915872903807060280344575
--170141183460469231731687303715884105727 / -127
-1339694357956450643556592942644756738
--170141183460469231731687303715884105727 / 255
--667220327295957771496812955748565120
--170141183460469231731687303715884105727 / 256
--664613997892457936451903530140172287
--170141183460469231731687303715884105727 / 65535
--2596188043953143079754136014585856
--170141183460469231731687303715884105727 / 65536
--2596148429267413814265248164610047
--170141183460469231731687303715884105727 / 4294967295
--39614081266355540835774234624
--170141183460469231731687303715884105727 / 4294967296
--39614081257132168796771975167
--170141183460469231731687303715884105727 / 18446744073709551615
--9223372036854775808
--170141183460469231731687303715884105727 / 18446744073709551616
--9223372036854775807
--170141183460469231731687303715884105727 / 340282366920938463463374607431768211455
-0
--170141183460469231731687303715884105727 / 340282366920938463463374607431768211456
-0
--9223372036854775808 / -170141183460469231731687303715884105728
-0
--9223372036854775808 / -170141183460469231731687303715884105727
-0
--9223372036854775808 / -9223372036854775808
-1
--9223372036854775808 / -9223372036854775807
-1
--9223372036854775808 / -2147483648
-4294967296
--9223372036854775808 / -2147483647
-4294967298
--9223372036854775808 / -32768
-281474976710656
--9223372036854775808 / -32767
-281483566907400
--9223372036854775808 / -128
-72057594037927936
--9223372036854775808 / -127
-72624976668147841
--9223372036854775808 / 255
--36170086419038336
--9223372036854775808 / 256
--36028797018963968
--9223372036854775808 / 65535
--140739635871744
--9223372036854775808 / 65536
--140737488355328
--9223372036854775808 / 4294967295
--2147483648
--9223372036854775808 / 4294967296
--2147483648
--9223372036854775808 / 18446744073709551615
-0
--9223372036854775808 / 18446744073709551616
-0
--9223372036854775808 / 340282366920938463463374607431768211455
-0
--9223372036854775808 / 340282366920938463463374607431768211456
-0
--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
-65535 / -32767
--2
-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
-18446744073709551615 / -2147483647
--8589934596
-18446744073709551615 / -32768
--562949953421311
-18446744073709551615 / -32767
--562967133814800
-18446744073709551615 / -128
--144115188075855871
-18446744073709551615 / -127
--145249953336295682
-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
-18446744073709551616 / -170141183460469231731687303715884105727
-0
-18446744073709551616 / -9223372036854775808
--2
-18446744073709551616 / -9223372036854775807
--2
-18446744073709551616 / -2147483648
--8589934592
-18446744073709551616 / -2147483647
--8589934596
-18446744073709551616 / -32768
--562949953421312
-18446744073709551616 / -32767
--562967133814800
-18446744073709551616 / -128
--144115188075855872
-18446744073709551616 / -127
--145249953336295682
-18446744073709551616 / 255
-72340172838076673
-18446744073709551616 / 256
-72057594037927936
-18446744073709551616 / 65535
-281479271743489
-18446744073709551616 / 65536
-281474976710656
-18446744073709551616 / 4294967295
-4294967297
-18446744073709551616 / 4294967296
-4294967296
-18446744073709551616 / 18446744073709551615
-1
-18446744073709551616 / 18446744073709551616
-1
-18446744073709551616 / 340282366920938463463374607431768211455
-0
-18446744073709551616 / 340282366920938463463374607431768211456
-0
-340282366920938463463374607431768211455 / -170141183460469231731687303715884105728
--1
-340282366920938463463374607431768211455 / -170141183460469231731687303715884105727
--2
-340282366920938463463374607431768211455 / -9223372036854775808
--36893488147419103231
-340282366920938463463374607431768211455 / -9223372036854775807
--36893488147419103236
-340282366920938463463374607431768211455 / -2147483648
--158456325028528675187087900671
-340282366920938463463374607431768211455 / -2147483647
--158456325102315651516285845520
-340282366920938463463374607431768211455 / -32768
--10384593717069655257060992658440191
-340282366920938463463374607431768211455 / -32767
--10384910639391414028241053725753600
-340282366920938463463374607431768211455 / -128
--2658455991569831745807614120560689151
-340282366920938463463374607431768211455 / -127
--2679388715912901287113185885289513476
-340282366920938463463374607431768211455 / 255
-1334440654591915542993625911497130241
-340282366920938463463374607431768211455 / 256
-1329227995784915872903807060280344575
-340282366920938463463374607431768211455 / 65535
-5192376087906286159508272029171713
-340282366920938463463374607431768211455 / 65536
-5192296858534827628530496329220095
-340282366920938463463374607431768211455 / 4294967295
-79228162532711081671548469249
-340282366920938463463374607431768211455 / 4294967296
-79228162514264337593543950335
-340282366920938463463374607431768211455 / 18446744073709551615
-18446744073709551617
-340282366920938463463374607431768211455 / 18446744073709551616
-18446744073709551615
-340282366920938463463374607431768211455 / 340282366920938463463374607431768211455
-1
-340282366920938463463374607431768211455 / 340282366920938463463374607431768211456
-0
-340282366920938463463374607431768211456 / -170141183460469231731687303715884105728
--2
-340282366920938463463374607431768211456 / -170141183460469231731687303715884105727
--2
-340282366920938463463374607431768211456 / -9223372036854775808
--36893488147419103232
-340282366920938463463374607431768211456 / -9223372036854775807
--36893488147419103236
-340282366920938463463374607431768211456 / -2147483648
--158456325028528675187087900672
-340282366920938463463374607431768211456 / -2147483647
--158456325102315651516285845520
-340282366920938463463374607431768211456 / -32768
--10384593717069655257060992658440192
-340282366920938463463374607431768211456 / -32767
--10384910639391414028241053725753600
-340282366920938463463374607431768211456 / -128
--2658455991569831745807614120560689152
-340282366920938463463374607431768211456 / -127
--2679388715912901287113185885289513476
-340282366920938463463374607431768211456 / 255
-1334440654591915542993625911497130241
-340282366920938463463374607431768211456 / 256
-1329227995784915872903807060280344576
-340282366920938463463374607431768211456 / 65535
-5192376087906286159508272029171713
-340282366920938463463374607431768211456 / 65536
-5192296858534827628530496329220096
-340282366920938463463374607431768211456 / 4294967295
-79228162532711081671548469249
-340282366920938463463374607431768211456 / 4294967296
-79228162514264337593543950336
-340282366920938463463374607431768211456 / 18446744073709551615
-18446744073709551617
-340282366920938463463374607431768211456 / 18446744073709551616
-18446744073709551616
-340282366920938463463374607431768211456 / 340282366920938463463374607431768211455
-1
-340282366920938463463374607431768211456 / 340282366920938463463374607431768211456
-1
diff --git a/test/ic3/integer_div.ret.expected b/test/ic3/integer_div.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/integer_div.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/integer_div_2.in b/test/ic3/integer_div_2.in
new file mode 100644
index 0000000..9bf4f54
--- /dev/null
+++ b/test/ic3/integer_div_2.in
@@ -0,0 +1,800 @@
+quote -170141183460469231731687303715884105728 / -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 / -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105728 / -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 / -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105728 / -9223372036854775808
+-170141183460469231731687303715884105728 / -9223372036854775808
+quote -170141183460469231731687303715884105728 / -9223372036854775807
+-170141183460469231731687303715884105728 / -9223372036854775807
+quote -170141183460469231731687303715884105728 / -2147483648
+-170141183460469231731687303715884105728 / -2147483648
+quote -170141183460469231731687303715884105728 / -2147483647
+-170141183460469231731687303715884105728 / -2147483647
+quote -170141183460469231731687303715884105728 / -32768
+-170141183460469231731687303715884105728 / -32768
+quote -170141183460469231731687303715884105728 / -32767
+-170141183460469231731687303715884105728 / -32767
+quote -170141183460469231731687303715884105728 / -128
+-170141183460469231731687303715884105728 / -128
+quote -170141183460469231731687303715884105728 / -127
+-170141183460469231731687303715884105728 / -127
+quote -170141183460469231731687303715884105728 / 255
+-170141183460469231731687303715884105728 / 255
+quote -170141183460469231731687303715884105728 / 256
+-170141183460469231731687303715884105728 / 256
+quote -170141183460469231731687303715884105728 / 65535
+-170141183460469231731687303715884105728 / 65535
+quote -170141183460469231731687303715884105728 / 65536
+-170141183460469231731687303715884105728 / 65536
+quote -170141183460469231731687303715884105728 / 4294967295
+-170141183460469231731687303715884105728 / 4294967295
+quote -170141183460469231731687303715884105728 / 4294967296
+-170141183460469231731687303715884105728 / 4294967296
+quote -170141183460469231731687303715884105728 / 18446744073709551615
+-170141183460469231731687303715884105728 / 18446744073709551615
+quote -170141183460469231731687303715884105728 / 18446744073709551616
+-170141183460469231731687303715884105728 / 18446744073709551616
+quote -170141183460469231731687303715884105728 / 340282366920938463463374607431768211455
+-170141183460469231731687303715884105728 / 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105728 / 340282366920938463463374607431768211456
+-170141183460469231731687303715884105728 / 340282366920938463463374607431768211456
+quote -170141183460469231731687303715884105727 / -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 / -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105727 / -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 / -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105727 / -9223372036854775808
+-170141183460469231731687303715884105727 / -9223372036854775808
+quote -170141183460469231731687303715884105727 / -9223372036854775807
+-170141183460469231731687303715884105727 / -9223372036854775807
+quote -170141183460469231731687303715884105727 / -2147483648
+-170141183460469231731687303715884105727 / -2147483648
+quote -170141183460469231731687303715884105727 / -2147483647
+-170141183460469231731687303715884105727 / -2147483647
+quote -170141183460469231731687303715884105727 / -32768
+-170141183460469231731687303715884105727 / -32768
+quote -170141183460469231731687303715884105727 / -32767
+-170141183460469231731687303715884105727 / -32767
+quote -170141183460469231731687303715884105727 / -128
+-170141183460469231731687303715884105727 / -128
+quote -170141183460469231731687303715884105727 / -127
+-170141183460469231731687303715884105727 / -127
+quote -170141183460469231731687303715884105727 / 255
+-170141183460469231731687303715884105727 / 255
+quote -170141183460469231731687303715884105727 / 256
+-170141183460469231731687303715884105727 / 256
+quote -170141183460469231731687303715884105727 / 65535
+-170141183460469231731687303715884105727 / 65535
+quote -170141183460469231731687303715884105727 / 65536
+-170141183460469231731687303715884105727 / 65536
+quote -170141183460469231731687303715884105727 / 4294967295
+-170141183460469231731687303715884105727 / 4294967295
+quote -170141183460469231731687303715884105727 / 4294967296
+-170141183460469231731687303715884105727 / 4294967296
+quote -170141183460469231731687303715884105727 / 18446744073709551615
+-170141183460469231731687303715884105727 / 18446744073709551615
+quote -170141183460469231731687303715884105727 / 18446744073709551616
+-170141183460469231731687303715884105727 / 18446744073709551616
+quote -170141183460469231731687303715884105727 / 340282366920938463463374607431768211455
+-170141183460469231731687303715884105727 / 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105727 / 340282366920938463463374607431768211456
+-170141183460469231731687303715884105727 / 340282366920938463463374607431768211456
+quote -9223372036854775808 / -170141183460469231731687303715884105728
+-9223372036854775808 / -170141183460469231731687303715884105728
+quote -9223372036854775808 / -170141183460469231731687303715884105727
+-9223372036854775808 / -170141183460469231731687303715884105727
+quote -9223372036854775808 / -9223372036854775808
+-9223372036854775808 / -9223372036854775808
+quote -9223372036854775808 / -9223372036854775807
+-9223372036854775808 / -9223372036854775807
+quote -9223372036854775808 / -2147483648
+-9223372036854775808 / -2147483648
+quote -9223372036854775808 / -2147483647
+-9223372036854775808 / -2147483647
+quote -9223372036854775808 / -32768
+-9223372036854775808 / -32768
+quote -9223372036854775808 / -32767
+-9223372036854775808 / -32767
+quote -9223372036854775808 / -128
+-9223372036854775808 / -128
+quote -9223372036854775808 / -127
+-9223372036854775808 / -127
+quote -9223372036854775808 / 255
+-9223372036854775808 / 255
+quote -9223372036854775808 / 256
+-9223372036854775808 / 256
+quote -9223372036854775808 / 65535
+-9223372036854775808 / 65535
+quote -9223372036854775808 / 65536
+-9223372036854775808 / 65536
+quote -9223372036854775808 / 4294967295
+-9223372036854775808 / 4294967295
+quote -9223372036854775808 / 4294967296
+-9223372036854775808 / 4294967296
+quote -9223372036854775808 / 18446744073709551615
+-9223372036854775808 / 18446744073709551615
+quote -9223372036854775808 / 18446744073709551616
+-9223372036854775808 / 18446744073709551616
+quote -9223372036854775808 / 340282366920938463463374607431768211455
+-9223372036854775808 / 340282366920938463463374607431768211455
+quote -9223372036854775808 / 340282366920938463463374607431768211456
+-9223372036854775808 / 340282366920938463463374607431768211456
+quote -9223372036854775807 / -170141183460469231731687303715884105728
+-9223372036854775807 / -170141183460469231731687303715884105728
+quote -9223372036854775807 / -170141183460469231731687303715884105727
+-9223372036854775807 / -170141183460469231731687303715884105727
+quote -9223372036854775807 / -9223372036854775808
+-9223372036854775807 / -9223372036854775808
+quote -9223372036854775807 / -9223372036854775807
+-9223372036854775807 / -9223372036854775807
+quote -9223372036854775807 / -2147483648
+-9223372036854775807 / -2147483648
+quote -9223372036854775807 / -2147483647
+-9223372036854775807 / -2147483647
+quote -9223372036854775807 / -32768
+-9223372036854775807 / -32768
+quote -9223372036854775807 / -32767
+-9223372036854775807 / -32767
+quote -9223372036854775807 / -128
+-9223372036854775807 / -128
+quote -9223372036854775807 / -127
+-9223372036854775807 / -127
+quote -9223372036854775807 / 255
+-9223372036854775807 / 255
+quote -9223372036854775807 / 256
+-9223372036854775807 / 256
+quote -9223372036854775807 / 65535
+-9223372036854775807 / 65535
+quote -9223372036854775807 / 65536
+-9223372036854775807 / 65536
+quote -9223372036854775807 / 4294967295
+-9223372036854775807 / 4294967295
+quote -9223372036854775807 / 4294967296
+-9223372036854775807 / 4294967296
+quote -9223372036854775807 / 18446744073709551615
+-9223372036854775807 / 18446744073709551615
+quote -9223372036854775807 / 18446744073709551616
+-9223372036854775807 / 18446744073709551616
+quote -9223372036854775807 / 340282366920938463463374607431768211455
+-9223372036854775807 / 340282366920938463463374607431768211455
+quote -9223372036854775807 / 340282366920938463463374607431768211456
+-9223372036854775807 / 340282366920938463463374607431768211456
+quote -2147483648 / -170141183460469231731687303715884105728
+-2147483648 / -170141183460469231731687303715884105728
+quote -2147483648 / -170141183460469231731687303715884105727
+-2147483648 / -170141183460469231731687303715884105727
+quote -2147483648 / -9223372036854775808
+-2147483648 / -9223372036854775808
+quote -2147483648 / -9223372036854775807
+-2147483648 / -9223372036854775807
+quote -2147483648 / -2147483648
+-2147483648 / -2147483648
+quote -2147483648 / -2147483647
+-2147483648 / -2147483647
+quote -2147483648 / -32768
+-2147483648 / -32768
+quote -2147483648 / -32767
+-2147483648 / -32767
+quote -2147483648 / -128
+-2147483648 / -128
+quote -2147483648 / -127
+-2147483648 / -127
+quote -2147483648 / 255
+-2147483648 / 255
+quote -2147483648 / 256
+-2147483648 / 256
+quote -2147483648 / 65535
+-2147483648 / 65535
+quote -2147483648 / 65536
+-2147483648 / 65536
+quote -2147483648 / 4294967295
+-2147483648 / 4294967295
+quote -2147483648 / 4294967296
+-2147483648 / 4294967296
+quote -2147483648 / 18446744073709551615
+-2147483648 / 18446744073709551615
+quote -2147483648 / 18446744073709551616
+-2147483648 / 18446744073709551616
+quote -2147483648 / 340282366920938463463374607431768211455
+-2147483648 / 340282366920938463463374607431768211455
+quote -2147483648 / 340282366920938463463374607431768211456
+-2147483648 / 340282366920938463463374607431768211456
+quote -2147483647 / -170141183460469231731687303715884105728
+-2147483647 / -170141183460469231731687303715884105728
+quote -2147483647 / -170141183460469231731687303715884105727
+-2147483647 / -170141183460469231731687303715884105727
+quote -2147483647 / -9223372036854775808
+-2147483647 / -9223372036854775808
+quote -2147483647 / -9223372036854775807
+-2147483647 / -9223372036854775807
+quote -2147483647 / -2147483648
+-2147483647 / -2147483648
+quote -2147483647 / -2147483647
+-2147483647 / -2147483647
+quote -2147483647 / -32768
+-2147483647 / -32768
+quote -2147483647 / -32767
+-2147483647 / -32767
+quote -2147483647 / -128
+-2147483647 / -128
+quote -2147483647 / -127
+-2147483647 / -127
+quote -2147483647 / 255
+-2147483647 / 255
+quote -2147483647 / 256
+-2147483647 / 256
+quote -2147483647 / 65535
+-2147483647 / 65535
+quote -2147483647 / 65536
+-2147483647 / 65536
+quote -2147483647 / 4294967295
+-2147483647 / 4294967295
+quote -2147483647 / 4294967296
+-2147483647 / 4294967296
+quote -2147483647 / 18446744073709551615
+-2147483647 / 18446744073709551615
+quote -2147483647 / 18446744073709551616
+-2147483647 / 18446744073709551616
+quote -2147483647 / 340282366920938463463374607431768211455
+-2147483647 / 340282366920938463463374607431768211455
+quote -2147483647 / 340282366920938463463374607431768211456
+-2147483647 / 340282366920938463463374607431768211456
+quote -32768 / -170141183460469231731687303715884105728
+-32768 / -170141183460469231731687303715884105728
+quote -32768 / -170141183460469231731687303715884105727
+-32768 / -170141183460469231731687303715884105727
+quote -32768 / -9223372036854775808
+-32768 / -9223372036854775808
+quote -32768 / -9223372036854775807
+-32768 / -9223372036854775807
+quote -32768 / -2147483648
+-32768 / -2147483648
+quote -32768 / -2147483647
+-32768 / -2147483647
+quote -32768 / -32768
+-32768 / -32768
+quote -32768 / -32767
+-32768 / -32767
+quote -32768 / -128
+-32768 / -128
+quote -32768 / -127
+-32768 / -127
+quote -32768 / 255
+-32768 / 255
+quote -32768 / 256
+-32768 / 256
+quote -32768 / 65535
+-32768 / 65535
+quote -32768 / 65536
+-32768 / 65536
+quote -32768 / 4294967295
+-32768 / 4294967295
+quote -32768 / 4294967296
+-32768 / 4294967296
+quote -32768 / 18446744073709551615
+-32768 / 18446744073709551615
+quote -32768 / 18446744073709551616
+-32768 / 18446744073709551616
+quote -32768 / 340282366920938463463374607431768211455
+-32768 / 340282366920938463463374607431768211455
+quote -32768 / 340282366920938463463374607431768211456
+-32768 / 340282366920938463463374607431768211456
+quote -32767 / -170141183460469231731687303715884105728
+-32767 / -170141183460469231731687303715884105728
+quote -32767 / -170141183460469231731687303715884105727
+-32767 / -170141183460469231731687303715884105727
+quote -32767 / -9223372036854775808
+-32767 / -9223372036854775808
+quote -32767 / -9223372036854775807
+-32767 / -9223372036854775807
+quote -32767 / -2147483648
+-32767 / -2147483648
+quote -32767 / -2147483647
+-32767 / -2147483647
+quote -32767 / -32768
+-32767 / -32768
+quote -32767 / -32767
+-32767 / -32767
+quote -32767 / -128
+-32767 / -128
+quote -32767 / -127
+-32767 / -127
+quote -32767 / 255
+-32767 / 255
+quote -32767 / 256
+-32767 / 256
+quote -32767 / 65535
+-32767 / 65535
+quote -32767 / 65536
+-32767 / 65536
+quote -32767 / 4294967295
+-32767 / 4294967295
+quote -32767 / 4294967296
+-32767 / 4294967296
+quote -32767 / 18446744073709551615
+-32767 / 18446744073709551615
+quote -32767 / 18446744073709551616
+-32767 / 18446744073709551616
+quote -32767 / 340282366920938463463374607431768211455
+-32767 / 340282366920938463463374607431768211455
+quote -32767 / 340282366920938463463374607431768211456
+-32767 / 340282366920938463463374607431768211456
+quote -128 / -170141183460469231731687303715884105728
+-128 / -170141183460469231731687303715884105728
+quote -128 / -170141183460469231731687303715884105727
+-128 / -170141183460469231731687303715884105727
+quote -128 / -9223372036854775808
+-128 / -9223372036854775808
+quote -128 / -9223372036854775807
+-128 / -9223372036854775807
+quote -128 / -2147483648
+-128 / -2147483648
+quote -128 / -2147483647
+-128 / -2147483647
+quote -128 / -32768
+-128 / -32768
+quote -128 / -32767
+-128 / -32767
+quote -128 / -128
+-128 / -128
+quote -128 / -127
+-128 / -127
+quote -128 / 255
+-128 / 255
+quote -128 / 256
+-128 / 256
+quote -128 / 65535
+-128 / 65535
+quote -128 / 65536
+-128 / 65536
+quote -128 / 4294967295
+-128 / 4294967295
+quote -128 / 4294967296
+-128 / 4294967296
+quote -128 / 18446744073709551615
+-128 / 18446744073709551615
+quote -128 / 18446744073709551616
+-128 / 18446744073709551616
+quote -128 / 340282366920938463463374607431768211455
+-128 / 340282366920938463463374607431768211455
+quote -128 / 340282366920938463463374607431768211456
+-128 / 340282366920938463463374607431768211456
+quote -127 / -170141183460469231731687303715884105728
+-127 / -170141183460469231731687303715884105728
+quote -127 / -170141183460469231731687303715884105727
+-127 / -170141183460469231731687303715884105727
+quote -127 / -9223372036854775808
+-127 / -9223372036854775808
+quote -127 / -9223372036854775807
+-127 / -9223372036854775807
+quote -127 / -2147483648
+-127 / -2147483648
+quote -127 / -2147483647
+-127 / -2147483647
+quote -127 / -32768
+-127 / -32768
+quote -127 / -32767
+-127 / -32767
+quote -127 / -128
+-127 / -128
+quote -127 / -127
+-127 / -127
+quote -127 / 255
+-127 / 255
+quote -127 / 256
+-127 / 256
+quote -127 / 65535
+-127 / 65535
+quote -127 / 65536
+-127 / 65536
+quote -127 / 4294967295
+-127 / 4294967295
+quote -127 / 4294967296
+-127 / 4294967296
+quote -127 / 18446744073709551615
+-127 / 18446744073709551615
+quote -127 / 18446744073709551616
+-127 / 18446744073709551616
+quote -127 / 340282366920938463463374607431768211455
+-127 / 340282366920938463463374607431768211455
+quote -127 / 340282366920938463463374607431768211456
+-127 / 340282366920938463463374607431768211456
+quote 255 / -170141183460469231731687303715884105728
+255 / -170141183460469231731687303715884105728
+quote 255 / -170141183460469231731687303715884105727
+255 / -170141183460469231731687303715884105727
+quote 255 / -9223372036854775808
+255 / -9223372036854775808
+quote 255 / -9223372036854775807
+255 / -9223372036854775807
+quote 255 / -2147483648
+255 / -2147483648
+quote 255 / -2147483647
+255 / -2147483647
+quote 255 / -32768
+255 / -32768
+quote 255 / -32767
+255 / -32767
+quote 255 / -128
+255 / -128
+quote 255 / -127
+255 / -127
+quote 255 / 255
+255 / 255
+quote 255 / 256
+255 / 256
+quote 255 / 65535
+255 / 65535
+quote 255 / 65536
+255 / 65536
+quote 255 / 4294967295
+255 / 4294967295
+quote 255 / 4294967296
+255 / 4294967296
+quote 255 / 18446744073709551615
+255 / 18446744073709551615
+quote 255 / 18446744073709551616
+255 / 18446744073709551616
+quote 255 / 340282366920938463463374607431768211455
+255 / 340282366920938463463374607431768211455
+quote 255 / 340282366920938463463374607431768211456
+255 / 340282366920938463463374607431768211456
+quote 256 / -170141183460469231731687303715884105728
+256 / -170141183460469231731687303715884105728
+quote 256 / -170141183460469231731687303715884105727
+256 / -170141183460469231731687303715884105727
+quote 256 / -9223372036854775808
+256 / -9223372036854775808
+quote 256 / -9223372036854775807
+256 / -9223372036854775807
+quote 256 / -2147483648
+256 / -2147483648
+quote 256 / -2147483647
+256 / -2147483647
+quote 256 / -32768
+256 / -32768
+quote 256 / -32767
+256 / -32767
+quote 256 / -128
+256 / -128
+quote 256 / -127
+256 / -127
+quote 256 / 255
+256 / 255
+quote 256 / 256
+256 / 256
+quote 256 / 65535
+256 / 65535
+quote 256 / 65536
+256 / 65536
+quote 256 / 4294967295
+256 / 4294967295
+quote 256 / 4294967296
+256 / 4294967296
+quote 256 / 18446744073709551615
+256 / 18446744073709551615
+quote 256 / 18446744073709551616
+256 / 18446744073709551616
+quote 256 / 340282366920938463463374607431768211455
+256 / 340282366920938463463374607431768211455
+quote 256 / 340282366920938463463374607431768211456
+256 / 340282366920938463463374607431768211456
+quote 65535 / -170141183460469231731687303715884105728
+65535 / -170141183460469231731687303715884105728
+quote 65535 / -170141183460469231731687303715884105727
+65535 / -170141183460469231731687303715884105727
+quote 65535 / -9223372036854775808
+65535 / -9223372036854775808
+quote 65535 / -9223372036854775807
+65535 / -9223372036854775807
+quote 65535 / -2147483648
+65535 / -2147483648
+quote 65535 / -2147483647
+65535 / -2147483647
+quote 65535 / -32768
+65535 / -32768
+quote 65535 / -32767
+65535 / -32767
+quote 65535 / -128
+65535 / -128
+quote 65535 / -127
+65535 / -127
+quote 65535 / 255
+65535 / 255
+quote 65535 / 256
+65535 / 256
+quote 65535 / 65535
+65535 / 65535
+quote 65535 / 65536
+65535 / 65536
+quote 65535 / 4294967295
+65535 / 4294967295
+quote 65535 / 4294967296
+65535 / 4294967296
+quote 65535 / 18446744073709551615
+65535 / 18446744073709551615
+quote 65535 / 18446744073709551616
+65535 / 18446744073709551616
+quote 65535 / 340282366920938463463374607431768211455
+65535 / 340282366920938463463374607431768211455
+quote 65535 / 340282366920938463463374607431768211456
+65535 / 340282366920938463463374607431768211456
+quote 65536 / -170141183460469231731687303715884105728
+65536 / -170141183460469231731687303715884105728
+quote 65536 / -170141183460469231731687303715884105727
+65536 / -170141183460469231731687303715884105727
+quote 65536 / -9223372036854775808
+65536 / -9223372036854775808
+quote 65536 / -9223372036854775807
+65536 / -9223372036854775807
+quote 65536 / -2147483648
+65536 / -2147483648
+quote 65536 / -2147483647
+65536 / -2147483647
+quote 65536 / -32768
+65536 / -32768
+quote 65536 / -32767
+65536 / -32767
+quote 65536 / -128
+65536 / -128
+quote 65536 / -127
+65536 / -127
+quote 65536 / 255
+65536 / 255
+quote 65536 / 256
+65536 / 256
+quote 65536 / 65535
+65536 / 65535
+quote 65536 / 65536
+65536 / 65536
+quote 65536 / 4294967295
+65536 / 4294967295
+quote 65536 / 4294967296
+65536 / 4294967296
+quote 65536 / 18446744073709551615
+65536 / 18446744073709551615
+quote 65536 / 18446744073709551616
+65536 / 18446744073709551616
+quote 65536 / 340282366920938463463374607431768211455
+65536 / 340282366920938463463374607431768211455
+quote 65536 / 340282366920938463463374607431768211456
+65536 / 340282366920938463463374607431768211456
+quote 4294967295 / -170141183460469231731687303715884105728
+4294967295 / -170141183460469231731687303715884105728
+quote 4294967295 / -170141183460469231731687303715884105727
+4294967295 / -170141183460469231731687303715884105727
+quote 4294967295 / -9223372036854775808
+4294967295 / -9223372036854775808
+quote 4294967295 / -9223372036854775807
+4294967295 / -9223372036854775807
+quote 4294967295 / -2147483648
+4294967295 / -2147483648
+quote 4294967295 / -2147483647
+4294967295 / -2147483647
+quote 4294967295 / -32768
+4294967295 / -32768
+quote 4294967295 / -32767
+4294967295 / -32767
+quote 4294967295 / -128
+4294967295 / -128
+quote 4294967295 / -127
+4294967295 / -127
+quote 4294967295 / 255
+4294967295 / 255
+quote 4294967295 / 256
+4294967295 / 256
+quote 4294967295 / 65535
+4294967295 / 65535
+quote 4294967295 / 65536
+4294967295 / 65536
+quote 4294967295 / 4294967295
+4294967295 / 4294967295
+quote 4294967295 / 4294967296
+4294967295 / 4294967296
+quote 4294967295 / 18446744073709551615
+4294967295 / 18446744073709551615
+quote 4294967295 / 18446744073709551616
+4294967295 / 18446744073709551616
+quote 4294967295 / 340282366920938463463374607431768211455
+4294967295 / 340282366920938463463374607431768211455
+quote 4294967295 / 340282366920938463463374607431768211456
+4294967295 / 340282366920938463463374607431768211456
+quote 4294967296 / -170141183460469231731687303715884105728
+4294967296 / -170141183460469231731687303715884105728
+quote 4294967296 / -170141183460469231731687303715884105727
+4294967296 / -170141183460469231731687303715884105727
+quote 4294967296 / -9223372036854775808
+4294967296 / -9223372036854775808
+quote 4294967296 / -9223372036854775807
+4294967296 / -9223372036854775807
+quote 4294967296 / -2147483648
+4294967296 / -2147483648
+quote 4294967296 / -2147483647
+4294967296 / -2147483647
+quote 4294967296 / -32768
+4294967296 / -32768
+quote 4294967296 / -32767
+4294967296 / -32767
+quote 4294967296 / -128
+4294967296 / -128
+quote 4294967296 / -127
+4294967296 / -127
+quote 4294967296 / 255
+4294967296 / 255
+quote 4294967296 / 256
+4294967296 / 256
+quote 4294967296 / 65535
+4294967296 / 65535
+quote 4294967296 / 65536
+4294967296 / 65536
+quote 4294967296 / 4294967295
+4294967296 / 4294967295
+quote 4294967296 / 4294967296
+4294967296 / 4294967296
+quote 4294967296 / 18446744073709551615
+4294967296 / 18446744073709551615
+quote 4294967296 / 18446744073709551616
+4294967296 / 18446744073709551616
+quote 4294967296 / 340282366920938463463374607431768211455
+4294967296 / 340282366920938463463374607431768211455
+quote 4294967296 / 340282366920938463463374607431768211456
+4294967296 / 340282366920938463463374607431768211456
+quote 18446744073709551615 / -170141183460469231731687303715884105728
+18446744073709551615 / -170141183460469231731687303715884105728
+quote 18446744073709551615 / -170141183460469231731687303715884105727
+18446744073709551615 / -170141183460469231731687303715884105727
+quote 18446744073709551615 / -9223372036854775808
+18446744073709551615 / -9223372036854775808
+quote 18446744073709551615 / -9223372036854775807
+18446744073709551615 / -9223372036854775807
+quote 18446744073709551615 / -2147483648
+18446744073709551615 / -2147483648
+quote 18446744073709551615 / -2147483647
+18446744073709551615 / -2147483647
+quote 18446744073709551615 / -32768
+18446744073709551615 / -32768
+quote 18446744073709551615 / -32767
+18446744073709551615 / -32767
+quote 18446744073709551615 / -128
+18446744073709551615 / -128
+quote 18446744073709551615 / -127
+18446744073709551615 / -127
+quote 18446744073709551615 / 255
+18446744073709551615 / 255
+quote 18446744073709551615 / 256
+18446744073709551615 / 256
+quote 18446744073709551615 / 65535
+18446744073709551615 / 65535
+quote 18446744073709551615 / 65536
+18446744073709551615 / 65536
+quote 18446744073709551615 / 4294967295
+18446744073709551615 / 4294967295
+quote 18446744073709551615 / 4294967296
+18446744073709551615 / 4294967296
+quote 18446744073709551615 / 18446744073709551615
+18446744073709551615 / 18446744073709551615
+quote 18446744073709551615 / 18446744073709551616
+18446744073709551615 / 18446744073709551616
+quote 18446744073709551615 / 340282366920938463463374607431768211455
+18446744073709551615 / 340282366920938463463374607431768211455
+quote 18446744073709551615 / 340282366920938463463374607431768211456
+18446744073709551615 / 340282366920938463463374607431768211456
+quote 18446744073709551616 / -170141183460469231731687303715884105728
+18446744073709551616 / -170141183460469231731687303715884105728
+quote 18446744073709551616 / -170141183460469231731687303715884105727
+18446744073709551616 / -170141183460469231731687303715884105727
+quote 18446744073709551616 / -9223372036854775808
+18446744073709551616 / -9223372036854775808
+quote 18446744073709551616 / -9223372036854775807
+18446744073709551616 / -9223372036854775807
+quote 18446744073709551616 / -2147483648
+18446744073709551616 / -2147483648
+quote 18446744073709551616 / -2147483647
+18446744073709551616 / -2147483647
+quote 18446744073709551616 / -32768
+18446744073709551616 / -32768
+quote 18446744073709551616 / -32767
+18446744073709551616 / -32767
+quote 18446744073709551616 / -128
+18446744073709551616 / -128
+quote 18446744073709551616 / -127
+18446744073709551616 / -127
+quote 18446744073709551616 / 255
+18446744073709551616 / 255
+quote 18446744073709551616 / 256
+18446744073709551616 / 256
+quote 18446744073709551616 / 65535
+18446744073709551616 / 65535
+quote 18446744073709551616 / 65536
+18446744073709551616 / 65536
+quote 18446744073709551616 / 4294967295
+18446744073709551616 / 4294967295
+quote 18446744073709551616 / 4294967296
+18446744073709551616 / 4294967296
+quote 18446744073709551616 / 18446744073709551615
+18446744073709551616 / 18446744073709551615
+quote 18446744073709551616 / 18446744073709551616
+18446744073709551616 / 18446744073709551616
+quote 18446744073709551616 / 340282366920938463463374607431768211455
+18446744073709551616 / 340282366920938463463374607431768211455
+quote 18446744073709551616 / 340282366920938463463374607431768211456
+18446744073709551616 / 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211455 / -170141183460469231731687303715884105728
+340282366920938463463374607431768211455 / -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211455 / -170141183460469231731687303715884105727
+340282366920938463463374607431768211455 / -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211455 / -9223372036854775808
+340282366920938463463374607431768211455 / -9223372036854775808
+quote 340282366920938463463374607431768211455 / -9223372036854775807
+340282366920938463463374607431768211455 / -9223372036854775807
+quote 340282366920938463463374607431768211455 / -2147483648
+340282366920938463463374607431768211455 / -2147483648
+quote 340282366920938463463374607431768211455 / -2147483647
+340282366920938463463374607431768211455 / -2147483647
+quote 340282366920938463463374607431768211455 / -32768
+340282366920938463463374607431768211455 / -32768
+quote 340282366920938463463374607431768211455 / -32767
+340282366920938463463374607431768211455 / -32767
+quote 340282366920938463463374607431768211455 / -128
+340282366920938463463374607431768211455 / -128
+quote 340282366920938463463374607431768211455 / -127
+340282366920938463463374607431768211455 / -127
+quote 340282366920938463463374607431768211455 / 255
+340282366920938463463374607431768211455 / 255
+quote 340282366920938463463374607431768211455 / 256
+340282366920938463463374607431768211455 / 256
+quote 340282366920938463463374607431768211455 / 65535
+340282366920938463463374607431768211455 / 65535
+quote 340282366920938463463374607431768211455 / 65536
+340282366920938463463374607431768211455 / 65536
+quote 340282366920938463463374607431768211455 / 4294967295
+340282366920938463463374607431768211455 / 4294967295
+quote 340282366920938463463374607431768211455 / 4294967296
+340282366920938463463374607431768211455 / 4294967296
+quote 340282366920938463463374607431768211455 / 18446744073709551615
+340282366920938463463374607431768211455 / 18446744073709551615
+quote 340282366920938463463374607431768211455 / 18446744073709551616
+340282366920938463463374607431768211455 / 18446744073709551616
+quote 340282366920938463463374607431768211455 / 340282366920938463463374607431768211455
+340282366920938463463374607431768211455 / 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211455 / 340282366920938463463374607431768211456
+340282366920938463463374607431768211455 / 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211456 / -170141183460469231731687303715884105728
+340282366920938463463374607431768211456 / -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211456 / -170141183460469231731687303715884105727
+340282366920938463463374607431768211456 / -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211456 / -9223372036854775808
+340282366920938463463374607431768211456 / -9223372036854775808
+quote 340282366920938463463374607431768211456 / -9223372036854775807
+340282366920938463463374607431768211456 / -9223372036854775807
+quote 340282366920938463463374607431768211456 / -2147483648
+340282366920938463463374607431768211456 / -2147483648
+quote 340282366920938463463374607431768211456 / -2147483647
+340282366920938463463374607431768211456 / -2147483647
+quote 340282366920938463463374607431768211456 / -32768
+340282366920938463463374607431768211456 / -32768
+quote 340282366920938463463374607431768211456 / -32767
+340282366920938463463374607431768211456 / -32767
+quote 340282366920938463463374607431768211456 / -128
+340282366920938463463374607431768211456 / -128
+quote 340282366920938463463374607431768211456 / -127
+340282366920938463463374607431768211456 / -127
+quote 340282366920938463463374607431768211456 / 255
+340282366920938463463374607431768211456 / 255
+quote 340282366920938463463374607431768211456 / 256
+340282366920938463463374607431768211456 / 256
+quote 340282366920938463463374607431768211456 / 65535
+340282366920938463463374607431768211456 / 65535
+quote 340282366920938463463374607431768211456 / 65536
+340282366920938463463374607431768211456 / 65536
+quote 340282366920938463463374607431768211456 / 4294967295
+340282366920938463463374607431768211456 / 4294967295
+quote 340282366920938463463374607431768211456 / 4294967296
+340282366920938463463374607431768211456 / 4294967296
+quote 340282366920938463463374607431768211456 / 18446744073709551615
+340282366920938463463374607431768211456 / 18446744073709551615
+quote 340282366920938463463374607431768211456 / 18446744073709551616
+340282366920938463463374607431768211456 / 18446744073709551616
+quote 340282366920938463463374607431768211456 / 340282366920938463463374607431768211455
+340282366920938463463374607431768211456 / 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211456 / 340282366920938463463374607431768211456
+340282366920938463463374607431768211456 / 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_div_2.out.expected b/test/ic3/integer_div_2.out.expected
new file mode 100644
index 0000000..02be5ec
--- /dev/null
+++ b/test/ic3/integer_div_2.out.expected
@@ -0,0 +1,800 @@
+-170141183460469231731687303715884105728 / -170141183460469231731687303715884105728
+1
+-170141183460469231731687303715884105728 / -170141183460469231731687303715884105727
+1
+-170141183460469231731687303715884105728 / -9223372036854775808
+18446744073709551616
+-170141183460469231731687303715884105728 / -9223372036854775807
+18446744073709551618
+-170141183460469231731687303715884105728 / -2147483648
+79228162514264337593543950336
+-170141183460469231731687303715884105728 / -2147483647
+79228162551157825758142922760
+-170141183460469231731687303715884105728 / -32768
+5192296858534827628530496329220096
+-170141183460469231731687303715884105728 / -32767
+5192455319695707014120526862876800
+-170141183460469231731687303715884105728 / -128
+1329227995784915872903807060280344576
+-170141183460469231731687303715884105728 / -127
+1339694357956450643556592942644756738
+-170141183460469231731687303715884105728 / 255
+-667220327295957771496812955748565120
+-170141183460469231731687303715884105728 / 256
+-664613997892457936451903530140172288
+-170141183460469231731687303715884105728 / 65535
+-2596188043953143079754136014585856
+-170141183460469231731687303715884105728 / 65536
+-2596148429267413814265248164610048
+-170141183460469231731687303715884105728 / 4294967295
+-39614081266355540835774234624
+-170141183460469231731687303715884105728 / 4294967296
+-39614081257132168796771975168
+-170141183460469231731687303715884105728 / 18446744073709551615
+-9223372036854775808
+-170141183460469231731687303715884105728 / 18446744073709551616
+-9223372036854775808
+-170141183460469231731687303715884105728 / 340282366920938463463374607431768211455
+0
+-170141183460469231731687303715884105728 / 340282366920938463463374607431768211456
+0
+-170141183460469231731687303715884105727 / -170141183460469231731687303715884105728
+0
+-170141183460469231731687303715884105727 / -170141183460469231731687303715884105727
+1
+-170141183460469231731687303715884105727 / -9223372036854775808
+18446744073709551615
+-170141183460469231731687303715884105727 / -9223372036854775807
+18446744073709551618
+-170141183460469231731687303715884105727 / -2147483648
+79228162514264337593543950335
+-170141183460469231731687303715884105727 / -2147483647
+79228162551157825758142922760
+-170141183460469231731687303715884105727 / -32768
+5192296858534827628530496329220095
+-170141183460469231731687303715884105727 / -32767
+5192455319695707014120526862876800
+-170141183460469231731687303715884105727 / -128
+1329227995784915872903807060280344575
+-170141183460469231731687303715884105727 / -127
+1339694357956450643556592942644756738
+-170141183460469231731687303715884105727 / 255
+-667220327295957771496812955748565120
+-170141183460469231731687303715884105727 / 256
+-664613997892457936451903530140172287
+-170141183460469231731687303715884105727 / 65535
+-2596188043953143079754136014585856
+-170141183460469231731687303715884105727 / 65536
+-2596148429267413814265248164610047
+-170141183460469231731687303715884105727 / 4294967295
+-39614081266355540835774234624
+-170141183460469231731687303715884105727 / 4294967296
+-39614081257132168796771975167
+-170141183460469231731687303715884105727 / 18446744073709551615
+-9223372036854775808
+-170141183460469231731687303715884105727 / 18446744073709551616
+-9223372036854775807
+-170141183460469231731687303715884105727 / 340282366920938463463374607431768211455
+0
+-170141183460469231731687303715884105727 / 340282366920938463463374607431768211456
+0
+-9223372036854775808 / -170141183460469231731687303715884105728
+0
+-9223372036854775808 / -170141183460469231731687303715884105727
+0
+-9223372036854775808 / -9223372036854775808
+1
+-9223372036854775808 / -9223372036854775807
+1
+-9223372036854775808 / -2147483648
+4294967296
+-9223372036854775808 / -2147483647
+4294967298
+-9223372036854775808 / -32768
+281474976710656
+-9223372036854775808 / -32767
+281483566907400
+-9223372036854775808 / -128
+72057594037927936
+-9223372036854775808 / -127
+72624976668147841
+-9223372036854775808 / 255
+-36170086419038336
+-9223372036854775808 / 256
+-36028797018963968
+-9223372036854775808 / 65535
+-140739635871744
+-9223372036854775808 / 65536
+-140737488355328
+-9223372036854775808 / 4294967295
+-2147483648
+-9223372036854775808 / 4294967296
+-2147483648
+-9223372036854775808 / 18446744073709551615
+0
+-9223372036854775808 / 18446744073709551616
+0
+-9223372036854775808 / 340282366920938463463374607431768211455
+0
+-9223372036854775808 / 340282366920938463463374607431768211456
+0
+-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
+65535 / -32767
+-2
+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
+18446744073709551615 / -2147483647
+-8589934596
+18446744073709551615 / -32768
+-562949953421311
+18446744073709551615 / -32767
+-562967133814800
+18446744073709551615 / -128
+-144115188075855871
+18446744073709551615 / -127
+-145249953336295682
+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
+18446744073709551616 / -170141183460469231731687303715884105727
+0
+18446744073709551616 / -9223372036854775808
+-2
+18446744073709551616 / -9223372036854775807
+-2
+18446744073709551616 / -2147483648
+-8589934592
+18446744073709551616 / -2147483647
+-8589934596
+18446744073709551616 / -32768
+-562949953421312
+18446744073709551616 / -32767
+-562967133814800
+18446744073709551616 / -128
+-144115188075855872
+18446744073709551616 / -127
+-145249953336295682
+18446744073709551616 / 255
+72340172838076673
+18446744073709551616 / 256
+72057594037927936
+18446744073709551616 / 65535
+281479271743489
+18446744073709551616 / 65536
+281474976710656
+18446744073709551616 / 4294967295
+4294967297
+18446744073709551616 / 4294967296
+4294967296
+18446744073709551616 / 18446744073709551615
+1
+18446744073709551616 / 18446744073709551616
+1
+18446744073709551616 / 340282366920938463463374607431768211455
+0
+18446744073709551616 / 340282366920938463463374607431768211456
+0
+340282366920938463463374607431768211455 / -170141183460469231731687303715884105728
+-1
+340282366920938463463374607431768211455 / -170141183460469231731687303715884105727
+-2
+340282366920938463463374607431768211455 / -9223372036854775808
+-36893488147419103231
+340282366920938463463374607431768211455 / -9223372036854775807
+-36893488147419103236
+340282366920938463463374607431768211455 / -2147483648
+-158456325028528675187087900671
+340282366920938463463374607431768211455 / -2147483647
+-158456325102315651516285845520
+340282366920938463463374607431768211455 / -32768
+-10384593717069655257060992658440191
+340282366920938463463374607431768211455 / -32767
+-10384910639391414028241053725753600
+340282366920938463463374607431768211455 / -128
+-2658455991569831745807614120560689151
+340282366920938463463374607431768211455 / -127
+-2679388715912901287113185885289513476
+340282366920938463463374607431768211455 / 255
+1334440654591915542993625911497130241
+340282366920938463463374607431768211455 / 256
+1329227995784915872903807060280344575
+340282366920938463463374607431768211455 / 65535
+5192376087906286159508272029171713
+340282366920938463463374607431768211455 / 65536
+5192296858534827628530496329220095
+340282366920938463463374607431768211455 / 4294967295
+79228162532711081671548469249
+340282366920938463463374607431768211455 / 4294967296
+79228162514264337593543950335
+340282366920938463463374607431768211455 / 18446744073709551615
+18446744073709551617
+340282366920938463463374607431768211455 / 18446744073709551616
+18446744073709551615
+340282366920938463463374607431768211455 / 340282366920938463463374607431768211455
+1
+340282366920938463463374607431768211455 / 340282366920938463463374607431768211456
+0
+340282366920938463463374607431768211456 / -170141183460469231731687303715884105728
+-2
+340282366920938463463374607431768211456 / -170141183460469231731687303715884105727
+-2
+340282366920938463463374607431768211456 / -9223372036854775808
+-36893488147419103232
+340282366920938463463374607431768211456 / -9223372036854775807
+-36893488147419103236
+340282366920938463463374607431768211456 / -2147483648
+-158456325028528675187087900672
+340282366920938463463374607431768211456 / -2147483647
+-158456325102315651516285845520
+340282366920938463463374607431768211456 / -32768
+-10384593717069655257060992658440192
+340282366920938463463374607431768211456 / -32767
+-10384910639391414028241053725753600
+340282366920938463463374607431768211456 / -128
+-2658455991569831745807614120560689152
+340282366920938463463374607431768211456 / -127
+-2679388715912901287113185885289513476
+340282366920938463463374607431768211456 / 255
+1334440654591915542993625911497130241
+340282366920938463463374607431768211456 / 256
+1329227995784915872903807060280344576
+340282366920938463463374607431768211456 / 65535
+5192376087906286159508272029171713
+340282366920938463463374607431768211456 / 65536
+5192296858534827628530496329220096
+340282366920938463463374607431768211456 / 4294967295
+79228162532711081671548469249
+340282366920938463463374607431768211456 / 4294967296
+79228162514264337593543950336
+340282366920938463463374607431768211456 / 18446744073709551615
+18446744073709551617
+340282366920938463463374607431768211456 / 18446744073709551616
+18446744073709551616
+340282366920938463463374607431768211456 / 340282366920938463463374607431768211455
+1
+340282366920938463463374607431768211456 / 340282366920938463463374607431768211456
+1
diff --git a/test/ic3/integer_div_2.ret.expected b/test/ic3/integer_div_2.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_div_2.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_eq.in b/test/ic3/integer_eq.in
deleted file mode 100644
index c966b99..0000000
--- a/test/ic3/integer_eq.in
+++ /dev/null
@@ -1,800 +0,0 @@
-quote -170141183460469231731687303715884105728 == -170141183460469231731687303715884105728
--170141183460469231731687303715884105728 == -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105728 == -170141183460469231731687303715884105727
--170141183460469231731687303715884105728 == -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105728 == -9223372036854775808
--170141183460469231731687303715884105728 == -9223372036854775808
-quote -170141183460469231731687303715884105728 == -9223372036854775807
--170141183460469231731687303715884105728 == -9223372036854775807
-quote -170141183460469231731687303715884105728 == -2147483648
--170141183460469231731687303715884105728 == -2147483648
-quote -170141183460469231731687303715884105728 == -2147483647
--170141183460469231731687303715884105728 == -2147483647
-quote -170141183460469231731687303715884105728 == -32768
--170141183460469231731687303715884105728 == -32768
-quote -170141183460469231731687303715884105728 == -32767
--170141183460469231731687303715884105728 == -32767
-quote -170141183460469231731687303715884105728 == -128
--170141183460469231731687303715884105728 == -128
-quote -170141183460469231731687303715884105728 == -127
--170141183460469231731687303715884105728 == -127
-quote -170141183460469231731687303715884105728 == 255
--170141183460469231731687303715884105728 == 255
-quote -170141183460469231731687303715884105728 == 256
--170141183460469231731687303715884105728 == 256
-quote -170141183460469231731687303715884105728 == 65535
--170141183460469231731687303715884105728 == 65535
-quote -170141183460469231731687303715884105728 == 65536
--170141183460469231731687303715884105728 == 65536
-quote -170141183460469231731687303715884105728 == 4294967295
--170141183460469231731687303715884105728 == 4294967295
-quote -170141183460469231731687303715884105728 == 4294967296
--170141183460469231731687303715884105728 == 4294967296
-quote -170141183460469231731687303715884105728 == 18446744073709551615
--170141183460469231731687303715884105728 == 18446744073709551615
-quote -170141183460469231731687303715884105728 == 18446744073709551616
--170141183460469231731687303715884105728 == 18446744073709551616
-quote -170141183460469231731687303715884105728 == 340282366920938463463374607431768211455
--170141183460469231731687303715884105728 == 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105728 == 340282366920938463463374607431768211456
--170141183460469231731687303715884105728 == 340282366920938463463374607431768211456
-quote -170141183460469231731687303715884105727 == -170141183460469231731687303715884105728
--170141183460469231731687303715884105727 == -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105727 == -170141183460469231731687303715884105727
--170141183460469231731687303715884105727 == -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105727 == -9223372036854775808
--170141183460469231731687303715884105727 == -9223372036854775808
-quote -170141183460469231731687303715884105727 == -9223372036854775807
--170141183460469231731687303715884105727 == -9223372036854775807
-quote -170141183460469231731687303715884105727 == -2147483648
--170141183460469231731687303715884105727 == -2147483648
-quote -170141183460469231731687303715884105727 == -2147483647
--170141183460469231731687303715884105727 == -2147483647
-quote -170141183460469231731687303715884105727 == -32768
--170141183460469231731687303715884105727 == -32768
-quote -170141183460469231731687303715884105727 == -32767
--170141183460469231731687303715884105727 == -32767
-quote -170141183460469231731687303715884105727 == -128
--170141183460469231731687303715884105727 == -128
-quote -170141183460469231731687303715884105727 == -127
--170141183460469231731687303715884105727 == -127
-quote -170141183460469231731687303715884105727 == 255
--170141183460469231731687303715884105727 == 255
-quote -170141183460469231731687303715884105727 == 256
--170141183460469231731687303715884105727 == 256
-quote -170141183460469231731687303715884105727 == 65535
--170141183460469231731687303715884105727 == 65535
-quote -170141183460469231731687303715884105727 == 65536
--170141183460469231731687303715884105727 == 65536
-quote -170141183460469231731687303715884105727 == 4294967295
--170141183460469231731687303715884105727 == 4294967295
-quote -170141183460469231731687303715884105727 == 4294967296
--170141183460469231731687303715884105727 == 4294967296
-quote -170141183460469231731687303715884105727 == 18446744073709551615
--170141183460469231731687303715884105727 == 18446744073709551615
-quote -170141183460469231731687303715884105727 == 18446744073709551616
--170141183460469231731687303715884105727 == 18446744073709551616
-quote -170141183460469231731687303715884105727 == 340282366920938463463374607431768211455
--170141183460469231731687303715884105727 == 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105727 == 340282366920938463463374607431768211456
--170141183460469231731687303715884105727 == 340282366920938463463374607431768211456
-quote -9223372036854775808 == -170141183460469231731687303715884105728
--9223372036854775808 == -170141183460469231731687303715884105728
-quote -9223372036854775808 == -170141183460469231731687303715884105727
--9223372036854775808 == -170141183460469231731687303715884105727
-quote -9223372036854775808 == -9223372036854775808
--9223372036854775808 == -9223372036854775808
-quote -9223372036854775808 == -9223372036854775807
--9223372036854775808 == -9223372036854775807
-quote -9223372036854775808 == -2147483648
--9223372036854775808 == -2147483648
-quote -9223372036854775808 == -2147483647
--9223372036854775808 == -2147483647
-quote -9223372036854775808 == -32768
--9223372036854775808 == -32768
-quote -9223372036854775808 == -32767
--9223372036854775808 == -32767
-quote -9223372036854775808 == -128
--9223372036854775808 == -128
-quote -9223372036854775808 == -127
--9223372036854775808 == -127
-quote -9223372036854775808 == 255
--9223372036854775808 == 255
-quote -9223372036854775808 == 256
--9223372036854775808 == 256
-quote -9223372036854775808 == 65535
--9223372036854775808 == 65535
-quote -9223372036854775808 == 65536
--9223372036854775808 == 65536
-quote -9223372036854775808 == 4294967295
--9223372036854775808 == 4294967295
-quote -9223372036854775808 == 4294967296
--9223372036854775808 == 4294967296
-quote -9223372036854775808 == 18446744073709551615
--9223372036854775808 == 18446744073709551615
-quote -9223372036854775808 == 18446744073709551616
--9223372036854775808 == 18446744073709551616
-quote -9223372036854775808 == 340282366920938463463374607431768211455
--9223372036854775808 == 340282366920938463463374607431768211455
-quote -9223372036854775808 == 340282366920938463463374607431768211456
--9223372036854775808 == 340282366920938463463374607431768211456
-quote -9223372036854775807 == -170141183460469231731687303715884105728
--9223372036854775807 == -170141183460469231731687303715884105728
-quote -9223372036854775807 == -170141183460469231731687303715884105727
--9223372036854775807 == -170141183460469231731687303715884105727
-quote -9223372036854775807 == -9223372036854775808
--9223372036854775807 == -9223372036854775808
-quote -9223372036854775807 == -9223372036854775807
--9223372036854775807 == -9223372036854775807
-quote -9223372036854775807 == -2147483648
--9223372036854775807 == -2147483648
-quote -9223372036854775807 == -2147483647
--9223372036854775807 == -2147483647
-quote -9223372036854775807 == -32768
--9223372036854775807 == -32768
-quote -9223372036854775807 == -32767
--9223372036854775807 == -32767
-quote -9223372036854775807 == -128
--9223372036854775807 == -128
-quote -9223372036854775807 == -127
--9223372036854775807 == -127
-quote -9223372036854775807 == 255
--9223372036854775807 == 255
-quote -9223372036854775807 == 256
--9223372036854775807 == 256
-quote -9223372036854775807 == 65535
--9223372036854775807 == 65535
-quote -9223372036854775807 == 65536
--9223372036854775807 == 65536
-quote -9223372036854775807 == 4294967295
--9223372036854775807 == 4294967295
-quote -9223372036854775807 == 4294967296
--9223372036854775807 == 4294967296
-quote -9223372036854775807 == 18446744073709551615
--9223372036854775807 == 18446744073709551615
-quote -9223372036854775807 == 18446744073709551616
--9223372036854775807 == 18446744073709551616
-quote -9223372036854775807 == 340282366920938463463374607431768211455
--9223372036854775807 == 340282366920938463463374607431768211455
-quote -9223372036854775807 == 340282366920938463463374607431768211456
--9223372036854775807 == 340282366920938463463374607431768211456
-quote -2147483648 == -170141183460469231731687303715884105728
--2147483648 == -170141183460469231731687303715884105728
-quote -2147483648 == -170141183460469231731687303715884105727
--2147483648 == -170141183460469231731687303715884105727
-quote -2147483648 == -9223372036854775808
--2147483648 == -9223372036854775808
-quote -2147483648 == -9223372036854775807
--2147483648 == -9223372036854775807
-quote -2147483648 == -2147483648
--2147483648 == -2147483648
-quote -2147483648 == -2147483647
--2147483648 == -2147483647
-quote -2147483648 == -32768
--2147483648 == -32768
-quote -2147483648 == -32767
--2147483648 == -32767
-quote -2147483648 == -128
--2147483648 == -128
-quote -2147483648 == -127
--2147483648 == -127
-quote -2147483648 == 255
--2147483648 == 255
-quote -2147483648 == 256
--2147483648 == 256
-quote -2147483648 == 65535
--2147483648 == 65535
-quote -2147483648 == 65536
--2147483648 == 65536
-quote -2147483648 == 4294967295
--2147483648 == 4294967295
-quote -2147483648 == 4294967296
--2147483648 == 4294967296
-quote -2147483648 == 18446744073709551615
--2147483648 == 18446744073709551615
-quote -2147483648 == 18446744073709551616
--2147483648 == 18446744073709551616
-quote -2147483648 == 340282366920938463463374607431768211455
--2147483648 == 340282366920938463463374607431768211455
-quote -2147483648 == 340282366920938463463374607431768211456
--2147483648 == 340282366920938463463374607431768211456
-quote -2147483647 == -170141183460469231731687303715884105728
--2147483647 == -170141183460469231731687303715884105728
-quote -2147483647 == -170141183460469231731687303715884105727
--2147483647 == -170141183460469231731687303715884105727
-quote -2147483647 == -9223372036854775808
--2147483647 == -9223372036854775808
-quote -2147483647 == -9223372036854775807
--2147483647 == -9223372036854775807
-quote -2147483647 == -2147483648
--2147483647 == -2147483648
-quote -2147483647 == -2147483647
--2147483647 == -2147483647
-quote -2147483647 == -32768
--2147483647 == -32768
-quote -2147483647 == -32767
--2147483647 == -32767
-quote -2147483647 == -128
--2147483647 == -128
-quote -2147483647 == -127
--2147483647 == -127
-quote -2147483647 == 255
--2147483647 == 255
-quote -2147483647 == 256
--2147483647 == 256
-quote -2147483647 == 65535
--2147483647 == 65535
-quote -2147483647 == 65536
--2147483647 == 65536
-quote -2147483647 == 4294967295
--2147483647 == 4294967295
-quote -2147483647 == 4294967296
--2147483647 == 4294967296
-quote -2147483647 == 18446744073709551615
--2147483647 == 18446744073709551615
-quote -2147483647 == 18446744073709551616
--2147483647 == 18446744073709551616
-quote -2147483647 == 340282366920938463463374607431768211455
--2147483647 == 340282366920938463463374607431768211455
-quote -2147483647 == 340282366920938463463374607431768211456
--2147483647 == 340282366920938463463374607431768211456
-quote -32768 == -170141183460469231731687303715884105728
--32768 == -170141183460469231731687303715884105728
-quote -32768 == -170141183460469231731687303715884105727
--32768 == -170141183460469231731687303715884105727
-quote -32768 == -9223372036854775808
--32768 == -9223372036854775808
-quote -32768 == -9223372036854775807
--32768 == -9223372036854775807
-quote -32768 == -2147483648
--32768 == -2147483648
-quote -32768 == -2147483647
--32768 == -2147483647
-quote -32768 == -32768
--32768 == -32768
-quote -32768 == -32767
--32768 == -32767
-quote -32768 == -128
--32768 == -128
-quote -32768 == -127
--32768 == -127
-quote -32768 == 255
--32768 == 255
-quote -32768 == 256
--32768 == 256
-quote -32768 == 65535
--32768 == 65535
-quote -32768 == 65536
--32768 == 65536
-quote -32768 == 4294967295
--32768 == 4294967295
-quote -32768 == 4294967296
--32768 == 4294967296
-quote -32768 == 18446744073709551615
--32768 == 18446744073709551615
-quote -32768 == 18446744073709551616
--32768 == 18446744073709551616
-quote -32768 == 340282366920938463463374607431768211455
--32768 == 340282366920938463463374607431768211455
-quote -32768 == 340282366920938463463374607431768211456
--32768 == 340282366920938463463374607431768211456
-quote -32767 == -170141183460469231731687303715884105728
--32767 == -170141183460469231731687303715884105728
-quote -32767 == -170141183460469231731687303715884105727
--32767 == -170141183460469231731687303715884105727
-quote -32767 == -9223372036854775808
--32767 == -9223372036854775808
-quote -32767 == -9223372036854775807
--32767 == -9223372036854775807
-quote -32767 == -2147483648
--32767 == -2147483648
-quote -32767 == -2147483647
--32767 == -2147483647
-quote -32767 == -32768
--32767 == -32768
-quote -32767 == -32767
--32767 == -32767
-quote -32767 == -128
--32767 == -128
-quote -32767 == -127
--32767 == -127
-quote -32767 == 255
--32767 == 255
-quote -32767 == 256
--32767 == 256
-quote -32767 == 65535
--32767 == 65535
-quote -32767 == 65536
--32767 == 65536
-quote -32767 == 4294967295
--32767 == 4294967295
-quote -32767 == 4294967296
--32767 == 4294967296
-quote -32767 == 18446744073709551615
--32767 == 18446744073709551615
-quote -32767 == 18446744073709551616
--32767 == 18446744073709551616
-quote -32767 == 340282366920938463463374607431768211455
--32767 == 340282366920938463463374607431768211455
-quote -32767 == 340282366920938463463374607431768211456
--32767 == 340282366920938463463374607431768211456
-quote -128 == -170141183460469231731687303715884105728
--128 == -170141183460469231731687303715884105728
-quote -128 == -170141183460469231731687303715884105727
--128 == -170141183460469231731687303715884105727
-quote -128 == -9223372036854775808
--128 == -9223372036854775808
-quote -128 == -9223372036854775807
--128 == -9223372036854775807
-quote -128 == -2147483648
--128 == -2147483648
-quote -128 == -2147483647
--128 == -2147483647
-quote -128 == -32768
--128 == -32768
-quote -128 == -32767
--128 == -32767
-quote -128 == -128
--128 == -128
-quote -128 == -127
--128 == -127
-quote -128 == 255
--128 == 255
-quote -128 == 256
--128 == 256
-quote -128 == 65535
--128 == 65535
-quote -128 == 65536
--128 == 65536
-quote -128 == 4294967295
--128 == 4294967295
-quote -128 == 4294967296
--128 == 4294967296
-quote -128 == 18446744073709551615
--128 == 18446744073709551615
-quote -128 == 18446744073709551616
--128 == 18446744073709551616
-quote -128 == 340282366920938463463374607431768211455
--128 == 340282366920938463463374607431768211455
-quote -128 == 340282366920938463463374607431768211456
--128 == 340282366920938463463374607431768211456
-quote -127 == -170141183460469231731687303715884105728
--127 == -170141183460469231731687303715884105728
-quote -127 == -170141183460469231731687303715884105727
--127 == -170141183460469231731687303715884105727
-quote -127 == -9223372036854775808
--127 == -9223372036854775808
-quote -127 == -9223372036854775807
--127 == -9223372036854775807
-quote -127 == -2147483648
--127 == -2147483648
-quote -127 == -2147483647
--127 == -2147483647
-quote -127 == -32768
--127 == -32768
-quote -127 == -32767
--127 == -32767
-quote -127 == -128
--127 == -128
-quote -127 == -127
--127 == -127
-quote -127 == 255
--127 == 255
-quote -127 == 256
--127 == 256
-quote -127 == 65535
--127 == 65535
-quote -127 == 65536
--127 == 65536
-quote -127 == 4294967295
--127 == 4294967295
-quote -127 == 4294967296
--127 == 4294967296
-quote -127 == 18446744073709551615
--127 == 18446744073709551615
-quote -127 == 18446744073709551616
--127 == 18446744073709551616
-quote -127 == 340282366920938463463374607431768211455
--127 == 340282366920938463463374607431768211455
-quote -127 == 340282366920938463463374607431768211456
--127 == 340282366920938463463374607431768211456
-quote 255 == -170141183460469231731687303715884105728
-255 == -170141183460469231731687303715884105728
-quote 255 == -170141183460469231731687303715884105727
-255 == -170141183460469231731687303715884105727
-quote 255 == -9223372036854775808
-255 == -9223372036854775808
-quote 255 == -9223372036854775807
-255 == -9223372036854775807
-quote 255 == -2147483648
-255 == -2147483648
-quote 255 == -2147483647
-255 == -2147483647
-quote 255 == -32768
-255 == -32768
-quote 255 == -32767
-255 == -32767
-quote 255 == -128
-255 == -128
-quote 255 == -127
-255 == -127
-quote 255 == 255
-255 == 255
-quote 255 == 256
-255 == 256
-quote 255 == 65535
-255 == 65535
-quote 255 == 65536
-255 == 65536
-quote 255 == 4294967295
-255 == 4294967295
-quote 255 == 4294967296
-255 == 4294967296
-quote 255 == 18446744073709551615
-255 == 18446744073709551615
-quote 255 == 18446744073709551616
-255 == 18446744073709551616
-quote 255 == 340282366920938463463374607431768211455
-255 == 340282366920938463463374607431768211455
-quote 255 == 340282366920938463463374607431768211456
-255 == 340282366920938463463374607431768211456
-quote 256 == -170141183460469231731687303715884105728
-256 == -170141183460469231731687303715884105728
-quote 256 == -170141183460469231731687303715884105727
-256 == -170141183460469231731687303715884105727
-quote 256 == -9223372036854775808
-256 == -9223372036854775808
-quote 256 == -9223372036854775807
-256 == -9223372036854775807
-quote 256 == -2147483648
-256 == -2147483648
-quote 256 == -2147483647
-256 == -2147483647
-quote 256 == -32768
-256 == -32768
-quote 256 == -32767
-256 == -32767
-quote 256 == -128
-256 == -128
-quote 256 == -127
-256 == -127
-quote 256 == 255
-256 == 255
-quote 256 == 256
-256 == 256
-quote 256 == 65535
-256 == 65535
-quote 256 == 65536
-256 == 65536
-quote 256 == 4294967295
-256 == 4294967295
-quote 256 == 4294967296
-256 == 4294967296
-quote 256 == 18446744073709551615
-256 == 18446744073709551615
-quote 256 == 18446744073709551616
-256 == 18446744073709551616
-quote 256 == 340282366920938463463374607431768211455
-256 == 340282366920938463463374607431768211455
-quote 256 == 340282366920938463463374607431768211456
-256 == 340282366920938463463374607431768211456
-quote 65535 == -170141183460469231731687303715884105728
-65535 == -170141183460469231731687303715884105728
-quote 65535 == -170141183460469231731687303715884105727
-65535 == -170141183460469231731687303715884105727
-quote 65535 == -9223372036854775808
-65535 == -9223372036854775808
-quote 65535 == -9223372036854775807
-65535 == -9223372036854775807
-quote 65535 == -2147483648
-65535 == -2147483648
-quote 65535 == -2147483647
-65535 == -2147483647
-quote 65535 == -32768
-65535 == -32768
-quote 65535 == -32767
-65535 == -32767
-quote 65535 == -128
-65535 == -128
-quote 65535 == -127
-65535 == -127
-quote 65535 == 255
-65535 == 255
-quote 65535 == 256
-65535 == 256
-quote 65535 == 65535
-65535 == 65535
-quote 65535 == 65536
-65535 == 65536
-quote 65535 == 4294967295
-65535 == 4294967295
-quote 65535 == 4294967296
-65535 == 4294967296
-quote 65535 == 18446744073709551615
-65535 == 18446744073709551615
-quote 65535 == 18446744073709551616
-65535 == 18446744073709551616
-quote 65535 == 340282366920938463463374607431768211455
-65535 == 340282366920938463463374607431768211455
-quote 65535 == 340282366920938463463374607431768211456
-65535 == 340282366920938463463374607431768211456
-quote 65536 == -170141183460469231731687303715884105728
-65536 == -170141183460469231731687303715884105728
-quote 65536 == -170141183460469231731687303715884105727
-65536 == -170141183460469231731687303715884105727
-quote 65536 == -9223372036854775808
-65536 == -9223372036854775808
-quote 65536 == -9223372036854775807
-65536 == -9223372036854775807
-quote 65536 == -2147483648
-65536 == -2147483648
-quote 65536 == -2147483647
-65536 == -2147483647
-quote 65536 == -32768
-65536 == -32768
-quote 65536 == -32767
-65536 == -32767
-quote 65536 == -128
-65536 == -128
-quote 65536 == -127
-65536 == -127
-quote 65536 == 255
-65536 == 255
-quote 65536 == 256
-65536 == 256
-quote 65536 == 65535
-65536 == 65535
-quote 65536 == 65536
-65536 == 65536
-quote 65536 == 4294967295
-65536 == 4294967295
-quote 65536 == 4294967296
-65536 == 4294967296
-quote 65536 == 18446744073709551615
-65536 == 18446744073709551615
-quote 65536 == 18446744073709551616
-65536 == 18446744073709551616
-quote 65536 == 340282366920938463463374607431768211455
-65536 == 340282366920938463463374607431768211455
-quote 65536 == 340282366920938463463374607431768211456
-65536 == 340282366920938463463374607431768211456
-quote 4294967295 == -170141183460469231731687303715884105728
-4294967295 == -170141183460469231731687303715884105728
-quote 4294967295 == -170141183460469231731687303715884105727
-4294967295 == -170141183460469231731687303715884105727
-quote 4294967295 == -9223372036854775808
-4294967295 == -9223372036854775808
-quote 4294967295 == -9223372036854775807
-4294967295 == -9223372036854775807
-quote 4294967295 == -2147483648
-4294967295 == -2147483648
-quote 4294967295 == -2147483647
-4294967295 == -2147483647
-quote 4294967295 == -32768
-4294967295 == -32768
-quote 4294967295 == -32767
-4294967295 == -32767
-quote 4294967295 == -128
-4294967295 == -128
-quote 4294967295 == -127
-4294967295 == -127
-quote 4294967295 == 255
-4294967295 == 255
-quote 4294967295 == 256
-4294967295 == 256
-quote 4294967295 == 65535
-4294967295 == 65535
-quote 4294967295 == 65536
-4294967295 == 65536
-quote 4294967295 == 4294967295
-4294967295 == 4294967295
-quote 4294967295 == 4294967296
-4294967295 == 4294967296
-quote 4294967295 == 18446744073709551615
-4294967295 == 18446744073709551615
-quote 4294967295 == 18446744073709551616
-4294967295 == 18446744073709551616
-quote 4294967295 == 340282366920938463463374607431768211455
-4294967295 == 340282366920938463463374607431768211455
-quote 4294967295 == 340282366920938463463374607431768211456
-4294967295 == 340282366920938463463374607431768211456
-quote 4294967296 == -170141183460469231731687303715884105728
-4294967296 == -170141183460469231731687303715884105728
-quote 4294967296 == -170141183460469231731687303715884105727
-4294967296 == -170141183460469231731687303715884105727
-quote 4294967296 == -9223372036854775808
-4294967296 == -9223372036854775808
-quote 4294967296 == -9223372036854775807
-4294967296 == -9223372036854775807
-quote 4294967296 == -2147483648
-4294967296 == -2147483648
-quote 4294967296 == -2147483647
-4294967296 == -2147483647
-quote 4294967296 == -32768
-4294967296 == -32768
-quote 4294967296 == -32767
-4294967296 == -32767
-quote 4294967296 == -128
-4294967296 == -128
-quote 4294967296 == -127
-4294967296 == -127
-quote 4294967296 == 255
-4294967296 == 255
-quote 4294967296 == 256
-4294967296 == 256
-quote 4294967296 == 65535
-4294967296 == 65535
-quote 4294967296 == 65536
-4294967296 == 65536
-quote 4294967296 == 4294967295
-4294967296 == 4294967295
-quote 4294967296 == 4294967296
-4294967296 == 4294967296
-quote 4294967296 == 18446744073709551615
-4294967296 == 18446744073709551615
-quote 4294967296 == 18446744073709551616
-4294967296 == 18446744073709551616
-quote 4294967296 == 340282366920938463463374607431768211455
-4294967296 == 340282366920938463463374607431768211455
-quote 4294967296 == 340282366920938463463374607431768211456
-4294967296 == 340282366920938463463374607431768211456
-quote 18446744073709551615 == -170141183460469231731687303715884105728
-18446744073709551615 == -170141183460469231731687303715884105728
-quote 18446744073709551615 == -170141183460469231731687303715884105727
-18446744073709551615 == -170141183460469231731687303715884105727
-quote 18446744073709551615 == -9223372036854775808
-18446744073709551615 == -9223372036854775808
-quote 18446744073709551615 == -9223372036854775807
-18446744073709551615 == -9223372036854775807
-quote 18446744073709551615 == -2147483648
-18446744073709551615 == -2147483648
-quote 18446744073709551615 == -2147483647
-18446744073709551615 == -2147483647
-quote 18446744073709551615 == -32768
-18446744073709551615 == -32768
-quote 18446744073709551615 == -32767
-18446744073709551615 == -32767
-quote 18446744073709551615 == -128
-18446744073709551615 == -128
-quote 18446744073709551615 == -127
-18446744073709551615 == -127
-quote 18446744073709551615 == 255
-18446744073709551615 == 255
-quote 18446744073709551615 == 256
-18446744073709551615 == 256
-quote 18446744073709551615 == 65535
-18446744073709551615 == 65535
-quote 18446744073709551615 == 65536
-18446744073709551615 == 65536
-quote 18446744073709551615 == 4294967295
-18446744073709551615 == 4294967295
-quote 18446744073709551615 == 4294967296
-18446744073709551615 == 4294967296
-quote 18446744073709551615 == 18446744073709551615
-18446744073709551615 == 18446744073709551615
-quote 18446744073709551615 == 18446744073709551616
-18446744073709551615 == 18446744073709551616
-quote 18446744073709551615 == 340282366920938463463374607431768211455
-18446744073709551615 == 340282366920938463463374607431768211455
-quote 18446744073709551615 == 340282366920938463463374607431768211456
-18446744073709551615 == 340282366920938463463374607431768211456
-quote 18446744073709551616 == -170141183460469231731687303715884105728
-18446744073709551616 == -170141183460469231731687303715884105728
-quote 18446744073709551616 == -170141183460469231731687303715884105727
-18446744073709551616 == -170141183460469231731687303715884105727
-quote 18446744073709551616 == -9223372036854775808
-18446744073709551616 == -9223372036854775808
-quote 18446744073709551616 == -9223372036854775807
-18446744073709551616 == -9223372036854775807
-quote 18446744073709551616 == -2147483648
-18446744073709551616 == -2147483648
-quote 18446744073709551616 == -2147483647
-18446744073709551616 == -2147483647
-quote 18446744073709551616 == -32768
-18446744073709551616 == -32768
-quote 18446744073709551616 == -32767
-18446744073709551616 == -32767
-quote 18446744073709551616 == -128
-18446744073709551616 == -128
-quote 18446744073709551616 == -127
-18446744073709551616 == -127
-quote 18446744073709551616 == 255
-18446744073709551616 == 255
-quote 18446744073709551616 == 256
-18446744073709551616 == 256
-quote 18446744073709551616 == 65535
-18446744073709551616 == 65535
-quote 18446744073709551616 == 65536
-18446744073709551616 == 65536
-quote 18446744073709551616 == 4294967295
-18446744073709551616 == 4294967295
-quote 18446744073709551616 == 4294967296
-18446744073709551616 == 4294967296
-quote 18446744073709551616 == 18446744073709551615
-18446744073709551616 == 18446744073709551615
-quote 18446744073709551616 == 18446744073709551616
-18446744073709551616 == 18446744073709551616
-quote 18446744073709551616 == 340282366920938463463374607431768211455
-18446744073709551616 == 340282366920938463463374607431768211455
-quote 18446744073709551616 == 340282366920938463463374607431768211456
-18446744073709551616 == 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211455 == -170141183460469231731687303715884105728
-340282366920938463463374607431768211455 == -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211455 == -170141183460469231731687303715884105727
-340282366920938463463374607431768211455 == -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211455 == -9223372036854775808
-340282366920938463463374607431768211455 == -9223372036854775808
-quote 340282366920938463463374607431768211455 == -9223372036854775807
-340282366920938463463374607431768211455 == -9223372036854775807
-quote 340282366920938463463374607431768211455 == -2147483648
-340282366920938463463374607431768211455 == -2147483648
-quote 340282366920938463463374607431768211455 == -2147483647
-340282366920938463463374607431768211455 == -2147483647
-quote 340282366920938463463374607431768211455 == -32768
-340282366920938463463374607431768211455 == -32768
-quote 340282366920938463463374607431768211455 == -32767
-340282366920938463463374607431768211455 == -32767
-quote 340282366920938463463374607431768211455 == -128
-340282366920938463463374607431768211455 == -128
-quote 340282366920938463463374607431768211455 == -127
-340282366920938463463374607431768211455 == -127
-quote 340282366920938463463374607431768211455 == 255
-340282366920938463463374607431768211455 == 255
-quote 340282366920938463463374607431768211455 == 256
-340282366920938463463374607431768211455 == 256
-quote 340282366920938463463374607431768211455 == 65535
-340282366920938463463374607431768211455 == 65535
-quote 340282366920938463463374607431768211455 == 65536
-340282366920938463463374607431768211455 == 65536
-quote 340282366920938463463374607431768211455 == 4294967295
-340282366920938463463374607431768211455 == 4294967295
-quote 340282366920938463463374607431768211455 == 4294967296
-340282366920938463463374607431768211455 == 4294967296
-quote 340282366920938463463374607431768211455 == 18446744073709551615
-340282366920938463463374607431768211455 == 18446744073709551615
-quote 340282366920938463463374607431768211455 == 18446744073709551616
-340282366920938463463374607431768211455 == 18446744073709551616
-quote 340282366920938463463374607431768211455 == 340282366920938463463374607431768211455
-340282366920938463463374607431768211455 == 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211455 == 340282366920938463463374607431768211456
-340282366920938463463374607431768211455 == 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211456 == -170141183460469231731687303715884105728
-340282366920938463463374607431768211456 == -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211456 == -170141183460469231731687303715884105727
-340282366920938463463374607431768211456 == -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211456 == -9223372036854775808
-340282366920938463463374607431768211456 == -9223372036854775808
-quote 340282366920938463463374607431768211456 == -9223372036854775807
-340282366920938463463374607431768211456 == -9223372036854775807
-quote 340282366920938463463374607431768211456 == -2147483648
-340282366920938463463374607431768211456 == -2147483648
-quote 340282366920938463463374607431768211456 == -2147483647
-340282366920938463463374607431768211456 == -2147483647
-quote 340282366920938463463374607431768211456 == -32768
-340282366920938463463374607431768211456 == -32768
-quote 340282366920938463463374607431768211456 == -32767
-340282366920938463463374607431768211456 == -32767
-quote 340282366920938463463374607431768211456 == -128
-340282366920938463463374607431768211456 == -128
-quote 340282366920938463463374607431768211456 == -127
-340282366920938463463374607431768211456 == -127
-quote 340282366920938463463374607431768211456 == 255
-340282366920938463463374607431768211456 == 255
-quote 340282366920938463463374607431768211456 == 256
-340282366920938463463374607431768211456 == 256
-quote 340282366920938463463374607431768211456 == 65535
-340282366920938463463374607431768211456 == 65535
-quote 340282366920938463463374607431768211456 == 65536
-340282366920938463463374607431768211456 == 65536
-quote 340282366920938463463374607431768211456 == 4294967295
-340282366920938463463374607431768211456 == 4294967295
-quote 340282366920938463463374607431768211456 == 4294967296
-340282366920938463463374607431768211456 == 4294967296
-quote 340282366920938463463374607431768211456 == 18446744073709551615
-340282366920938463463374607431768211456 == 18446744073709551615
-quote 340282366920938463463374607431768211456 == 18446744073709551616
-340282366920938463463374607431768211456 == 18446744073709551616
-quote 340282366920938463463374607431768211456 == 340282366920938463463374607431768211455
-340282366920938463463374607431768211456 == 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211456 == 340282366920938463463374607431768211456
-340282366920938463463374607431768211456 == 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_eq.out.expected b/test/ic3/integer_eq.out.expected
deleted file mode 100644
index 23605cf..0000000
--- a/test/ic3/integer_eq.out.expected
+++ /dev/null
@@ -1,800 +0,0 @@
--170141183460469231731687303715884105728 == -170141183460469231731687303715884105728
-true
--170141183460469231731687303715884105728 == -170141183460469231731687303715884105727
-false
--170141183460469231731687303715884105728 == -9223372036854775808
-false
--170141183460469231731687303715884105728 == -9223372036854775807
-false
--170141183460469231731687303715884105728 == -2147483648
-false
--170141183460469231731687303715884105728 == -2147483647
-false
--170141183460469231731687303715884105728 == -32768
-false
--170141183460469231731687303715884105728 == -32767
-false
--170141183460469231731687303715884105728 == -128
-false
--170141183460469231731687303715884105728 == -127
-false
--170141183460469231731687303715884105728 == 255
-false
--170141183460469231731687303715884105728 == 256
-false
--170141183460469231731687303715884105728 == 65535
-false
--170141183460469231731687303715884105728 == 65536
-false
--170141183460469231731687303715884105728 == 4294967295
-false
--170141183460469231731687303715884105728 == 4294967296
-false
--170141183460469231731687303715884105728 == 18446744073709551615
-false
--170141183460469231731687303715884105728 == 18446744073709551616
-false
--170141183460469231731687303715884105728 == 340282366920938463463374607431768211455
-false
--170141183460469231731687303715884105728 == 340282366920938463463374607431768211456
-false
--170141183460469231731687303715884105727 == -170141183460469231731687303715884105728
-false
--170141183460469231731687303715884105727 == -170141183460469231731687303715884105727
-true
--170141183460469231731687303715884105727 == -9223372036854775808
-false
--170141183460469231731687303715884105727 == -9223372036854775807
-false
--170141183460469231731687303715884105727 == -2147483648
-false
--170141183460469231731687303715884105727 == -2147483647
-false
--170141183460469231731687303715884105727 == -32768
-false
--170141183460469231731687303715884105727 == -32767
-false
--170141183460469231731687303715884105727 == -128
-false
--170141183460469231731687303715884105727 == -127
-false
--170141183460469231731687303715884105727 == 255
-false
--170141183460469231731687303715884105727 == 256
-false
--170141183460469231731687303715884105727 == 65535
-false
--170141183460469231731687303715884105727 == 65536
-false
--170141183460469231731687303715884105727 == 4294967295
-false
--170141183460469231731687303715884105727 == 4294967296
-false
--170141183460469231731687303715884105727 == 18446744073709551615
-false
--170141183460469231731687303715884105727 == 18446744073709551616
-false
--170141183460469231731687303715884105727 == 340282366920938463463374607431768211455
-false
--170141183460469231731687303715884105727 == 340282366920938463463374607431768211456
-false
--9223372036854775808 == -170141183460469231731687303715884105728
-false
--9223372036854775808 == -170141183460469231731687303715884105727
-false
--9223372036854775808 == -9223372036854775808
-true
--9223372036854775808 == -9223372036854775807
-false
--9223372036854775808 == -2147483648
-false
--9223372036854775808 == -2147483647
-false
--9223372036854775808 == -32768
-false
--9223372036854775808 == -32767
-false
--9223372036854775808 == -128
-false
--9223372036854775808 == -127
-false
--9223372036854775808 == 255
-false
--9223372036854775808 == 256
-false
--9223372036854775808 == 65535
-false
--9223372036854775808 == 65536
-false
--9223372036854775808 == 4294967295
-false
--9223372036854775808 == 4294967296
-false
--9223372036854775808 == 18446744073709551615
-false
--9223372036854775808 == 18446744073709551616
-false
--9223372036854775808 == 340282366920938463463374607431768211455
-false
--9223372036854775808 == 340282366920938463463374607431768211456
-false
--9223372036854775807 == -170141183460469231731687303715884105728
-false
--9223372036854775807 == -170141183460469231731687303715884105727
-false
--9223372036854775807 == -9223372036854775808
-false
--9223372036854775807 == -9223372036854775807
-true
--9223372036854775807 == -2147483648
-false
--9223372036854775807 == -2147483647
-false
--9223372036854775807 == -32768
-false
--9223372036854775807 == -32767
-false
--9223372036854775807 == -128
-false
--9223372036854775807 == -127
-false
--9223372036854775807 == 255
-false
--9223372036854775807 == 256
-false
--9223372036854775807 == 65535
-false
--9223372036854775807 == 65536
-false
--9223372036854775807 == 4294967295
-false
--9223372036854775807 == 4294967296
-false
--9223372036854775807 == 18446744073709551615
-false
--9223372036854775807 == 18446744073709551616
-false
--9223372036854775807 == 340282366920938463463374607431768211455
-false
--9223372036854775807 == 340282366920938463463374607431768211456
-false
--2147483648 == -170141183460469231731687303715884105728
-false
--2147483648 == -170141183460469231731687303715884105727
-false
--2147483648 == -9223372036854775808
-false
--2147483648 == -9223372036854775807
-false
--2147483648 == -2147483648
-true
--2147483648 == -2147483647
-false
--2147483648 == -32768
-false
--2147483648 == -32767
-false
--2147483648 == -128
-false
--2147483648 == -127
-false
--2147483648 == 255
-false
--2147483648 == 256
-false
--2147483648 == 65535
-false
--2147483648 == 65536
-false
--2147483648 == 4294967295
-false
--2147483648 == 4294967296
-false
--2147483648 == 18446744073709551615
-false
--2147483648 == 18446744073709551616
-false
--2147483648 == 340282366920938463463374607431768211455
-false
--2147483648 == 340282366920938463463374607431768211456
-false
--2147483647 == -170141183460469231731687303715884105728
-false
--2147483647 == -170141183460469231731687303715884105727
-false
--2147483647 == -9223372036854775808
-false
--2147483647 == -9223372036854775807
-false
--2147483647 == -2147483648
-false
--2147483647 == -2147483647
-true
--2147483647 == -32768
-false
--2147483647 == -32767
-false
--2147483647 == -128
-false
--2147483647 == -127
-false
--2147483647 == 255
-false
--2147483647 == 256
-false
--2147483647 == 65535
-false
--2147483647 == 65536
-false
--2147483647 == 4294967295
-false
--2147483647 == 4294967296
-false
--2147483647 == 18446744073709551615
-false
--2147483647 == 18446744073709551616
-false
--2147483647 == 340282366920938463463374607431768211455
-false
--2147483647 == 340282366920938463463374607431768211456
-false
--32768 == -170141183460469231731687303715884105728
-false
--32768 == -170141183460469231731687303715884105727
-false
--32768 == -9223372036854775808
-false
--32768 == -9223372036854775807
-false
--32768 == -2147483648
-false
--32768 == -2147483647
-false
--32768 == -32768
-true
--32768 == -32767
-false
--32768 == -128
-false
--32768 == -127
-false
--32768 == 255
-false
--32768 == 256
-false
--32768 == 65535
-false
--32768 == 65536
-false
--32768 == 4294967295
-false
--32768 == 4294967296
-false
--32768 == 18446744073709551615
-false
--32768 == 18446744073709551616
-false
--32768 == 340282366920938463463374607431768211455
-false
--32768 == 340282366920938463463374607431768211456
-false
--32767 == -170141183460469231731687303715884105728
-false
--32767 == -170141183460469231731687303715884105727
-false
--32767 == -9223372036854775808
-false
--32767 == -9223372036854775807
-false
--32767 == -2147483648
-false
--32767 == -2147483647
-false
--32767 == -32768
-false
--32767 == -32767
-true
--32767 == -128
-false
--32767 == -127
-false
--32767 == 255
-false
--32767 == 256
-false
--32767 == 65535
-false
--32767 == 65536
-false
--32767 == 4294967295
-false
--32767 == 4294967296
-false
--32767 == 18446744073709551615
-false
--32767 == 18446744073709551616
-false
--32767 == 340282366920938463463374607431768211455
-false
--32767 == 340282366920938463463374607431768211456
-false
--128 == -170141183460469231731687303715884105728
-false
--128 == -170141183460469231731687303715884105727
-false
--128 == -9223372036854775808
-false
--128 == -9223372036854775807
-false
--128 == -2147483648
-false
--128 == -2147483647
-false
--128 == -32768
-false
--128 == -32767
-false
--128 == -128
-true
--128 == -127
-false
--128 == 255
-false
--128 == 256
-false
--128 == 65535
-false
--128 == 65536
-false
--128 == 4294967295
-false
--128 == 4294967296
-false
--128 == 18446744073709551615
-false
--128 == 18446744073709551616
-false
--128 == 340282366920938463463374607431768211455
-false
--128 == 340282366920938463463374607431768211456
-false
--127 == -170141183460469231731687303715884105728
-false
--127 == -170141183460469231731687303715884105727
-false
--127 == -9223372036854775808
-false
--127 == -9223372036854775807
-false
--127 == -2147483648
-false
--127 == -2147483647
-false
--127 == -32768
-false
--127 == -32767
-false
--127 == -128
-false
--127 == -127
-true
--127 == 255
-false
--127 == 256
-false
--127 == 65535
-false
--127 == 65536
-false
--127 == 4294967295
-false
--127 == 4294967296
-false
--127 == 18446744073709551615
-false
--127 == 18446744073709551616
-false
--127 == 340282366920938463463374607431768211455
-false
--127 == 340282366920938463463374607431768211456
-false
-255 == -170141183460469231731687303715884105728
-false
-255 == -170141183460469231731687303715884105727
-false
-255 == -9223372036854775808
-false
-255 == -9223372036854775807
-false
-255 == -2147483648
-false
-255 == -2147483647
-false
-255 == -32768
-false
-255 == -32767
-false
-255 == -128
-false
-255 == -127
-false
-255 == 255
-true
-255 == 256
-false
-255 == 65535
-false
-255 == 65536
-false
-255 == 4294967295
-false
-255 == 4294967296
-false
-255 == 18446744073709551615
-false
-255 == 18446744073709551616
-false
-255 == 340282366920938463463374607431768211455
-false
-255 == 340282366920938463463374607431768211456
-false
-256 == -170141183460469231731687303715884105728
-false
-256 == -170141183460469231731687303715884105727
-false
-256 == -9223372036854775808
-false
-256 == -9223372036854775807
-false
-256 == -2147483648
-false
-256 == -2147483647
-false
-256 == -32768
-false
-256 == -32767
-false
-256 == -128
-false
-256 == -127
-false
-256 == 255
-false
-256 == 256
-true
-256 == 65535
-false
-256 == 65536
-false
-256 == 4294967295
-false
-256 == 4294967296
-false
-256 == 18446744073709551615
-false
-256 == 18446744073709551616
-false
-256 == 340282366920938463463374607431768211455
-false
-256 == 340282366920938463463374607431768211456
-false
-65535 == -170141183460469231731687303715884105728
-false
-65535 == -170141183460469231731687303715884105727
-false
-65535 == -9223372036854775808
-false
-65535 == -9223372036854775807
-false
-65535 == -2147483648
-false
-65535 == -2147483647
-false
-65535 == -32768
-false
-65535 == -32767
-false
-65535 == -128
-false
-65535 == -127
-false
-65535 == 255
-false
-65535 == 256
-false
-65535 == 65535
-true
-65535 == 65536
-false
-65535 == 4294967295
-false
-65535 == 4294967296
-false
-65535 == 18446744073709551615
-false
-65535 == 18446744073709551616
-false
-65535 == 340282366920938463463374607431768211455
-false
-65535 == 340282366920938463463374607431768211456
-false
-65536 == -170141183460469231731687303715884105728
-false
-65536 == -170141183460469231731687303715884105727
-false
-65536 == -9223372036854775808
-false
-65536 == -9223372036854775807
-false
-65536 == -2147483648
-false
-65536 == -2147483647
-false
-65536 == -32768
-false
-65536 == -32767
-false
-65536 == -128
-false
-65536 == -127
-false
-65536 == 255
-false
-65536 == 256
-false
-65536 == 65535
-false
-65536 == 65536
-true
-65536 == 4294967295
-false
-65536 == 4294967296
-false
-65536 == 18446744073709551615
-false
-65536 == 18446744073709551616
-false
-65536 == 340282366920938463463374607431768211455
-false
-65536 == 340282366920938463463374607431768211456
-false
-4294967295 == -170141183460469231731687303715884105728
-false
-4294967295 == -170141183460469231731687303715884105727
-false
-4294967295 == -9223372036854775808
-false
-4294967295 == -9223372036854775807
-false
-4294967295 == -2147483648
-false
-4294967295 == -2147483647
-false
-4294967295 == -32768
-false
-4294967295 == -32767
-false
-4294967295 == -128
-false
-4294967295 == -127
-false
-4294967295 == 255
-false
-4294967295 == 256
-false
-4294967295 == 65535
-false
-4294967295 == 65536
-false
-4294967295 == 4294967295
-true
-4294967295 == 4294967296
-false
-4294967295 == 18446744073709551615
-false
-4294967295 == 18446744073709551616
-false
-4294967295 == 340282366920938463463374607431768211455
-false
-4294967295 == 340282366920938463463374607431768211456
-false
-4294967296 == -170141183460469231731687303715884105728
-false
-4294967296 == -170141183460469231731687303715884105727
-false
-4294967296 == -9223372036854775808
-false
-4294967296 == -9223372036854775807
-false
-4294967296 == -2147483648
-false
-4294967296 == -2147483647
-false
-4294967296 == -32768
-false
-4294967296 == -32767
-false
-4294967296 == -128
-false
-4294967296 == -127
-false
-4294967296 == 255
-false
-4294967296 == 256
-false
-4294967296 == 65535
-false
-4294967296 == 65536
-false
-4294967296 == 4294967295
-false
-4294967296 == 4294967296
-true
-4294967296 == 18446744073709551615
-false
-4294967296 == 18446744073709551616
-false
-4294967296 == 340282366920938463463374607431768211455
-false
-4294967296 == 340282366920938463463374607431768211456
-false
-18446744073709551615 == -170141183460469231731687303715884105728
-false
-18446744073709551615 == -170141183460469231731687303715884105727
-false
-18446744073709551615 == -9223372036854775808
-false
-18446744073709551615 == -9223372036854775807
-false
-18446744073709551615 == -2147483648
-false
-18446744073709551615 == -2147483647
-false
-18446744073709551615 == -32768
-false
-18446744073709551615 == -32767
-false
-18446744073709551615 == -128
-false
-18446744073709551615 == -127
-false
-18446744073709551615 == 255
-false
-18446744073709551615 == 256
-false
-18446744073709551615 == 65535
-false
-18446744073709551615 == 65536
-false
-18446744073709551615 == 4294967295
-false
-18446744073709551615 == 4294967296
-false
-18446744073709551615 == 18446744073709551615
-true
-18446744073709551615 == 18446744073709551616
-false
-18446744073709551615 == 340282366920938463463374607431768211455
-false
-18446744073709551615 == 340282366920938463463374607431768211456
-false
-18446744073709551616 == -170141183460469231731687303715884105728
-false
-18446744073709551616 == -170141183460469231731687303715884105727
-false
-18446744073709551616 == -9223372036854775808
-false
-18446744073709551616 == -9223372036854775807
-false
-18446744073709551616 == -2147483648
-false
-18446744073709551616 == -2147483647
-false
-18446744073709551616 == -32768
-false
-18446744073709551616 == -32767
-false
-18446744073709551616 == -128
-false
-18446744073709551616 == -127
-false
-18446744073709551616 == 255
-false
-18446744073709551616 == 256
-false
-18446744073709551616 == 65535
-false
-18446744073709551616 == 65536
-false
-18446744073709551616 == 4294967295
-false
-18446744073709551616 == 4294967296
-false
-18446744073709551616 == 18446744073709551615
-false
-18446744073709551616 == 18446744073709551616
-true
-18446744073709551616 == 340282366920938463463374607431768211455
-false
-18446744073709551616 == 340282366920938463463374607431768211456
-false
-340282366920938463463374607431768211455 == -170141183460469231731687303715884105728
-false
-340282366920938463463374607431768211455 == -170141183460469231731687303715884105727
-false
-340282366920938463463374607431768211455 == -9223372036854775808
-false
-340282366920938463463374607431768211455 == -9223372036854775807
-false
-340282366920938463463374607431768211455 == -2147483648
-false
-340282366920938463463374607431768211455 == -2147483647
-false
-340282366920938463463374607431768211455 == -32768
-false
-340282366920938463463374607431768211455 == -32767
-false
-340282366920938463463374607431768211455 == -128
-false
-340282366920938463463374607431768211455 == -127
-false
-340282366920938463463374607431768211455 == 255
-false
-340282366920938463463374607431768211455 == 256
-false
-340282366920938463463374607431768211455 == 65535
-false
-340282366920938463463374607431768211455 == 65536
-false
-340282366920938463463374607431768211455 == 4294967295
-false
-340282366920938463463374607431768211455 == 4294967296
-false
-340282366920938463463374607431768211455 == 18446744073709551615
-false
-340282366920938463463374607431768211455 == 18446744073709551616
-false
-340282366920938463463374607431768211455 == 340282366920938463463374607431768211455
-true
-340282366920938463463374607431768211455 == 340282366920938463463374607431768211456
-false
-340282366920938463463374607431768211456 == -170141183460469231731687303715884105728
-false
-340282366920938463463374607431768211456 == -170141183460469231731687303715884105727
-false
-340282366920938463463374607431768211456 == -9223372036854775808
-false
-340282366920938463463374607431768211456 == -9223372036854775807
-false
-340282366920938463463374607431768211456 == -2147483648
-false
-340282366920938463463374607431768211456 == -2147483647
-false
-340282366920938463463374607431768211456 == -32768
-false
-340282366920938463463374607431768211456 == -32767
-false
-340282366920938463463374607431768211456 == -128
-false
-340282366920938463463374607431768211456 == -127
-false
-340282366920938463463374607431768211456 == 255
-false
-340282366920938463463374607431768211456 == 256
-false
-340282366920938463463374607431768211456 == 65535
-false
-340282366920938463463374607431768211456 == 65536
-false
-340282366920938463463374607431768211456 == 4294967295
-false
-340282366920938463463374607431768211456 == 4294967296
-false
-340282366920938463463374607431768211456 == 18446744073709551615
-false
-340282366920938463463374607431768211456 == 18446744073709551616
-false
-340282366920938463463374607431768211456 == 340282366920938463463374607431768211455
-false
-340282366920938463463374607431768211456 == 340282366920938463463374607431768211456
-true
diff --git a/test/ic3/integer_eq.ret.expected b/test/ic3/integer_eq.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/integer_eq.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/integer_eq_2.in b/test/ic3/integer_eq_2.in
new file mode 100644
index 0000000..c966b99
--- /dev/null
+++ b/test/ic3/integer_eq_2.in
@@ -0,0 +1,800 @@
+quote -170141183460469231731687303715884105728 == -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 == -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105728 == -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 == -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105728 == -9223372036854775808
+-170141183460469231731687303715884105728 == -9223372036854775808
+quote -170141183460469231731687303715884105728 == -9223372036854775807
+-170141183460469231731687303715884105728 == -9223372036854775807
+quote -170141183460469231731687303715884105728 == -2147483648
+-170141183460469231731687303715884105728 == -2147483648
+quote -170141183460469231731687303715884105728 == -2147483647
+-170141183460469231731687303715884105728 == -2147483647
+quote -170141183460469231731687303715884105728 == -32768
+-170141183460469231731687303715884105728 == -32768
+quote -170141183460469231731687303715884105728 == -32767
+-170141183460469231731687303715884105728 == -32767
+quote -170141183460469231731687303715884105728 == -128
+-170141183460469231731687303715884105728 == -128
+quote -170141183460469231731687303715884105728 == -127
+-170141183460469231731687303715884105728 == -127
+quote -170141183460469231731687303715884105728 == 255
+-170141183460469231731687303715884105728 == 255
+quote -170141183460469231731687303715884105728 == 256
+-170141183460469231731687303715884105728 == 256
+quote -170141183460469231731687303715884105728 == 65535
+-170141183460469231731687303715884105728 == 65535
+quote -170141183460469231731687303715884105728 == 65536
+-170141183460469231731687303715884105728 == 65536
+quote -170141183460469231731687303715884105728 == 4294967295
+-170141183460469231731687303715884105728 == 4294967295
+quote -170141183460469231731687303715884105728 == 4294967296
+-170141183460469231731687303715884105728 == 4294967296
+quote -170141183460469231731687303715884105728 == 18446744073709551615
+-170141183460469231731687303715884105728 == 18446744073709551615
+quote -170141183460469231731687303715884105728 == 18446744073709551616
+-170141183460469231731687303715884105728 == 18446744073709551616
+quote -170141183460469231731687303715884105728 == 340282366920938463463374607431768211455
+-170141183460469231731687303715884105728 == 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105728 == 340282366920938463463374607431768211456
+-170141183460469231731687303715884105728 == 340282366920938463463374607431768211456
+quote -170141183460469231731687303715884105727 == -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 == -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105727 == -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 == -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105727 == -9223372036854775808
+-170141183460469231731687303715884105727 == -9223372036854775808
+quote -170141183460469231731687303715884105727 == -9223372036854775807
+-170141183460469231731687303715884105727 == -9223372036854775807
+quote -170141183460469231731687303715884105727 == -2147483648
+-170141183460469231731687303715884105727 == -2147483648
+quote -170141183460469231731687303715884105727 == -2147483647
+-170141183460469231731687303715884105727 == -2147483647
+quote -170141183460469231731687303715884105727 == -32768
+-170141183460469231731687303715884105727 == -32768
+quote -170141183460469231731687303715884105727 == -32767
+-170141183460469231731687303715884105727 == -32767
+quote -170141183460469231731687303715884105727 == -128
+-170141183460469231731687303715884105727 == -128
+quote -170141183460469231731687303715884105727 == -127
+-170141183460469231731687303715884105727 == -127
+quote -170141183460469231731687303715884105727 == 255
+-170141183460469231731687303715884105727 == 255
+quote -170141183460469231731687303715884105727 == 256
+-170141183460469231731687303715884105727 == 256
+quote -170141183460469231731687303715884105727 == 65535
+-170141183460469231731687303715884105727 == 65535
+quote -170141183460469231731687303715884105727 == 65536
+-170141183460469231731687303715884105727 == 65536
+quote -170141183460469231731687303715884105727 == 4294967295
+-170141183460469231731687303715884105727 == 4294967295
+quote -170141183460469231731687303715884105727 == 4294967296
+-170141183460469231731687303715884105727 == 4294967296
+quote -170141183460469231731687303715884105727 == 18446744073709551615
+-170141183460469231731687303715884105727 == 18446744073709551615
+quote -170141183460469231731687303715884105727 == 18446744073709551616
+-170141183460469231731687303715884105727 == 18446744073709551616
+quote -170141183460469231731687303715884105727 == 340282366920938463463374607431768211455
+-170141183460469231731687303715884105727 == 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105727 == 340282366920938463463374607431768211456
+-170141183460469231731687303715884105727 == 340282366920938463463374607431768211456
+quote -9223372036854775808 == -170141183460469231731687303715884105728
+-9223372036854775808 == -170141183460469231731687303715884105728
+quote -9223372036854775808 == -170141183460469231731687303715884105727
+-9223372036854775808 == -170141183460469231731687303715884105727
+quote -9223372036854775808 == -9223372036854775808
+-9223372036854775808 == -9223372036854775808
+quote -9223372036854775808 == -9223372036854775807
+-9223372036854775808 == -9223372036854775807
+quote -9223372036854775808 == -2147483648
+-9223372036854775808 == -2147483648
+quote -9223372036854775808 == -2147483647
+-9223372036854775808 == -2147483647
+quote -9223372036854775808 == -32768
+-9223372036854775808 == -32768
+quote -9223372036854775808 == -32767
+-9223372036854775808 == -32767
+quote -9223372036854775808 == -128
+-9223372036854775808 == -128
+quote -9223372036854775808 == -127
+-9223372036854775808 == -127
+quote -9223372036854775808 == 255
+-9223372036854775808 == 255
+quote -9223372036854775808 == 256
+-9223372036854775808 == 256
+quote -9223372036854775808 == 65535
+-9223372036854775808 == 65535
+quote -9223372036854775808 == 65536
+-9223372036854775808 == 65536
+quote -9223372036854775808 == 4294967295
+-9223372036854775808 == 4294967295
+quote -9223372036854775808 == 4294967296
+-9223372036854775808 == 4294967296
+quote -9223372036854775808 == 18446744073709551615
+-9223372036854775808 == 18446744073709551615
+quote -9223372036854775808 == 18446744073709551616
+-9223372036854775808 == 18446744073709551616
+quote -9223372036854775808 == 340282366920938463463374607431768211455
+-9223372036854775808 == 340282366920938463463374607431768211455
+quote -9223372036854775808 == 340282366920938463463374607431768211456
+-9223372036854775808 == 340282366920938463463374607431768211456
+quote -9223372036854775807 == -170141183460469231731687303715884105728
+-9223372036854775807 == -170141183460469231731687303715884105728
+quote -9223372036854775807 == -170141183460469231731687303715884105727
+-9223372036854775807 == -170141183460469231731687303715884105727
+quote -9223372036854775807 == -9223372036854775808
+-9223372036854775807 == -9223372036854775808
+quote -9223372036854775807 == -9223372036854775807
+-9223372036854775807 == -9223372036854775807
+quote -9223372036854775807 == -2147483648
+-9223372036854775807 == -2147483648
+quote -9223372036854775807 == -2147483647
+-9223372036854775807 == -2147483647
+quote -9223372036854775807 == -32768
+-9223372036854775807 == -32768
+quote -9223372036854775807 == -32767
+-9223372036854775807 == -32767
+quote -9223372036854775807 == -128
+-9223372036854775807 == -128
+quote -9223372036854775807 == -127
+-9223372036854775807 == -127
+quote -9223372036854775807 == 255
+-9223372036854775807 == 255
+quote -9223372036854775807 == 256
+-9223372036854775807 == 256
+quote -9223372036854775807 == 65535
+-9223372036854775807 == 65535
+quote -9223372036854775807 == 65536
+-9223372036854775807 == 65536
+quote -9223372036854775807 == 4294967295
+-9223372036854775807 == 4294967295
+quote -9223372036854775807 == 4294967296
+-9223372036854775807 == 4294967296
+quote -9223372036854775807 == 18446744073709551615
+-9223372036854775807 == 18446744073709551615
+quote -9223372036854775807 == 18446744073709551616
+-9223372036854775807 == 18446744073709551616
+quote -9223372036854775807 == 340282366920938463463374607431768211455
+-9223372036854775807 == 340282366920938463463374607431768211455
+quote -9223372036854775807 == 340282366920938463463374607431768211456
+-9223372036854775807 == 340282366920938463463374607431768211456
+quote -2147483648 == -170141183460469231731687303715884105728
+-2147483648 == -170141183460469231731687303715884105728
+quote -2147483648 == -170141183460469231731687303715884105727
+-2147483648 == -170141183460469231731687303715884105727
+quote -2147483648 == -9223372036854775808
+-2147483648 == -9223372036854775808
+quote -2147483648 == -9223372036854775807
+-2147483648 == -9223372036854775807
+quote -2147483648 == -2147483648
+-2147483648 == -2147483648
+quote -2147483648 == -2147483647
+-2147483648 == -2147483647
+quote -2147483648 == -32768
+-2147483648 == -32768
+quote -2147483648 == -32767
+-2147483648 == -32767
+quote -2147483648 == -128
+-2147483648 == -128
+quote -2147483648 == -127
+-2147483648 == -127
+quote -2147483648 == 255
+-2147483648 == 255
+quote -2147483648 == 256
+-2147483648 == 256
+quote -2147483648 == 65535
+-2147483648 == 65535
+quote -2147483648 == 65536
+-2147483648 == 65536
+quote -2147483648 == 4294967295
+-2147483648 == 4294967295
+quote -2147483648 == 4294967296
+-2147483648 == 4294967296
+quote -2147483648 == 18446744073709551615
+-2147483648 == 18446744073709551615
+quote -2147483648 == 18446744073709551616
+-2147483648 == 18446744073709551616
+quote -2147483648 == 340282366920938463463374607431768211455
+-2147483648 == 340282366920938463463374607431768211455
+quote -2147483648 == 340282366920938463463374607431768211456
+-2147483648 == 340282366920938463463374607431768211456
+quote -2147483647 == -170141183460469231731687303715884105728
+-2147483647 == -170141183460469231731687303715884105728
+quote -2147483647 == -170141183460469231731687303715884105727
+-2147483647 == -170141183460469231731687303715884105727
+quote -2147483647 == -9223372036854775808
+-2147483647 == -9223372036854775808
+quote -2147483647 == -9223372036854775807
+-2147483647 == -9223372036854775807
+quote -2147483647 == -2147483648
+-2147483647 == -2147483648
+quote -2147483647 == -2147483647
+-2147483647 == -2147483647
+quote -2147483647 == -32768
+-2147483647 == -32768
+quote -2147483647 == -32767
+-2147483647 == -32767
+quote -2147483647 == -128
+-2147483647 == -128
+quote -2147483647 == -127
+-2147483647 == -127
+quote -2147483647 == 255
+-2147483647 == 255
+quote -2147483647 == 256
+-2147483647 == 256
+quote -2147483647 == 65535
+-2147483647 == 65535
+quote -2147483647 == 65536
+-2147483647 == 65536
+quote -2147483647 == 4294967295
+-2147483647 == 4294967295
+quote -2147483647 == 4294967296
+-2147483647 == 4294967296
+quote -2147483647 == 18446744073709551615
+-2147483647 == 18446744073709551615
+quote -2147483647 == 18446744073709551616
+-2147483647 == 18446744073709551616
+quote -2147483647 == 340282366920938463463374607431768211455
+-2147483647 == 340282366920938463463374607431768211455
+quote -2147483647 == 340282366920938463463374607431768211456
+-2147483647 == 340282366920938463463374607431768211456
+quote -32768 == -170141183460469231731687303715884105728
+-32768 == -170141183460469231731687303715884105728
+quote -32768 == -170141183460469231731687303715884105727
+-32768 == -170141183460469231731687303715884105727
+quote -32768 == -9223372036854775808
+-32768 == -9223372036854775808
+quote -32768 == -9223372036854775807
+-32768 == -9223372036854775807
+quote -32768 == -2147483648
+-32768 == -2147483648
+quote -32768 == -2147483647
+-32768 == -2147483647
+quote -32768 == -32768
+-32768 == -32768
+quote -32768 == -32767
+-32768 == -32767
+quote -32768 == -128
+-32768 == -128
+quote -32768 == -127
+-32768 == -127
+quote -32768 == 255
+-32768 == 255
+quote -32768 == 256
+-32768 == 256
+quote -32768 == 65535
+-32768 == 65535
+quote -32768 == 65536
+-32768 == 65536
+quote -32768 == 4294967295
+-32768 == 4294967295
+quote -32768 == 4294967296
+-32768 == 4294967296
+quote -32768 == 18446744073709551615
+-32768 == 18446744073709551615
+quote -32768 == 18446744073709551616
+-32768 == 18446744073709551616
+quote -32768 == 340282366920938463463374607431768211455
+-32768 == 340282366920938463463374607431768211455
+quote -32768 == 340282366920938463463374607431768211456
+-32768 == 340282366920938463463374607431768211456
+quote -32767 == -170141183460469231731687303715884105728
+-32767 == -170141183460469231731687303715884105728
+quote -32767 == -170141183460469231731687303715884105727
+-32767 == -170141183460469231731687303715884105727
+quote -32767 == -9223372036854775808
+-32767 == -9223372036854775808
+quote -32767 == -9223372036854775807
+-32767 == -9223372036854775807
+quote -32767 == -2147483648
+-32767 == -2147483648
+quote -32767 == -2147483647
+-32767 == -2147483647
+quote -32767 == -32768
+-32767 == -32768
+quote -32767 == -32767
+-32767 == -32767
+quote -32767 == -128
+-32767 == -128
+quote -32767 == -127
+-32767 == -127
+quote -32767 == 255
+-32767 == 255
+quote -32767 == 256
+-32767 == 256
+quote -32767 == 65535
+-32767 == 65535
+quote -32767 == 65536
+-32767 == 65536
+quote -32767 == 4294967295
+-32767 == 4294967295
+quote -32767 == 4294967296
+-32767 == 4294967296
+quote -32767 == 18446744073709551615
+-32767 == 18446744073709551615
+quote -32767 == 18446744073709551616
+-32767 == 18446744073709551616
+quote -32767 == 340282366920938463463374607431768211455
+-32767 == 340282366920938463463374607431768211455
+quote -32767 == 340282366920938463463374607431768211456
+-32767 == 340282366920938463463374607431768211456
+quote -128 == -170141183460469231731687303715884105728
+-128 == -170141183460469231731687303715884105728
+quote -128 == -170141183460469231731687303715884105727
+-128 == -170141183460469231731687303715884105727
+quote -128 == -9223372036854775808
+-128 == -9223372036854775808
+quote -128 == -9223372036854775807
+-128 == -9223372036854775807
+quote -128 == -2147483648
+-128 == -2147483648
+quote -128 == -2147483647
+-128 == -2147483647
+quote -128 == -32768
+-128 == -32768
+quote -128 == -32767
+-128 == -32767
+quote -128 == -128
+-128 == -128
+quote -128 == -127
+-128 == -127
+quote -128 == 255
+-128 == 255
+quote -128 == 256
+-128 == 256
+quote -128 == 65535
+-128 == 65535
+quote -128 == 65536
+-128 == 65536
+quote -128 == 4294967295
+-128 == 4294967295
+quote -128 == 4294967296
+-128 == 4294967296
+quote -128 == 18446744073709551615
+-128 == 18446744073709551615
+quote -128 == 18446744073709551616
+-128 == 18446744073709551616
+quote -128 == 340282366920938463463374607431768211455
+-128 == 340282366920938463463374607431768211455
+quote -128 == 340282366920938463463374607431768211456
+-128 == 340282366920938463463374607431768211456
+quote -127 == -170141183460469231731687303715884105728
+-127 == -170141183460469231731687303715884105728
+quote -127 == -170141183460469231731687303715884105727
+-127 == -170141183460469231731687303715884105727
+quote -127 == -9223372036854775808
+-127 == -9223372036854775808
+quote -127 == -9223372036854775807
+-127 == -9223372036854775807
+quote -127 == -2147483648
+-127 == -2147483648
+quote -127 == -2147483647
+-127 == -2147483647
+quote -127 == -32768
+-127 == -32768
+quote -127 == -32767
+-127 == -32767
+quote -127 == -128
+-127 == -128
+quote -127 == -127
+-127 == -127
+quote -127 == 255
+-127 == 255
+quote -127 == 256
+-127 == 256
+quote -127 == 65535
+-127 == 65535
+quote -127 == 65536
+-127 == 65536
+quote -127 == 4294967295
+-127 == 4294967295
+quote -127 == 4294967296
+-127 == 4294967296
+quote -127 == 18446744073709551615
+-127 == 18446744073709551615
+quote -127 == 18446744073709551616
+-127 == 18446744073709551616
+quote -127 == 340282366920938463463374607431768211455
+-127 == 340282366920938463463374607431768211455
+quote -127 == 340282366920938463463374607431768211456
+-127 == 340282366920938463463374607431768211456
+quote 255 == -170141183460469231731687303715884105728
+255 == -170141183460469231731687303715884105728
+quote 255 == -170141183460469231731687303715884105727
+255 == -170141183460469231731687303715884105727
+quote 255 == -9223372036854775808
+255 == -9223372036854775808
+quote 255 == -9223372036854775807
+255 == -9223372036854775807
+quote 255 == -2147483648
+255 == -2147483648
+quote 255 == -2147483647
+255 == -2147483647
+quote 255 == -32768
+255 == -32768
+quote 255 == -32767
+255 == -32767
+quote 255 == -128
+255 == -128
+quote 255 == -127
+255 == -127
+quote 255 == 255
+255 == 255
+quote 255 == 256
+255 == 256
+quote 255 == 65535
+255 == 65535
+quote 255 == 65536
+255 == 65536
+quote 255 == 4294967295
+255 == 4294967295
+quote 255 == 4294967296
+255 == 4294967296
+quote 255 == 18446744073709551615
+255 == 18446744073709551615
+quote 255 == 18446744073709551616
+255 == 18446744073709551616
+quote 255 == 340282366920938463463374607431768211455
+255 == 340282366920938463463374607431768211455
+quote 255 == 340282366920938463463374607431768211456
+255 == 340282366920938463463374607431768211456
+quote 256 == -170141183460469231731687303715884105728
+256 == -170141183460469231731687303715884105728
+quote 256 == -170141183460469231731687303715884105727
+256 == -170141183460469231731687303715884105727
+quote 256 == -9223372036854775808
+256 == -9223372036854775808
+quote 256 == -9223372036854775807
+256 == -9223372036854775807
+quote 256 == -2147483648
+256 == -2147483648
+quote 256 == -2147483647
+256 == -2147483647
+quote 256 == -32768
+256 == -32768
+quote 256 == -32767
+256 == -32767
+quote 256 == -128
+256 == -128
+quote 256 == -127
+256 == -127
+quote 256 == 255
+256 == 255
+quote 256 == 256
+256 == 256
+quote 256 == 65535
+256 == 65535
+quote 256 == 65536
+256 == 65536
+quote 256 == 4294967295
+256 == 4294967295
+quote 256 == 4294967296
+256 == 4294967296
+quote 256 == 18446744073709551615
+256 == 18446744073709551615
+quote 256 == 18446744073709551616
+256 == 18446744073709551616
+quote 256 == 340282366920938463463374607431768211455
+256 == 340282366920938463463374607431768211455
+quote 256 == 340282366920938463463374607431768211456
+256 == 340282366920938463463374607431768211456
+quote 65535 == -170141183460469231731687303715884105728
+65535 == -170141183460469231731687303715884105728
+quote 65535 == -170141183460469231731687303715884105727
+65535 == -170141183460469231731687303715884105727
+quote 65535 == -9223372036854775808
+65535 == -9223372036854775808
+quote 65535 == -9223372036854775807
+65535 == -9223372036854775807
+quote 65535 == -2147483648
+65535 == -2147483648
+quote 65535 == -2147483647
+65535 == -2147483647
+quote 65535 == -32768
+65535 == -32768
+quote 65535 == -32767
+65535 == -32767
+quote 65535 == -128
+65535 == -128
+quote 65535 == -127
+65535 == -127
+quote 65535 == 255
+65535 == 255
+quote 65535 == 256
+65535 == 256
+quote 65535 == 65535
+65535 == 65535
+quote 65535 == 65536
+65535 == 65536
+quote 65535 == 4294967295
+65535 == 4294967295
+quote 65535 == 4294967296
+65535 == 4294967296
+quote 65535 == 18446744073709551615
+65535 == 18446744073709551615
+quote 65535 == 18446744073709551616
+65535 == 18446744073709551616
+quote 65535 == 340282366920938463463374607431768211455
+65535 == 340282366920938463463374607431768211455
+quote 65535 == 340282366920938463463374607431768211456
+65535 == 340282366920938463463374607431768211456
+quote 65536 == -170141183460469231731687303715884105728
+65536 == -170141183460469231731687303715884105728
+quote 65536 == -170141183460469231731687303715884105727
+65536 == -170141183460469231731687303715884105727
+quote 65536 == -9223372036854775808
+65536 == -9223372036854775808
+quote 65536 == -9223372036854775807
+65536 == -9223372036854775807
+quote 65536 == -2147483648
+65536 == -2147483648
+quote 65536 == -2147483647
+65536 == -2147483647
+quote 65536 == -32768
+65536 == -32768
+quote 65536 == -32767
+65536 == -32767
+quote 65536 == -128
+65536 == -128
+quote 65536 == -127
+65536 == -127
+quote 65536 == 255
+65536 == 255
+quote 65536 == 256
+65536 == 256
+quote 65536 == 65535
+65536 == 65535
+quote 65536 == 65536
+65536 == 65536
+quote 65536 == 4294967295
+65536 == 4294967295
+quote 65536 == 4294967296
+65536 == 4294967296
+quote 65536 == 18446744073709551615
+65536 == 18446744073709551615
+quote 65536 == 18446744073709551616
+65536 == 18446744073709551616
+quote 65536 == 340282366920938463463374607431768211455
+65536 == 340282366920938463463374607431768211455
+quote 65536 == 340282366920938463463374607431768211456
+65536 == 340282366920938463463374607431768211456
+quote 4294967295 == -170141183460469231731687303715884105728
+4294967295 == -170141183460469231731687303715884105728
+quote 4294967295 == -170141183460469231731687303715884105727
+4294967295 == -170141183460469231731687303715884105727
+quote 4294967295 == -9223372036854775808
+4294967295 == -9223372036854775808
+quote 4294967295 == -9223372036854775807
+4294967295 == -9223372036854775807
+quote 4294967295 == -2147483648
+4294967295 == -2147483648
+quote 4294967295 == -2147483647
+4294967295 == -2147483647
+quote 4294967295 == -32768
+4294967295 == -32768
+quote 4294967295 == -32767
+4294967295 == -32767
+quote 4294967295 == -128
+4294967295 == -128
+quote 4294967295 == -127
+4294967295 == -127
+quote 4294967295 == 255
+4294967295 == 255
+quote 4294967295 == 256
+4294967295 == 256
+quote 4294967295 == 65535
+4294967295 == 65535
+quote 4294967295 == 65536
+4294967295 == 65536
+quote 4294967295 == 4294967295
+4294967295 == 4294967295
+quote 4294967295 == 4294967296
+4294967295 == 4294967296
+quote 4294967295 == 18446744073709551615
+4294967295 == 18446744073709551615
+quote 4294967295 == 18446744073709551616
+4294967295 == 18446744073709551616
+quote 4294967295 == 340282366920938463463374607431768211455
+4294967295 == 340282366920938463463374607431768211455
+quote 4294967295 == 340282366920938463463374607431768211456
+4294967295 == 340282366920938463463374607431768211456
+quote 4294967296 == -170141183460469231731687303715884105728
+4294967296 == -170141183460469231731687303715884105728
+quote 4294967296 == -170141183460469231731687303715884105727
+4294967296 == -170141183460469231731687303715884105727
+quote 4294967296 == -9223372036854775808
+4294967296 == -9223372036854775808
+quote 4294967296 == -9223372036854775807
+4294967296 == -9223372036854775807
+quote 4294967296 == -2147483648
+4294967296 == -2147483648
+quote 4294967296 == -2147483647
+4294967296 == -2147483647
+quote 4294967296 == -32768
+4294967296 == -32768
+quote 4294967296 == -32767
+4294967296 == -32767
+quote 4294967296 == -128
+4294967296 == -128
+quote 4294967296 == -127
+4294967296 == -127
+quote 4294967296 == 255
+4294967296 == 255
+quote 4294967296 == 256
+4294967296 == 256
+quote 4294967296 == 65535
+4294967296 == 65535
+quote 4294967296 == 65536
+4294967296 == 65536
+quote 4294967296 == 4294967295
+4294967296 == 4294967295
+quote 4294967296 == 4294967296
+4294967296 == 4294967296
+quote 4294967296 == 18446744073709551615
+4294967296 == 18446744073709551615
+quote 4294967296 == 18446744073709551616
+4294967296 == 18446744073709551616
+quote 4294967296 == 340282366920938463463374607431768211455
+4294967296 == 340282366920938463463374607431768211455
+quote 4294967296 == 340282366920938463463374607431768211456
+4294967296 == 340282366920938463463374607431768211456
+quote 18446744073709551615 == -170141183460469231731687303715884105728
+18446744073709551615 == -170141183460469231731687303715884105728
+quote 18446744073709551615 == -170141183460469231731687303715884105727
+18446744073709551615 == -170141183460469231731687303715884105727
+quote 18446744073709551615 == -9223372036854775808
+18446744073709551615 == -9223372036854775808
+quote 18446744073709551615 == -9223372036854775807
+18446744073709551615 == -9223372036854775807
+quote 18446744073709551615 == -2147483648
+18446744073709551615 == -2147483648
+quote 18446744073709551615 == -2147483647
+18446744073709551615 == -2147483647
+quote 18446744073709551615 == -32768
+18446744073709551615 == -32768
+quote 18446744073709551615 == -32767
+18446744073709551615 == -32767
+quote 18446744073709551615 == -128
+18446744073709551615 == -128
+quote 18446744073709551615 == -127
+18446744073709551615 == -127
+quote 18446744073709551615 == 255
+18446744073709551615 == 255
+quote 18446744073709551615 == 256
+18446744073709551615 == 256
+quote 18446744073709551615 == 65535
+18446744073709551615 == 65535
+quote 18446744073709551615 == 65536
+18446744073709551615 == 65536
+quote 18446744073709551615 == 4294967295
+18446744073709551615 == 4294967295
+quote 18446744073709551615 == 4294967296
+18446744073709551615 == 4294967296
+quote 18446744073709551615 == 18446744073709551615
+18446744073709551615 == 18446744073709551615
+quote 18446744073709551615 == 18446744073709551616
+18446744073709551615 == 18446744073709551616
+quote 18446744073709551615 == 340282366920938463463374607431768211455
+18446744073709551615 == 340282366920938463463374607431768211455
+quote 18446744073709551615 == 340282366920938463463374607431768211456
+18446744073709551615 == 340282366920938463463374607431768211456
+quote 18446744073709551616 == -170141183460469231731687303715884105728
+18446744073709551616 == -170141183460469231731687303715884105728
+quote 18446744073709551616 == -170141183460469231731687303715884105727
+18446744073709551616 == -170141183460469231731687303715884105727
+quote 18446744073709551616 == -9223372036854775808
+18446744073709551616 == -9223372036854775808
+quote 18446744073709551616 == -9223372036854775807
+18446744073709551616 == -9223372036854775807
+quote 18446744073709551616 == -2147483648
+18446744073709551616 == -2147483648
+quote 18446744073709551616 == -2147483647
+18446744073709551616 == -2147483647
+quote 18446744073709551616 == -32768
+18446744073709551616 == -32768
+quote 18446744073709551616 == -32767
+18446744073709551616 == -32767
+quote 18446744073709551616 == -128
+18446744073709551616 == -128
+quote 18446744073709551616 == -127
+18446744073709551616 == -127
+quote 18446744073709551616 == 255
+18446744073709551616 == 255
+quote 18446744073709551616 == 256
+18446744073709551616 == 256
+quote 18446744073709551616 == 65535
+18446744073709551616 == 65535
+quote 18446744073709551616 == 65536
+18446744073709551616 == 65536
+quote 18446744073709551616 == 4294967295
+18446744073709551616 == 4294967295
+quote 18446744073709551616 == 4294967296
+18446744073709551616 == 4294967296
+quote 18446744073709551616 == 18446744073709551615
+18446744073709551616 == 18446744073709551615
+quote 18446744073709551616 == 18446744073709551616
+18446744073709551616 == 18446744073709551616
+quote 18446744073709551616 == 340282366920938463463374607431768211455
+18446744073709551616 == 340282366920938463463374607431768211455
+quote 18446744073709551616 == 340282366920938463463374607431768211456
+18446744073709551616 == 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211455 == -170141183460469231731687303715884105728
+340282366920938463463374607431768211455 == -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211455 == -170141183460469231731687303715884105727
+340282366920938463463374607431768211455 == -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211455 == -9223372036854775808
+340282366920938463463374607431768211455 == -9223372036854775808
+quote 340282366920938463463374607431768211455 == -9223372036854775807
+340282366920938463463374607431768211455 == -9223372036854775807
+quote 340282366920938463463374607431768211455 == -2147483648
+340282366920938463463374607431768211455 == -2147483648
+quote 340282366920938463463374607431768211455 == -2147483647
+340282366920938463463374607431768211455 == -2147483647
+quote 340282366920938463463374607431768211455 == -32768
+340282366920938463463374607431768211455 == -32768
+quote 340282366920938463463374607431768211455 == -32767
+340282366920938463463374607431768211455 == -32767
+quote 340282366920938463463374607431768211455 == -128
+340282366920938463463374607431768211455 == -128
+quote 340282366920938463463374607431768211455 == -127
+340282366920938463463374607431768211455 == -127
+quote 340282366920938463463374607431768211455 == 255
+340282366920938463463374607431768211455 == 255
+quote 340282366920938463463374607431768211455 == 256
+340282366920938463463374607431768211455 == 256
+quote 340282366920938463463374607431768211455 == 65535
+340282366920938463463374607431768211455 == 65535
+quote 340282366920938463463374607431768211455 == 65536
+340282366920938463463374607431768211455 == 65536
+quote 340282366920938463463374607431768211455 == 4294967295
+340282366920938463463374607431768211455 == 4294967295
+quote 340282366920938463463374607431768211455 == 4294967296
+340282366920938463463374607431768211455 == 4294967296
+quote 340282366920938463463374607431768211455 == 18446744073709551615
+340282366920938463463374607431768211455 == 18446744073709551615
+quote 340282366920938463463374607431768211455 == 18446744073709551616
+340282366920938463463374607431768211455 == 18446744073709551616
+quote 340282366920938463463374607431768211455 == 340282366920938463463374607431768211455
+340282366920938463463374607431768211455 == 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211455 == 340282366920938463463374607431768211456
+340282366920938463463374607431768211455 == 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211456 == -170141183460469231731687303715884105728
+340282366920938463463374607431768211456 == -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211456 == -170141183460469231731687303715884105727
+340282366920938463463374607431768211456 == -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211456 == -9223372036854775808
+340282366920938463463374607431768211456 == -9223372036854775808
+quote 340282366920938463463374607431768211456 == -9223372036854775807
+340282366920938463463374607431768211456 == -9223372036854775807
+quote 340282366920938463463374607431768211456 == -2147483648
+340282366920938463463374607431768211456 == -2147483648
+quote 340282366920938463463374607431768211456 == -2147483647
+340282366920938463463374607431768211456 == -2147483647
+quote 340282366920938463463374607431768211456 == -32768
+340282366920938463463374607431768211456 == -32768
+quote 340282366920938463463374607431768211456 == -32767
+340282366920938463463374607431768211456 == -32767
+quote 340282366920938463463374607431768211456 == -128
+340282366920938463463374607431768211456 == -128
+quote 340282366920938463463374607431768211456 == -127
+340282366920938463463374607431768211456 == -127
+quote 340282366920938463463374607431768211456 == 255
+340282366920938463463374607431768211456 == 255
+quote 340282366920938463463374607431768211456 == 256
+340282366920938463463374607431768211456 == 256
+quote 340282366920938463463374607431768211456 == 65535
+340282366920938463463374607431768211456 == 65535
+quote 340282366920938463463374607431768211456 == 65536
+340282366920938463463374607431768211456 == 65536
+quote 340282366920938463463374607431768211456 == 4294967295
+340282366920938463463374607431768211456 == 4294967295
+quote 340282366920938463463374607431768211456 == 4294967296
+340282366920938463463374607431768211456 == 4294967296
+quote 340282366920938463463374607431768211456 == 18446744073709551615
+340282366920938463463374607431768211456 == 18446744073709551615
+quote 340282366920938463463374607431768211456 == 18446744073709551616
+340282366920938463463374607431768211456 == 18446744073709551616
+quote 340282366920938463463374607431768211456 == 340282366920938463463374607431768211455
+340282366920938463463374607431768211456 == 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211456 == 340282366920938463463374607431768211456
+340282366920938463463374607431768211456 == 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_eq_2.out.expected b/test/ic3/integer_eq_2.out.expected
new file mode 100644
index 0000000..23605cf
--- /dev/null
+++ b/test/ic3/integer_eq_2.out.expected
@@ -0,0 +1,800 @@
+-170141183460469231731687303715884105728 == -170141183460469231731687303715884105728
+true
+-170141183460469231731687303715884105728 == -170141183460469231731687303715884105727
+false
+-170141183460469231731687303715884105728 == -9223372036854775808
+false
+-170141183460469231731687303715884105728 == -9223372036854775807
+false
+-170141183460469231731687303715884105728 == -2147483648
+false
+-170141183460469231731687303715884105728 == -2147483647
+false
+-170141183460469231731687303715884105728 == -32768
+false
+-170141183460469231731687303715884105728 == -32767
+false
+-170141183460469231731687303715884105728 == -128
+false
+-170141183460469231731687303715884105728 == -127
+false
+-170141183460469231731687303715884105728 == 255
+false
+-170141183460469231731687303715884105728 == 256
+false
+-170141183460469231731687303715884105728 == 65535
+false
+-170141183460469231731687303715884105728 == 65536
+false
+-170141183460469231731687303715884105728 == 4294967295
+false
+-170141183460469231731687303715884105728 == 4294967296
+false
+-170141183460469231731687303715884105728 == 18446744073709551615
+false
+-170141183460469231731687303715884105728 == 18446744073709551616
+false
+-170141183460469231731687303715884105728 == 340282366920938463463374607431768211455
+false
+-170141183460469231731687303715884105728 == 340282366920938463463374607431768211456
+false
+-170141183460469231731687303715884105727 == -170141183460469231731687303715884105728
+false
+-170141183460469231731687303715884105727 == -170141183460469231731687303715884105727
+true
+-170141183460469231731687303715884105727 == -9223372036854775808
+false
+-170141183460469231731687303715884105727 == -9223372036854775807
+false
+-170141183460469231731687303715884105727 == -2147483648
+false
+-170141183460469231731687303715884105727 == -2147483647
+false
+-170141183460469231731687303715884105727 == -32768
+false
+-170141183460469231731687303715884105727 == -32767
+false
+-170141183460469231731687303715884105727 == -128
+false
+-170141183460469231731687303715884105727 == -127
+false
+-170141183460469231731687303715884105727 == 255
+false
+-170141183460469231731687303715884105727 == 256
+false
+-170141183460469231731687303715884105727 == 65535
+false
+-170141183460469231731687303715884105727 == 65536
+false
+-170141183460469231731687303715884105727 == 4294967295
+false
+-170141183460469231731687303715884105727 == 4294967296
+false
+-170141183460469231731687303715884105727 == 18446744073709551615
+false
+-170141183460469231731687303715884105727 == 18446744073709551616
+false
+-170141183460469231731687303715884105727 == 340282366920938463463374607431768211455
+false
+-170141183460469231731687303715884105727 == 340282366920938463463374607431768211456
+false
+-9223372036854775808 == -170141183460469231731687303715884105728
+false
+-9223372036854775808 == -170141183460469231731687303715884105727
+false
+-9223372036854775808 == -9223372036854775808
+true
+-9223372036854775808 == -9223372036854775807
+false
+-9223372036854775808 == -2147483648
+false
+-9223372036854775808 == -2147483647
+false
+-9223372036854775808 == -32768
+false
+-9223372036854775808 == -32767
+false
+-9223372036854775808 == -128
+false
+-9223372036854775808 == -127
+false
+-9223372036854775808 == 255
+false
+-9223372036854775808 == 256
+false
+-9223372036854775808 == 65535
+false
+-9223372036854775808 == 65536
+false
+-9223372036854775808 == 4294967295
+false
+-9223372036854775808 == 4294967296
+false
+-9223372036854775808 == 18446744073709551615
+false
+-9223372036854775808 == 18446744073709551616
+false
+-9223372036854775808 == 340282366920938463463374607431768211455
+false
+-9223372036854775808 == 340282366920938463463374607431768211456
+false
+-9223372036854775807 == -170141183460469231731687303715884105728
+false
+-9223372036854775807 == -170141183460469231731687303715884105727
+false
+-9223372036854775807 == -9223372036854775808
+false
+-9223372036854775807 == -9223372036854775807
+true
+-9223372036854775807 == -2147483648
+false
+-9223372036854775807 == -2147483647
+false
+-9223372036854775807 == -32768
+false
+-9223372036854775807 == -32767
+false
+-9223372036854775807 == -128
+false
+-9223372036854775807 == -127
+false
+-9223372036854775807 == 255
+false
+-9223372036854775807 == 256
+false
+-9223372036854775807 == 65535
+false
+-9223372036854775807 == 65536
+false
+-9223372036854775807 == 4294967295
+false
+-9223372036854775807 == 4294967296
+false
+-9223372036854775807 == 18446744073709551615
+false
+-9223372036854775807 == 18446744073709551616
+false
+-9223372036854775807 == 340282366920938463463374607431768211455
+false
+-9223372036854775807 == 340282366920938463463374607431768211456
+false
+-2147483648 == -170141183460469231731687303715884105728
+false
+-2147483648 == -170141183460469231731687303715884105727
+false
+-2147483648 == -9223372036854775808
+false
+-2147483648 == -9223372036854775807
+false
+-2147483648 == -2147483648
+true
+-2147483648 == -2147483647
+false
+-2147483648 == -32768
+false
+-2147483648 == -32767
+false
+-2147483648 == -128
+false
+-2147483648 == -127
+false
+-2147483648 == 255
+false
+-2147483648 == 256
+false
+-2147483648 == 65535
+false
+-2147483648 == 65536
+false
+-2147483648 == 4294967295
+false
+-2147483648 == 4294967296
+false
+-2147483648 == 18446744073709551615
+false
+-2147483648 == 18446744073709551616
+false
+-2147483648 == 340282366920938463463374607431768211455
+false
+-2147483648 == 340282366920938463463374607431768211456
+false
+-2147483647 == -170141183460469231731687303715884105728
+false
+-2147483647 == -170141183460469231731687303715884105727
+false
+-2147483647 == -9223372036854775808
+false
+-2147483647 == -9223372036854775807
+false
+-2147483647 == -2147483648
+false
+-2147483647 == -2147483647
+true
+-2147483647 == -32768
+false
+-2147483647 == -32767
+false
+-2147483647 == -128
+false
+-2147483647 == -127
+false
+-2147483647 == 255
+false
+-2147483647 == 256
+false
+-2147483647 == 65535
+false
+-2147483647 == 65536
+false
+-2147483647 == 4294967295
+false
+-2147483647 == 4294967296
+false
+-2147483647 == 18446744073709551615
+false
+-2147483647 == 18446744073709551616
+false
+-2147483647 == 340282366920938463463374607431768211455
+false
+-2147483647 == 340282366920938463463374607431768211456
+false
+-32768 == -170141183460469231731687303715884105728
+false
+-32768 == -170141183460469231731687303715884105727
+false
+-32768 == -9223372036854775808
+false
+-32768 == -9223372036854775807
+false
+-32768 == -2147483648
+false
+-32768 == -2147483647
+false
+-32768 == -32768
+true
+-32768 == -32767
+false
+-32768 == -128
+false
+-32768 == -127
+false
+-32768 == 255
+false
+-32768 == 256
+false
+-32768 == 65535
+false
+-32768 == 65536
+false
+-32768 == 4294967295
+false
+-32768 == 4294967296
+false
+-32768 == 18446744073709551615
+false
+-32768 == 18446744073709551616
+false
+-32768 == 340282366920938463463374607431768211455
+false
+-32768 == 340282366920938463463374607431768211456
+false
+-32767 == -170141183460469231731687303715884105728
+false
+-32767 == -170141183460469231731687303715884105727
+false
+-32767 == -9223372036854775808
+false
+-32767 == -9223372036854775807
+false
+-32767 == -2147483648
+false
+-32767 == -2147483647
+false
+-32767 == -32768
+false
+-32767 == -32767
+true
+-32767 == -128
+false
+-32767 == -127
+false
+-32767 == 255
+false
+-32767 == 256
+false
+-32767 == 65535
+false
+-32767 == 65536
+false
+-32767 == 4294967295
+false
+-32767 == 4294967296
+false
+-32767 == 18446744073709551615
+false
+-32767 == 18446744073709551616
+false
+-32767 == 340282366920938463463374607431768211455
+false
+-32767 == 340282366920938463463374607431768211456
+false
+-128 == -170141183460469231731687303715884105728
+false
+-128 == -170141183460469231731687303715884105727
+false
+-128 == -9223372036854775808
+false
+-128 == -9223372036854775807
+false
+-128 == -2147483648
+false
+-128 == -2147483647
+false
+-128 == -32768
+false
+-128 == -32767
+false
+-128 == -128
+true
+-128 == -127
+false
+-128 == 255
+false
+-128 == 256
+false
+-128 == 65535
+false
+-128 == 65536
+false
+-128 == 4294967295
+false
+-128 == 4294967296
+false
+-128 == 18446744073709551615
+false
+-128 == 18446744073709551616
+false
+-128 == 340282366920938463463374607431768211455
+false
+-128 == 340282366920938463463374607431768211456
+false
+-127 == -170141183460469231731687303715884105728
+false
+-127 == -170141183460469231731687303715884105727
+false
+-127 == -9223372036854775808
+false
+-127 == -9223372036854775807
+false
+-127 == -2147483648
+false
+-127 == -2147483647
+false
+-127 == -32768
+false
+-127 == -32767
+false
+-127 == -128
+false
+-127 == -127
+true
+-127 == 255
+false
+-127 == 256
+false
+-127 == 65535
+false
+-127 == 65536
+false
+-127 == 4294967295
+false
+-127 == 4294967296
+false
+-127 == 18446744073709551615
+false
+-127 == 18446744073709551616
+false
+-127 == 340282366920938463463374607431768211455
+false
+-127 == 340282366920938463463374607431768211456
+false
+255 == -170141183460469231731687303715884105728
+false
+255 == -170141183460469231731687303715884105727
+false
+255 == -9223372036854775808
+false
+255 == -9223372036854775807
+false
+255 == -2147483648
+false
+255 == -2147483647
+false
+255 == -32768
+false
+255 == -32767
+false
+255 == -128
+false
+255 == -127
+false
+255 == 255
+true
+255 == 256
+false
+255 == 65535
+false
+255 == 65536
+false
+255 == 4294967295
+false
+255 == 4294967296
+false
+255 == 18446744073709551615
+false
+255 == 18446744073709551616
+false
+255 == 340282366920938463463374607431768211455
+false
+255 == 340282366920938463463374607431768211456
+false
+256 == -170141183460469231731687303715884105728
+false
+256 == -170141183460469231731687303715884105727
+false
+256 == -9223372036854775808
+false
+256 == -9223372036854775807
+false
+256 == -2147483648
+false
+256 == -2147483647
+false
+256 == -32768
+false
+256 == -32767
+false
+256 == -128
+false
+256 == -127
+false
+256 == 255
+false
+256 == 256
+true
+256 == 65535
+false
+256 == 65536
+false
+256 == 4294967295
+false
+256 == 4294967296
+false
+256 == 18446744073709551615
+false
+256 == 18446744073709551616
+false
+256 == 340282366920938463463374607431768211455
+false
+256 == 340282366920938463463374607431768211456
+false
+65535 == -170141183460469231731687303715884105728
+false
+65535 == -170141183460469231731687303715884105727
+false
+65535 == -9223372036854775808
+false
+65535 == -9223372036854775807
+false
+65535 == -2147483648
+false
+65535 == -2147483647
+false
+65535 == -32768
+false
+65535 == -32767
+false
+65535 == -128
+false
+65535 == -127
+false
+65535 == 255
+false
+65535 == 256
+false
+65535 == 65535
+true
+65535 == 65536
+false
+65535 == 4294967295
+false
+65535 == 4294967296
+false
+65535 == 18446744073709551615
+false
+65535 == 18446744073709551616
+false
+65535 == 340282366920938463463374607431768211455
+false
+65535 == 340282366920938463463374607431768211456
+false
+65536 == -170141183460469231731687303715884105728
+false
+65536 == -170141183460469231731687303715884105727
+false
+65536 == -9223372036854775808
+false
+65536 == -9223372036854775807
+false
+65536 == -2147483648
+false
+65536 == -2147483647
+false
+65536 == -32768
+false
+65536 == -32767
+false
+65536 == -128
+false
+65536 == -127
+false
+65536 == 255
+false
+65536 == 256
+false
+65536 == 65535
+false
+65536 == 65536
+true
+65536 == 4294967295
+false
+65536 == 4294967296
+false
+65536 == 18446744073709551615
+false
+65536 == 18446744073709551616
+false
+65536 == 340282366920938463463374607431768211455
+false
+65536 == 340282366920938463463374607431768211456
+false
+4294967295 == -170141183460469231731687303715884105728
+false
+4294967295 == -170141183460469231731687303715884105727
+false
+4294967295 == -9223372036854775808
+false
+4294967295 == -9223372036854775807
+false
+4294967295 == -2147483648
+false
+4294967295 == -2147483647
+false
+4294967295 == -32768
+false
+4294967295 == -32767
+false
+4294967295 == -128
+false
+4294967295 == -127
+false
+4294967295 == 255
+false
+4294967295 == 256
+false
+4294967295 == 65535
+false
+4294967295 == 65536
+false
+4294967295 == 4294967295
+true
+4294967295 == 4294967296
+false
+4294967295 == 18446744073709551615
+false
+4294967295 == 18446744073709551616
+false
+4294967295 == 340282366920938463463374607431768211455
+false
+4294967295 == 340282366920938463463374607431768211456
+false
+4294967296 == -170141183460469231731687303715884105728
+false
+4294967296 == -170141183460469231731687303715884105727
+false
+4294967296 == -9223372036854775808
+false
+4294967296 == -9223372036854775807
+false
+4294967296 == -2147483648
+false
+4294967296 == -2147483647
+false
+4294967296 == -32768
+false
+4294967296 == -32767
+false
+4294967296 == -128
+false
+4294967296 == -127
+false
+4294967296 == 255
+false
+4294967296 == 256
+false
+4294967296 == 65535
+false
+4294967296 == 65536
+false
+4294967296 == 4294967295
+false
+4294967296 == 4294967296
+true
+4294967296 == 18446744073709551615
+false
+4294967296 == 18446744073709551616
+false
+4294967296 == 340282366920938463463374607431768211455
+false
+4294967296 == 340282366920938463463374607431768211456
+false
+18446744073709551615 == -170141183460469231731687303715884105728
+false
+18446744073709551615 == -170141183460469231731687303715884105727
+false
+18446744073709551615 == -9223372036854775808
+false
+18446744073709551615 == -9223372036854775807
+false
+18446744073709551615 == -2147483648
+false
+18446744073709551615 == -2147483647
+false
+18446744073709551615 == -32768
+false
+18446744073709551615 == -32767
+false
+18446744073709551615 == -128
+false
+18446744073709551615 == -127
+false
+18446744073709551615 == 255
+false
+18446744073709551615 == 256
+false
+18446744073709551615 == 65535
+false
+18446744073709551615 == 65536
+false
+18446744073709551615 == 4294967295
+false
+18446744073709551615 == 4294967296
+false
+18446744073709551615 == 18446744073709551615
+true
+18446744073709551615 == 18446744073709551616
+false
+18446744073709551615 == 340282366920938463463374607431768211455
+false
+18446744073709551615 == 340282366920938463463374607431768211456
+false
+18446744073709551616 == -170141183460469231731687303715884105728
+false
+18446744073709551616 == -170141183460469231731687303715884105727
+false
+18446744073709551616 == -9223372036854775808
+false
+18446744073709551616 == -9223372036854775807
+false
+18446744073709551616 == -2147483648
+false
+18446744073709551616 == -2147483647
+false
+18446744073709551616 == -32768
+false
+18446744073709551616 == -32767
+false
+18446744073709551616 == -128
+false
+18446744073709551616 == -127
+false
+18446744073709551616 == 255
+false
+18446744073709551616 == 256
+false
+18446744073709551616 == 65535
+false
+18446744073709551616 == 65536
+false
+18446744073709551616 == 4294967295
+false
+18446744073709551616 == 4294967296
+false
+18446744073709551616 == 18446744073709551615
+false
+18446744073709551616 == 18446744073709551616
+true
+18446744073709551616 == 340282366920938463463374607431768211455
+false
+18446744073709551616 == 340282366920938463463374607431768211456
+false
+340282366920938463463374607431768211455 == -170141183460469231731687303715884105728
+false
+340282366920938463463374607431768211455 == -170141183460469231731687303715884105727
+false
+340282366920938463463374607431768211455 == -9223372036854775808
+false
+340282366920938463463374607431768211455 == -9223372036854775807
+false
+340282366920938463463374607431768211455 == -2147483648
+false
+340282366920938463463374607431768211455 == -2147483647
+false
+340282366920938463463374607431768211455 == -32768
+false
+340282366920938463463374607431768211455 == -32767
+false
+340282366920938463463374607431768211455 == -128
+false
+340282366920938463463374607431768211455 == -127
+false
+340282366920938463463374607431768211455 == 255
+false
+340282366920938463463374607431768211455 == 256
+false
+340282366920938463463374607431768211455 == 65535
+false
+340282366920938463463374607431768211455 == 65536
+false
+340282366920938463463374607431768211455 == 4294967295
+false
+340282366920938463463374607431768211455 == 4294967296
+false
+340282366920938463463374607431768211455 == 18446744073709551615
+false
+340282366920938463463374607431768211455 == 18446744073709551616
+false
+340282366920938463463374607431768211455 == 340282366920938463463374607431768211455
+true
+340282366920938463463374607431768211455 == 340282366920938463463374607431768211456
+false
+340282366920938463463374607431768211456 == -170141183460469231731687303715884105728
+false
+340282366920938463463374607431768211456 == -170141183460469231731687303715884105727
+false
+340282366920938463463374607431768211456 == -9223372036854775808
+false
+340282366920938463463374607431768211456 == -9223372036854775807
+false
+340282366920938463463374607431768211456 == -2147483648
+false
+340282366920938463463374607431768211456 == -2147483647
+false
+340282366920938463463374607431768211456 == -32768
+false
+340282366920938463463374607431768211456 == -32767
+false
+340282366920938463463374607431768211456 == -128
+false
+340282366920938463463374607431768211456 == -127
+false
+340282366920938463463374607431768211456 == 255
+false
+340282366920938463463374607431768211456 == 256
+false
+340282366920938463463374607431768211456 == 65535
+false
+340282366920938463463374607431768211456 == 65536
+false
+340282366920938463463374607431768211456 == 4294967295
+false
+340282366920938463463374607431768211456 == 4294967296
+false
+340282366920938463463374607431768211456 == 18446744073709551615
+false
+340282366920938463463374607431768211456 == 18446744073709551616
+false
+340282366920938463463374607431768211456 == 340282366920938463463374607431768211455
+false
+340282366920938463463374607431768211456 == 340282366920938463463374607431768211456
+true
diff --git a/test/ic3/integer_eq_2.ret.expected b/test/ic3/integer_eq_2.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_eq_2.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_gt.in b/test/ic3/integer_gt.in
deleted file mode 100644
index c27a0ab..0000000
--- a/test/ic3/integer_gt.in
+++ /dev/null
@@ -1,800 +0,0 @@
-quote -170141183460469231731687303715884105728 > -170141183460469231731687303715884105728
--170141183460469231731687303715884105728 > -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105728 > -170141183460469231731687303715884105727
--170141183460469231731687303715884105728 > -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105728 > -9223372036854775808
--170141183460469231731687303715884105728 > -9223372036854775808
-quote -170141183460469231731687303715884105728 > -9223372036854775807
--170141183460469231731687303715884105728 > -9223372036854775807
-quote -170141183460469231731687303715884105728 > -2147483648
--170141183460469231731687303715884105728 > -2147483648
-quote -170141183460469231731687303715884105728 > -2147483647
--170141183460469231731687303715884105728 > -2147483647
-quote -170141183460469231731687303715884105728 > -32768
--170141183460469231731687303715884105728 > -32768
-quote -170141183460469231731687303715884105728 > -32767
--170141183460469231731687303715884105728 > -32767
-quote -170141183460469231731687303715884105728 > -128
--170141183460469231731687303715884105728 > -128
-quote -170141183460469231731687303715884105728 > -127
--170141183460469231731687303715884105728 > -127
-quote -170141183460469231731687303715884105728 > 255
--170141183460469231731687303715884105728 > 255
-quote -170141183460469231731687303715884105728 > 256
--170141183460469231731687303715884105728 > 256
-quote -170141183460469231731687303715884105728 > 65535
--170141183460469231731687303715884105728 > 65535
-quote -170141183460469231731687303715884105728 > 65536
--170141183460469231731687303715884105728 > 65536
-quote -170141183460469231731687303715884105728 > 4294967295
--170141183460469231731687303715884105728 > 4294967295
-quote -170141183460469231731687303715884105728 > 4294967296
--170141183460469231731687303715884105728 > 4294967296
-quote -170141183460469231731687303715884105728 > 18446744073709551615
--170141183460469231731687303715884105728 > 18446744073709551615
-quote -170141183460469231731687303715884105728 > 18446744073709551616
--170141183460469231731687303715884105728 > 18446744073709551616
-quote -170141183460469231731687303715884105728 > 340282366920938463463374607431768211455
--170141183460469231731687303715884105728 > 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105728 > 340282366920938463463374607431768211456
--170141183460469231731687303715884105728 > 340282366920938463463374607431768211456
-quote -170141183460469231731687303715884105727 > -170141183460469231731687303715884105728
--170141183460469231731687303715884105727 > -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105727 > -170141183460469231731687303715884105727
--170141183460469231731687303715884105727 > -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105727 > -9223372036854775808
--170141183460469231731687303715884105727 > -9223372036854775808
-quote -170141183460469231731687303715884105727 > -9223372036854775807
--170141183460469231731687303715884105727 > -9223372036854775807
-quote -170141183460469231731687303715884105727 > -2147483648
--170141183460469231731687303715884105727 > -2147483648
-quote -170141183460469231731687303715884105727 > -2147483647
--170141183460469231731687303715884105727 > -2147483647
-quote -170141183460469231731687303715884105727 > -32768
--170141183460469231731687303715884105727 > -32768
-quote -170141183460469231731687303715884105727 > -32767
--170141183460469231731687303715884105727 > -32767
-quote -170141183460469231731687303715884105727 > -128
--170141183460469231731687303715884105727 > -128
-quote -170141183460469231731687303715884105727 > -127
--170141183460469231731687303715884105727 > -127
-quote -170141183460469231731687303715884105727 > 255
--170141183460469231731687303715884105727 > 255
-quote -170141183460469231731687303715884105727 > 256
--170141183460469231731687303715884105727 > 256
-quote -170141183460469231731687303715884105727 > 65535
--170141183460469231731687303715884105727 > 65535
-quote -170141183460469231731687303715884105727 > 65536
--170141183460469231731687303715884105727 > 65536
-quote -170141183460469231731687303715884105727 > 4294967295
--170141183460469231731687303715884105727 > 4294967295
-quote -170141183460469231731687303715884105727 > 4294967296
--170141183460469231731687303715884105727 > 4294967296
-quote -170141183460469231731687303715884105727 > 18446744073709551615
--170141183460469231731687303715884105727 > 18446744073709551615
-quote -170141183460469231731687303715884105727 > 18446744073709551616
--170141183460469231731687303715884105727 > 18446744073709551616
-quote -170141183460469231731687303715884105727 > 340282366920938463463374607431768211455
--170141183460469231731687303715884105727 > 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105727 > 340282366920938463463374607431768211456
--170141183460469231731687303715884105727 > 340282366920938463463374607431768211456
-quote -9223372036854775808 > -170141183460469231731687303715884105728
--9223372036854775808 > -170141183460469231731687303715884105728
-quote -9223372036854775808 > -170141183460469231731687303715884105727
--9223372036854775808 > -170141183460469231731687303715884105727
-quote -9223372036854775808 > -9223372036854775808
--9223372036854775808 > -9223372036854775808
-quote -9223372036854775808 > -9223372036854775807
--9223372036854775808 > -9223372036854775807
-quote -9223372036854775808 > -2147483648
--9223372036854775808 > -2147483648
-quote -9223372036854775808 > -2147483647
--9223372036854775808 > -2147483647
-quote -9223372036854775808 > -32768
--9223372036854775808 > -32768
-quote -9223372036854775808 > -32767
--9223372036854775808 > -32767
-quote -9223372036854775808 > -128
--9223372036854775808 > -128
-quote -9223372036854775808 > -127
--9223372036854775808 > -127
-quote -9223372036854775808 > 255
--9223372036854775808 > 255
-quote -9223372036854775808 > 256
--9223372036854775808 > 256
-quote -9223372036854775808 > 65535
--9223372036854775808 > 65535
-quote -9223372036854775808 > 65536
--9223372036854775808 > 65536
-quote -9223372036854775808 > 4294967295
--9223372036854775808 > 4294967295
-quote -9223372036854775808 > 4294967296
--9223372036854775808 > 4294967296
-quote -9223372036854775808 > 18446744073709551615
--9223372036854775808 > 18446744073709551615
-quote -9223372036854775808 > 18446744073709551616
--9223372036854775808 > 18446744073709551616
-quote -9223372036854775808 > 340282366920938463463374607431768211455
--9223372036854775808 > 340282366920938463463374607431768211455
-quote -9223372036854775808 > 340282366920938463463374607431768211456
--9223372036854775808 > 340282366920938463463374607431768211456
-quote -9223372036854775807 > -170141183460469231731687303715884105728
--9223372036854775807 > -170141183460469231731687303715884105728
-quote -9223372036854775807 > -170141183460469231731687303715884105727
--9223372036854775807 > -170141183460469231731687303715884105727
-quote -9223372036854775807 > -9223372036854775808
--9223372036854775807 > -9223372036854775808
-quote -9223372036854775807 > -9223372036854775807
--9223372036854775807 > -9223372036854775807
-quote -9223372036854775807 > -2147483648
--9223372036854775807 > -2147483648
-quote -9223372036854775807 > -2147483647
--9223372036854775807 > -2147483647
-quote -9223372036854775807 > -32768
--9223372036854775807 > -32768
-quote -9223372036854775807 > -32767
--9223372036854775807 > -32767
-quote -9223372036854775807 > -128
--9223372036854775807 > -128
-quote -9223372036854775807 > -127
--9223372036854775807 > -127
-quote -9223372036854775807 > 255
--9223372036854775807 > 255
-quote -9223372036854775807 > 256
--9223372036854775807 > 256
-quote -9223372036854775807 > 65535
--9223372036854775807 > 65535
-quote -9223372036854775807 > 65536
--9223372036854775807 > 65536
-quote -9223372036854775807 > 4294967295
--9223372036854775807 > 4294967295
-quote -9223372036854775807 > 4294967296
--9223372036854775807 > 4294967296
-quote -9223372036854775807 > 18446744073709551615
--9223372036854775807 > 18446744073709551615
-quote -9223372036854775807 > 18446744073709551616
--9223372036854775807 > 18446744073709551616
-quote -9223372036854775807 > 340282366920938463463374607431768211455
--9223372036854775807 > 340282366920938463463374607431768211455
-quote -9223372036854775807 > 340282366920938463463374607431768211456
--9223372036854775807 > 340282366920938463463374607431768211456
-quote -2147483648 > -170141183460469231731687303715884105728
--2147483648 > -170141183460469231731687303715884105728
-quote -2147483648 > -170141183460469231731687303715884105727
--2147483648 > -170141183460469231731687303715884105727
-quote -2147483648 > -9223372036854775808
--2147483648 > -9223372036854775808
-quote -2147483648 > -9223372036854775807
--2147483648 > -9223372036854775807
-quote -2147483648 > -2147483648
--2147483648 > -2147483648
-quote -2147483648 > -2147483647
--2147483648 > -2147483647
-quote -2147483648 > -32768
--2147483648 > -32768
-quote -2147483648 > -32767
--2147483648 > -32767
-quote -2147483648 > -128
--2147483648 > -128
-quote -2147483648 > -127
--2147483648 > -127
-quote -2147483648 > 255
--2147483648 > 255
-quote -2147483648 > 256
--2147483648 > 256
-quote -2147483648 > 65535
--2147483648 > 65535
-quote -2147483648 > 65536
--2147483648 > 65536
-quote -2147483648 > 4294967295
--2147483648 > 4294967295
-quote -2147483648 > 4294967296
--2147483648 > 4294967296
-quote -2147483648 > 18446744073709551615
--2147483648 > 18446744073709551615
-quote -2147483648 > 18446744073709551616
--2147483648 > 18446744073709551616
-quote -2147483648 > 340282366920938463463374607431768211455
--2147483648 > 340282366920938463463374607431768211455
-quote -2147483648 > 340282366920938463463374607431768211456
--2147483648 > 340282366920938463463374607431768211456
-quote -2147483647 > -170141183460469231731687303715884105728
--2147483647 > -170141183460469231731687303715884105728
-quote -2147483647 > -170141183460469231731687303715884105727
--2147483647 > -170141183460469231731687303715884105727
-quote -2147483647 > -9223372036854775808
--2147483647 > -9223372036854775808
-quote -2147483647 > -9223372036854775807
--2147483647 > -9223372036854775807
-quote -2147483647 > -2147483648
--2147483647 > -2147483648
-quote -2147483647 > -2147483647
--2147483647 > -2147483647
-quote -2147483647 > -32768
--2147483647 > -32768
-quote -2147483647 > -32767
--2147483647 > -32767
-quote -2147483647 > -128
--2147483647 > -128
-quote -2147483647 > -127
--2147483647 > -127
-quote -2147483647 > 255
--2147483647 > 255
-quote -2147483647 > 256
--2147483647 > 256
-quote -2147483647 > 65535
--2147483647 > 65535
-quote -2147483647 > 65536
--2147483647 > 65536
-quote -2147483647 > 4294967295
--2147483647 > 4294967295
-quote -2147483647 > 4294967296
--2147483647 > 4294967296
-quote -2147483647 > 18446744073709551615
--2147483647 > 18446744073709551615
-quote -2147483647 > 18446744073709551616
--2147483647 > 18446744073709551616
-quote -2147483647 > 340282366920938463463374607431768211455
--2147483647 > 340282366920938463463374607431768211455
-quote -2147483647 > 340282366920938463463374607431768211456
--2147483647 > 340282366920938463463374607431768211456
-quote -32768 > -170141183460469231731687303715884105728
--32768 > -170141183460469231731687303715884105728
-quote -32768 > -170141183460469231731687303715884105727
--32768 > -170141183460469231731687303715884105727
-quote -32768 > -9223372036854775808
--32768 > -9223372036854775808
-quote -32768 > -9223372036854775807
--32768 > -9223372036854775807
-quote -32768 > -2147483648
--32768 > -2147483648
-quote -32768 > -2147483647
--32768 > -2147483647
-quote -32768 > -32768
--32768 > -32768
-quote -32768 > -32767
--32768 > -32767
-quote -32768 > -128
--32768 > -128
-quote -32768 > -127
--32768 > -127
-quote -32768 > 255
--32768 > 255
-quote -32768 > 256
--32768 > 256
-quote -32768 > 65535
--32768 > 65535
-quote -32768 > 65536
--32768 > 65536
-quote -32768 > 4294967295
--32768 > 4294967295
-quote -32768 > 4294967296
--32768 > 4294967296
-quote -32768 > 18446744073709551615
--32768 > 18446744073709551615
-quote -32768 > 18446744073709551616
--32768 > 18446744073709551616
-quote -32768 > 340282366920938463463374607431768211455
--32768 > 340282366920938463463374607431768211455
-quote -32768 > 340282366920938463463374607431768211456
--32768 > 340282366920938463463374607431768211456
-quote -32767 > -170141183460469231731687303715884105728
--32767 > -170141183460469231731687303715884105728
-quote -32767 > -170141183460469231731687303715884105727
--32767 > -170141183460469231731687303715884105727
-quote -32767 > -9223372036854775808
--32767 > -9223372036854775808
-quote -32767 > -9223372036854775807
--32767 > -9223372036854775807
-quote -32767 > -2147483648
--32767 > -2147483648
-quote -32767 > -2147483647
--32767 > -2147483647
-quote -32767 > -32768
--32767 > -32768
-quote -32767 > -32767
--32767 > -32767
-quote -32767 > -128
--32767 > -128
-quote -32767 > -127
--32767 > -127
-quote -32767 > 255
--32767 > 255
-quote -32767 > 256
--32767 > 256
-quote -32767 > 65535
--32767 > 65535
-quote -32767 > 65536
--32767 > 65536
-quote -32767 > 4294967295
--32767 > 4294967295
-quote -32767 > 4294967296
--32767 > 4294967296
-quote -32767 > 18446744073709551615
--32767 > 18446744073709551615
-quote -32767 > 18446744073709551616
--32767 > 18446744073709551616
-quote -32767 > 340282366920938463463374607431768211455
--32767 > 340282366920938463463374607431768211455
-quote -32767 > 340282366920938463463374607431768211456
--32767 > 340282366920938463463374607431768211456
-quote -128 > -170141183460469231731687303715884105728
--128 > -170141183460469231731687303715884105728
-quote -128 > -170141183460469231731687303715884105727
--128 > -170141183460469231731687303715884105727
-quote -128 > -9223372036854775808
--128 > -9223372036854775808
-quote -128 > -9223372036854775807
--128 > -9223372036854775807
-quote -128 > -2147483648
--128 > -2147483648
-quote -128 > -2147483647
--128 > -2147483647
-quote -128 > -32768
--128 > -32768
-quote -128 > -32767
--128 > -32767
-quote -128 > -128
--128 > -128
-quote -128 > -127
--128 > -127
-quote -128 > 255
--128 > 255
-quote -128 > 256
--128 > 256
-quote -128 > 65535
--128 > 65535
-quote -128 > 65536
--128 > 65536
-quote -128 > 4294967295
--128 > 4294967295
-quote -128 > 4294967296
--128 > 4294967296
-quote -128 > 18446744073709551615
--128 > 18446744073709551615
-quote -128 > 18446744073709551616
--128 > 18446744073709551616
-quote -128 > 340282366920938463463374607431768211455
--128 > 340282366920938463463374607431768211455
-quote -128 > 340282366920938463463374607431768211456
--128 > 340282366920938463463374607431768211456
-quote -127 > -170141183460469231731687303715884105728
--127 > -170141183460469231731687303715884105728
-quote -127 > -170141183460469231731687303715884105727
--127 > -170141183460469231731687303715884105727
-quote -127 > -9223372036854775808
--127 > -9223372036854775808
-quote -127 > -9223372036854775807
--127 > -9223372036854775807
-quote -127 > -2147483648
--127 > -2147483648
-quote -127 > -2147483647
--127 > -2147483647
-quote -127 > -32768
--127 > -32768
-quote -127 > -32767
--127 > -32767
-quote -127 > -128
--127 > -128
-quote -127 > -127
--127 > -127
-quote -127 > 255
--127 > 255
-quote -127 > 256
--127 > 256
-quote -127 > 65535
--127 > 65535
-quote -127 > 65536
--127 > 65536
-quote -127 > 4294967295
--127 > 4294967295
-quote -127 > 4294967296
--127 > 4294967296
-quote -127 > 18446744073709551615
--127 > 18446744073709551615
-quote -127 > 18446744073709551616
--127 > 18446744073709551616
-quote -127 > 340282366920938463463374607431768211455
--127 > 340282366920938463463374607431768211455
-quote -127 > 340282366920938463463374607431768211456
--127 > 340282366920938463463374607431768211456
-quote 255 > -170141183460469231731687303715884105728
-255 > -170141183460469231731687303715884105728
-quote 255 > -170141183460469231731687303715884105727
-255 > -170141183460469231731687303715884105727
-quote 255 > -9223372036854775808
-255 > -9223372036854775808
-quote 255 > -9223372036854775807
-255 > -9223372036854775807
-quote 255 > -2147483648
-255 > -2147483648
-quote 255 > -2147483647
-255 > -2147483647
-quote 255 > -32768
-255 > -32768
-quote 255 > -32767
-255 > -32767
-quote 255 > -128
-255 > -128
-quote 255 > -127
-255 > -127
-quote 255 > 255
-255 > 255
-quote 255 > 256
-255 > 256
-quote 255 > 65535
-255 > 65535
-quote 255 > 65536
-255 > 65536
-quote 255 > 4294967295
-255 > 4294967295
-quote 255 > 4294967296
-255 > 4294967296
-quote 255 > 18446744073709551615
-255 > 18446744073709551615
-quote 255 > 18446744073709551616
-255 > 18446744073709551616
-quote 255 > 340282366920938463463374607431768211455
-255 > 340282366920938463463374607431768211455
-quote 255 > 340282366920938463463374607431768211456
-255 > 340282366920938463463374607431768211456
-quote 256 > -170141183460469231731687303715884105728
-256 > -170141183460469231731687303715884105728
-quote 256 > -170141183460469231731687303715884105727
-256 > -170141183460469231731687303715884105727
-quote 256 > -9223372036854775808
-256 > -9223372036854775808
-quote 256 > -9223372036854775807
-256 > -9223372036854775807
-quote 256 > -2147483648
-256 > -2147483648
-quote 256 > -2147483647
-256 > -2147483647
-quote 256 > -32768
-256 > -32768
-quote 256 > -32767
-256 > -32767
-quote 256 > -128
-256 > -128
-quote 256 > -127
-256 > -127
-quote 256 > 255
-256 > 255
-quote 256 > 256
-256 > 256
-quote 256 > 65535
-256 > 65535
-quote 256 > 65536
-256 > 65536
-quote 256 > 4294967295
-256 > 4294967295
-quote 256 > 4294967296
-256 > 4294967296
-quote 256 > 18446744073709551615
-256 > 18446744073709551615
-quote 256 > 18446744073709551616
-256 > 18446744073709551616
-quote 256 > 340282366920938463463374607431768211455
-256 > 340282366920938463463374607431768211455
-quote 256 > 340282366920938463463374607431768211456
-256 > 340282366920938463463374607431768211456
-quote 65535 > -170141183460469231731687303715884105728
-65535 > -170141183460469231731687303715884105728
-quote 65535 > -170141183460469231731687303715884105727
-65535 > -170141183460469231731687303715884105727
-quote 65535 > -9223372036854775808
-65535 > -9223372036854775808
-quote 65535 > -9223372036854775807
-65535 > -9223372036854775807
-quote 65535 > -2147483648
-65535 > -2147483648
-quote 65535 > -2147483647
-65535 > -2147483647
-quote 65535 > -32768
-65535 > -32768
-quote 65535 > -32767
-65535 > -32767
-quote 65535 > -128
-65535 > -128
-quote 65535 > -127
-65535 > -127
-quote 65535 > 255
-65535 > 255
-quote 65535 > 256
-65535 > 256
-quote 65535 > 65535
-65535 > 65535
-quote 65535 > 65536
-65535 > 65536
-quote 65535 > 4294967295
-65535 > 4294967295
-quote 65535 > 4294967296
-65535 > 4294967296
-quote 65535 > 18446744073709551615
-65535 > 18446744073709551615
-quote 65535 > 18446744073709551616
-65535 > 18446744073709551616
-quote 65535 > 340282366920938463463374607431768211455
-65535 > 340282366920938463463374607431768211455
-quote 65535 > 340282366920938463463374607431768211456
-65535 > 340282366920938463463374607431768211456
-quote 65536 > -170141183460469231731687303715884105728
-65536 > -170141183460469231731687303715884105728
-quote 65536 > -170141183460469231731687303715884105727
-65536 > -170141183460469231731687303715884105727
-quote 65536 > -9223372036854775808
-65536 > -9223372036854775808
-quote 65536 > -9223372036854775807
-65536 > -9223372036854775807
-quote 65536 > -2147483648
-65536 > -2147483648
-quote 65536 > -2147483647
-65536 > -2147483647
-quote 65536 > -32768
-65536 > -32768
-quote 65536 > -32767
-65536 > -32767
-quote 65536 > -128
-65536 > -128
-quote 65536 > -127
-65536 > -127
-quote 65536 > 255
-65536 > 255
-quote 65536 > 256
-65536 > 256
-quote 65536 > 65535
-65536 > 65535
-quote 65536 > 65536
-65536 > 65536
-quote 65536 > 4294967295
-65536 > 4294967295
-quote 65536 > 4294967296
-65536 > 4294967296
-quote 65536 > 18446744073709551615
-65536 > 18446744073709551615
-quote 65536 > 18446744073709551616
-65536 > 18446744073709551616
-quote 65536 > 340282366920938463463374607431768211455
-65536 > 340282366920938463463374607431768211455
-quote 65536 > 340282366920938463463374607431768211456
-65536 > 340282366920938463463374607431768211456
-quote 4294967295 > -170141183460469231731687303715884105728
-4294967295 > -170141183460469231731687303715884105728
-quote 4294967295 > -170141183460469231731687303715884105727
-4294967295 > -170141183460469231731687303715884105727
-quote 4294967295 > -9223372036854775808
-4294967295 > -9223372036854775808
-quote 4294967295 > -9223372036854775807
-4294967295 > -9223372036854775807
-quote 4294967295 > -2147483648
-4294967295 > -2147483648
-quote 4294967295 > -2147483647
-4294967295 > -2147483647
-quote 4294967295 > -32768
-4294967295 > -32768
-quote 4294967295 > -32767
-4294967295 > -32767
-quote 4294967295 > -128
-4294967295 > -128
-quote 4294967295 > -127
-4294967295 > -127
-quote 4294967295 > 255
-4294967295 > 255
-quote 4294967295 > 256
-4294967295 > 256
-quote 4294967295 > 65535
-4294967295 > 65535
-quote 4294967295 > 65536
-4294967295 > 65536
-quote 4294967295 > 4294967295
-4294967295 > 4294967295
-quote 4294967295 > 4294967296
-4294967295 > 4294967296
-quote 4294967295 > 18446744073709551615
-4294967295 > 18446744073709551615
-quote 4294967295 > 18446744073709551616
-4294967295 > 18446744073709551616
-quote 4294967295 > 340282366920938463463374607431768211455
-4294967295 > 340282366920938463463374607431768211455
-quote 4294967295 > 340282366920938463463374607431768211456
-4294967295 > 340282366920938463463374607431768211456
-quote 4294967296 > -170141183460469231731687303715884105728
-4294967296 > -170141183460469231731687303715884105728
-quote 4294967296 > -170141183460469231731687303715884105727
-4294967296 > -170141183460469231731687303715884105727
-quote 4294967296 > -9223372036854775808
-4294967296 > -9223372036854775808
-quote 4294967296 > -9223372036854775807
-4294967296 > -9223372036854775807
-quote 4294967296 > -2147483648
-4294967296 > -2147483648
-quote 4294967296 > -2147483647
-4294967296 > -2147483647
-quote 4294967296 > -32768
-4294967296 > -32768
-quote 4294967296 > -32767
-4294967296 > -32767
-quote 4294967296 > -128
-4294967296 > -128
-quote 4294967296 > -127
-4294967296 > -127
-quote 4294967296 > 255
-4294967296 > 255
-quote 4294967296 > 256
-4294967296 > 256
-quote 4294967296 > 65535
-4294967296 > 65535
-quote 4294967296 > 65536
-4294967296 > 65536
-quote 4294967296 > 4294967295
-4294967296 > 4294967295
-quote 4294967296 > 4294967296
-4294967296 > 4294967296
-quote 4294967296 > 18446744073709551615
-4294967296 > 18446744073709551615
-quote 4294967296 > 18446744073709551616
-4294967296 > 18446744073709551616
-quote 4294967296 > 340282366920938463463374607431768211455
-4294967296 > 340282366920938463463374607431768211455
-quote 4294967296 > 340282366920938463463374607431768211456
-4294967296 > 340282366920938463463374607431768211456
-quote 18446744073709551615 > -170141183460469231731687303715884105728
-18446744073709551615 > -170141183460469231731687303715884105728
-quote 18446744073709551615 > -170141183460469231731687303715884105727
-18446744073709551615 > -170141183460469231731687303715884105727
-quote 18446744073709551615 > -9223372036854775808
-18446744073709551615 > -9223372036854775808
-quote 18446744073709551615 > -9223372036854775807
-18446744073709551615 > -9223372036854775807
-quote 18446744073709551615 > -2147483648
-18446744073709551615 > -2147483648
-quote 18446744073709551615 > -2147483647
-18446744073709551615 > -2147483647
-quote 18446744073709551615 > -32768
-18446744073709551615 > -32768
-quote 18446744073709551615 > -32767
-18446744073709551615 > -32767
-quote 18446744073709551615 > -128
-18446744073709551615 > -128
-quote 18446744073709551615 > -127
-18446744073709551615 > -127
-quote 18446744073709551615 > 255
-18446744073709551615 > 255
-quote 18446744073709551615 > 256
-18446744073709551615 > 256
-quote 18446744073709551615 > 65535
-18446744073709551615 > 65535
-quote 18446744073709551615 > 65536
-18446744073709551615 > 65536
-quote 18446744073709551615 > 4294967295
-18446744073709551615 > 4294967295
-quote 18446744073709551615 > 4294967296
-18446744073709551615 > 4294967296
-quote 18446744073709551615 > 18446744073709551615
-18446744073709551615 > 18446744073709551615
-quote 18446744073709551615 > 18446744073709551616
-18446744073709551615 > 18446744073709551616
-quote 18446744073709551615 > 340282366920938463463374607431768211455
-18446744073709551615 > 340282366920938463463374607431768211455
-quote 18446744073709551615 > 340282366920938463463374607431768211456
-18446744073709551615 > 340282366920938463463374607431768211456
-quote 18446744073709551616 > -170141183460469231731687303715884105728
-18446744073709551616 > -170141183460469231731687303715884105728
-quote 18446744073709551616 > -170141183460469231731687303715884105727
-18446744073709551616 > -170141183460469231731687303715884105727
-quote 18446744073709551616 > -9223372036854775808
-18446744073709551616 > -9223372036854775808
-quote 18446744073709551616 > -9223372036854775807
-18446744073709551616 > -9223372036854775807
-quote 18446744073709551616 > -2147483648
-18446744073709551616 > -2147483648
-quote 18446744073709551616 > -2147483647
-18446744073709551616 > -2147483647
-quote 18446744073709551616 > -32768
-18446744073709551616 > -32768
-quote 18446744073709551616 > -32767
-18446744073709551616 > -32767
-quote 18446744073709551616 > -128
-18446744073709551616 > -128
-quote 18446744073709551616 > -127
-18446744073709551616 > -127
-quote 18446744073709551616 > 255
-18446744073709551616 > 255
-quote 18446744073709551616 > 256
-18446744073709551616 > 256
-quote 18446744073709551616 > 65535
-18446744073709551616 > 65535
-quote 18446744073709551616 > 65536
-18446744073709551616 > 65536
-quote 18446744073709551616 > 4294967295
-18446744073709551616 > 4294967295
-quote 18446744073709551616 > 4294967296
-18446744073709551616 > 4294967296
-quote 18446744073709551616 > 18446744073709551615
-18446744073709551616 > 18446744073709551615
-quote 18446744073709551616 > 18446744073709551616
-18446744073709551616 > 18446744073709551616
-quote 18446744073709551616 > 340282366920938463463374607431768211455
-18446744073709551616 > 340282366920938463463374607431768211455
-quote 18446744073709551616 > 340282366920938463463374607431768211456
-18446744073709551616 > 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211455 > -170141183460469231731687303715884105728
-340282366920938463463374607431768211455 > -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211455 > -170141183460469231731687303715884105727
-340282366920938463463374607431768211455 > -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211455 > -9223372036854775808
-340282366920938463463374607431768211455 > -9223372036854775808
-quote 340282366920938463463374607431768211455 > -9223372036854775807
-340282366920938463463374607431768211455 > -9223372036854775807
-quote 340282366920938463463374607431768211455 > -2147483648
-340282366920938463463374607431768211455 > -2147483648
-quote 340282366920938463463374607431768211455 > -2147483647
-340282366920938463463374607431768211455 > -2147483647
-quote 340282366920938463463374607431768211455 > -32768
-340282366920938463463374607431768211455 > -32768
-quote 340282366920938463463374607431768211455 > -32767
-340282366920938463463374607431768211455 > -32767
-quote 340282366920938463463374607431768211455 > -128
-340282366920938463463374607431768211455 > -128
-quote 340282366920938463463374607431768211455 > -127
-340282366920938463463374607431768211455 > -127
-quote 340282366920938463463374607431768211455 > 255
-340282366920938463463374607431768211455 > 255
-quote 340282366920938463463374607431768211455 > 256
-340282366920938463463374607431768211455 > 256
-quote 340282366920938463463374607431768211455 > 65535
-340282366920938463463374607431768211455 > 65535
-quote 340282366920938463463374607431768211455 > 65536
-340282366920938463463374607431768211455 > 65536
-quote 340282366920938463463374607431768211455 > 4294967295
-340282366920938463463374607431768211455 > 4294967295
-quote 340282366920938463463374607431768211455 > 4294967296
-340282366920938463463374607431768211455 > 4294967296
-quote 340282366920938463463374607431768211455 > 18446744073709551615
-340282366920938463463374607431768211455 > 18446744073709551615
-quote 340282366920938463463374607431768211455 > 18446744073709551616
-340282366920938463463374607431768211455 > 18446744073709551616
-quote 340282366920938463463374607431768211455 > 340282366920938463463374607431768211455
-340282366920938463463374607431768211455 > 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211455 > 340282366920938463463374607431768211456
-340282366920938463463374607431768211455 > 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211456 > -170141183460469231731687303715884105728
-340282366920938463463374607431768211456 > -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211456 > -170141183460469231731687303715884105727
-340282366920938463463374607431768211456 > -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211456 > -9223372036854775808
-340282366920938463463374607431768211456 > -9223372036854775808
-quote 340282366920938463463374607431768211456 > -9223372036854775807
-340282366920938463463374607431768211456 > -9223372036854775807
-quote 340282366920938463463374607431768211456 > -2147483648
-340282366920938463463374607431768211456 > -2147483648
-quote 340282366920938463463374607431768211456 > -2147483647
-340282366920938463463374607431768211456 > -2147483647
-quote 340282366920938463463374607431768211456 > -32768
-340282366920938463463374607431768211456 > -32768
-quote 340282366920938463463374607431768211456 > -32767
-340282366920938463463374607431768211456 > -32767
-quote 340282366920938463463374607431768211456 > -128
-340282366920938463463374607431768211456 > -128
-quote 340282366920938463463374607431768211456 > -127
-340282366920938463463374607431768211456 > -127
-quote 340282366920938463463374607431768211456 > 255
-340282366920938463463374607431768211456 > 255
-quote 340282366920938463463374607431768211456 > 256
-340282366920938463463374607431768211456 > 256
-quote 340282366920938463463374607431768211456 > 65535
-340282366920938463463374607431768211456 > 65535
-quote 340282366920938463463374607431768211456 > 65536
-340282366920938463463374607431768211456 > 65536
-quote 340282366920938463463374607431768211456 > 4294967295
-340282366920938463463374607431768211456 > 4294967295
-quote 340282366920938463463374607431768211456 > 4294967296
-340282366920938463463374607431768211456 > 4294967296
-quote 340282366920938463463374607431768211456 > 18446744073709551615
-340282366920938463463374607431768211456 > 18446744073709551615
-quote 340282366920938463463374607431768211456 > 18446744073709551616
-340282366920938463463374607431768211456 > 18446744073709551616
-quote 340282366920938463463374607431768211456 > 340282366920938463463374607431768211455
-340282366920938463463374607431768211456 > 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211456 > 340282366920938463463374607431768211456
-340282366920938463463374607431768211456 > 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_gt.out.expected b/test/ic3/integer_gt.out.expected
deleted file mode 100644
index 57daf68..0000000
--- a/test/ic3/integer_gt.out.expected
+++ /dev/null
@@ -1,800 +0,0 @@
--170141183460469231731687303715884105728 > -170141183460469231731687303715884105728
-false
--170141183460469231731687303715884105728 > -170141183460469231731687303715884105727
-false
--170141183460469231731687303715884105728 > -9223372036854775808
-false
--170141183460469231731687303715884105728 > -9223372036854775807
-false
--170141183460469231731687303715884105728 > -2147483648
-false
--170141183460469231731687303715884105728 > -2147483647
-false
--170141183460469231731687303715884105728 > -32768
-false
--170141183460469231731687303715884105728 > -32767
-false
--170141183460469231731687303715884105728 > -128
-false
--170141183460469231731687303715884105728 > -127
-false
--170141183460469231731687303715884105728 > 255
-false
--170141183460469231731687303715884105728 > 256
-false
--170141183460469231731687303715884105728 > 65535
-false
--170141183460469231731687303715884105728 > 65536
-false
--170141183460469231731687303715884105728 > 4294967295
-false
--170141183460469231731687303715884105728 > 4294967296
-false
--170141183460469231731687303715884105728 > 18446744073709551615
-false
--170141183460469231731687303715884105728 > 18446744073709551616
-false
--170141183460469231731687303715884105728 > 340282366920938463463374607431768211455
-false
--170141183460469231731687303715884105728 > 340282366920938463463374607431768211456
-false
--170141183460469231731687303715884105727 > -170141183460469231731687303715884105728
-true
--170141183460469231731687303715884105727 > -170141183460469231731687303715884105727
-false
--170141183460469231731687303715884105727 > -9223372036854775808
-false
--170141183460469231731687303715884105727 > -9223372036854775807
-false
--170141183460469231731687303715884105727 > -2147483648
-false
--170141183460469231731687303715884105727 > -2147483647
-false
--170141183460469231731687303715884105727 > -32768
-false
--170141183460469231731687303715884105727 > -32767
-false
--170141183460469231731687303715884105727 > -128
-false
--170141183460469231731687303715884105727 > -127
-false
--170141183460469231731687303715884105727 > 255
-false
--170141183460469231731687303715884105727 > 256
-false
--170141183460469231731687303715884105727 > 65535
-false
--170141183460469231731687303715884105727 > 65536
-false
--170141183460469231731687303715884105727 > 4294967295
-false
--170141183460469231731687303715884105727 > 4294967296
-false
--170141183460469231731687303715884105727 > 18446744073709551615
-false
--170141183460469231731687303715884105727 > 18446744073709551616
-false
--170141183460469231731687303715884105727 > 340282366920938463463374607431768211455
-false
--170141183460469231731687303715884105727 > 340282366920938463463374607431768211456
-false
--9223372036854775808 > -170141183460469231731687303715884105728
-true
--9223372036854775808 > -170141183460469231731687303715884105727
-true
--9223372036854775808 > -9223372036854775808
-false
--9223372036854775808 > -9223372036854775807
-false
--9223372036854775808 > -2147483648
-false
--9223372036854775808 > -2147483647
-false
--9223372036854775808 > -32768
-false
--9223372036854775808 > -32767
-false
--9223372036854775808 > -128
-false
--9223372036854775808 > -127
-false
--9223372036854775808 > 255
-false
--9223372036854775808 > 256
-false
--9223372036854775808 > 65535
-false
--9223372036854775808 > 65536
-false
--9223372036854775808 > 4294967295
-false
--9223372036854775808 > 4294967296
-false
--9223372036854775808 > 18446744073709551615
-false
--9223372036854775808 > 18446744073709551616
-false
--9223372036854775808 > 340282366920938463463374607431768211455
-false
--9223372036854775808 > 340282366920938463463374607431768211456
-false
--9223372036854775807 > -170141183460469231731687303715884105728
-true
--9223372036854775807 > -170141183460469231731687303715884105727
-true
--9223372036854775807 > -9223372036854775808
-true
--9223372036854775807 > -9223372036854775807
-false
--9223372036854775807 > -2147483648
-false
--9223372036854775807 > -2147483647
-false
--9223372036854775807 > -32768
-false
--9223372036854775807 > -32767
-false
--9223372036854775807 > -128
-false
--9223372036854775807 > -127
-false
--9223372036854775807 > 255
-false
--9223372036854775807 > 256
-false
--9223372036854775807 > 65535
-false
--9223372036854775807 > 65536
-false
--9223372036854775807 > 4294967295
-false
--9223372036854775807 > 4294967296
-false
--9223372036854775807 > 18446744073709551615
-false
--9223372036854775807 > 18446744073709551616
-false
--9223372036854775807 > 340282366920938463463374607431768211455
-false
--9223372036854775807 > 340282366920938463463374607431768211456
-false
--2147483648 > -170141183460469231731687303715884105728
-true
--2147483648 > -170141183460469231731687303715884105727
-true
--2147483648 > -9223372036854775808
-true
--2147483648 > -9223372036854775807
-true
--2147483648 > -2147483648
-false
--2147483648 > -2147483647
-false
--2147483648 > -32768
-false
--2147483648 > -32767
-false
--2147483648 > -128
-false
--2147483648 > -127
-false
--2147483648 > 255
-false
--2147483648 > 256
-false
--2147483648 > 65535
-false
--2147483648 > 65536
-false
--2147483648 > 4294967295
-false
--2147483648 > 4294967296
-false
--2147483648 > 18446744073709551615
-false
--2147483648 > 18446744073709551616
-false
--2147483648 > 340282366920938463463374607431768211455
-false
--2147483648 > 340282366920938463463374607431768211456
-false
--2147483647 > -170141183460469231731687303715884105728
-true
--2147483647 > -170141183460469231731687303715884105727
-true
--2147483647 > -9223372036854775808
-true
--2147483647 > -9223372036854775807
-true
--2147483647 > -2147483648
-true
--2147483647 > -2147483647
-false
--2147483647 > -32768
-false
--2147483647 > -32767
-false
--2147483647 > -128
-false
--2147483647 > -127
-false
--2147483647 > 255
-false
--2147483647 > 256
-false
--2147483647 > 65535
-false
--2147483647 > 65536
-false
--2147483647 > 4294967295
-false
--2147483647 > 4294967296
-false
--2147483647 > 18446744073709551615
-false
--2147483647 > 18446744073709551616
-false
--2147483647 > 340282366920938463463374607431768211455
-false
--2147483647 > 340282366920938463463374607431768211456
-false
--32768 > -170141183460469231731687303715884105728
-true
--32768 > -170141183460469231731687303715884105727
-true
--32768 > -9223372036854775808
-true
--32768 > -9223372036854775807
-true
--32768 > -2147483648
-true
--32768 > -2147483647
-true
--32768 > -32768
-false
--32768 > -32767
-false
--32768 > -128
-false
--32768 > -127
-false
--32768 > 255
-false
--32768 > 256
-false
--32768 > 65535
-false
--32768 > 65536
-false
--32768 > 4294967295
-false
--32768 > 4294967296
-false
--32768 > 18446744073709551615
-false
--32768 > 18446744073709551616
-false
--32768 > 340282366920938463463374607431768211455
-false
--32768 > 340282366920938463463374607431768211456
-false
--32767 > -170141183460469231731687303715884105728
-true
--32767 > -170141183460469231731687303715884105727
-true
--32767 > -9223372036854775808
-true
--32767 > -9223372036854775807
-true
--32767 > -2147483648
-true
--32767 > -2147483647
-true
--32767 > -32768
-true
--32767 > -32767
-false
--32767 > -128
-false
--32767 > -127
-false
--32767 > 255
-false
--32767 > 256
-false
--32767 > 65535
-false
--32767 > 65536
-false
--32767 > 4294967295
-false
--32767 > 4294967296
-false
--32767 > 18446744073709551615
-false
--32767 > 18446744073709551616
-false
--32767 > 340282366920938463463374607431768211455
-false
--32767 > 340282366920938463463374607431768211456
-false
--128 > -170141183460469231731687303715884105728
-true
--128 > -170141183460469231731687303715884105727
-true
--128 > -9223372036854775808
-true
--128 > -9223372036854775807
-true
--128 > -2147483648
-true
--128 > -2147483647
-true
--128 > -32768
-true
--128 > -32767
-true
--128 > -128
-false
--128 > -127
-false
--128 > 255
-false
--128 > 256
-false
--128 > 65535
-false
--128 > 65536
-false
--128 > 4294967295
-false
--128 > 4294967296
-false
--128 > 18446744073709551615
-false
--128 > 18446744073709551616
-false
--128 > 340282366920938463463374607431768211455
-false
--128 > 340282366920938463463374607431768211456
-false
--127 > -170141183460469231731687303715884105728
-true
--127 > -170141183460469231731687303715884105727
-true
--127 > -9223372036854775808
-true
--127 > -9223372036854775807
-true
--127 > -2147483648
-true
--127 > -2147483647
-true
--127 > -32768
-true
--127 > -32767
-true
--127 > -128
-true
--127 > -127
-false
--127 > 255
-false
--127 > 256
-false
--127 > 65535
-false
--127 > 65536
-false
--127 > 4294967295
-false
--127 > 4294967296
-false
--127 > 18446744073709551615
-false
--127 > 18446744073709551616
-false
--127 > 340282366920938463463374607431768211455
-false
--127 > 340282366920938463463374607431768211456
-false
-255 > -170141183460469231731687303715884105728
-true
-255 > -170141183460469231731687303715884105727
-true
-255 > -9223372036854775808
-true
-255 > -9223372036854775807
-true
-255 > -2147483648
-true
-255 > -2147483647
-true
-255 > -32768
-true
-255 > -32767
-true
-255 > -128
-true
-255 > -127
-true
-255 > 255
-false
-255 > 256
-false
-255 > 65535
-false
-255 > 65536
-false
-255 > 4294967295
-false
-255 > 4294967296
-false
-255 > 18446744073709551615
-false
-255 > 18446744073709551616
-false
-255 > 340282366920938463463374607431768211455
-false
-255 > 340282366920938463463374607431768211456
-false
-256 > -170141183460469231731687303715884105728
-true
-256 > -170141183460469231731687303715884105727
-true
-256 > -9223372036854775808
-true
-256 > -9223372036854775807
-true
-256 > -2147483648
-true
-256 > -2147483647
-true
-256 > -32768
-true
-256 > -32767
-true
-256 > -128
-true
-256 > -127
-true
-256 > 255
-true
-256 > 256
-false
-256 > 65535
-false
-256 > 65536
-false
-256 > 4294967295
-false
-256 > 4294967296
-false
-256 > 18446744073709551615
-false
-256 > 18446744073709551616
-false
-256 > 340282366920938463463374607431768211455
-false
-256 > 340282366920938463463374607431768211456
-false
-65535 > -170141183460469231731687303715884105728
-true
-65535 > -170141183460469231731687303715884105727
-true
-65535 > -9223372036854775808
-true
-65535 > -9223372036854775807
-true
-65535 > -2147483648
-true
-65535 > -2147483647
-true
-65535 > -32768
-true
-65535 > -32767
-true
-65535 > -128
-true
-65535 > -127
-true
-65535 > 255
-true
-65535 > 256
-true
-65535 > 65535
-false
-65535 > 65536
-false
-65535 > 4294967295
-false
-65535 > 4294967296
-false
-65535 > 18446744073709551615
-false
-65535 > 18446744073709551616
-false
-65535 > 340282366920938463463374607431768211455
-false
-65535 > 340282366920938463463374607431768211456
-false
-65536 > -170141183460469231731687303715884105728
-true
-65536 > -170141183460469231731687303715884105727
-true
-65536 > -9223372036854775808
-true
-65536 > -9223372036854775807
-true
-65536 > -2147483648
-true
-65536 > -2147483647
-true
-65536 > -32768
-true
-65536 > -32767
-true
-65536 > -128
-true
-65536 > -127
-true
-65536 > 255
-true
-65536 > 256
-true
-65536 > 65535
-true
-65536 > 65536
-false
-65536 > 4294967295
-false
-65536 > 4294967296
-false
-65536 > 18446744073709551615
-false
-65536 > 18446744073709551616
-false
-65536 > 340282366920938463463374607431768211455
-false
-65536 > 340282366920938463463374607431768211456
-false
-4294967295 > -170141183460469231731687303715884105728
-true
-4294967295 > -170141183460469231731687303715884105727
-true
-4294967295 > -9223372036854775808
-true
-4294967295 > -9223372036854775807
-true
-4294967295 > -2147483648
-true
-4294967295 > -2147483647
-true
-4294967295 > -32768
-true
-4294967295 > -32767
-true
-4294967295 > -128
-true
-4294967295 > -127
-true
-4294967295 > 255
-true
-4294967295 > 256
-true
-4294967295 > 65535
-true
-4294967295 > 65536
-true
-4294967295 > 4294967295
-false
-4294967295 > 4294967296
-false
-4294967295 > 18446744073709551615
-false
-4294967295 > 18446744073709551616
-false
-4294967295 > 340282366920938463463374607431768211455
-false
-4294967295 > 340282366920938463463374607431768211456
-false
-4294967296 > -170141183460469231731687303715884105728
-true
-4294967296 > -170141183460469231731687303715884105727
-true
-4294967296 > -9223372036854775808
-true
-4294967296 > -9223372036854775807
-true
-4294967296 > -2147483648
-true
-4294967296 > -2147483647
-true
-4294967296 > -32768
-true
-4294967296 > -32767
-true
-4294967296 > -128
-true
-4294967296 > -127
-true
-4294967296 > 255
-true
-4294967296 > 256
-true
-4294967296 > 65535
-true
-4294967296 > 65536
-true
-4294967296 > 4294967295
-true
-4294967296 > 4294967296
-false
-4294967296 > 18446744073709551615
-false
-4294967296 > 18446744073709551616
-false
-4294967296 > 340282366920938463463374607431768211455
-false
-4294967296 > 340282366920938463463374607431768211456
-false
-18446744073709551615 > -170141183460469231731687303715884105728
-true
-18446744073709551615 > -170141183460469231731687303715884105727
-true
-18446744073709551615 > -9223372036854775808
-true
-18446744073709551615 > -9223372036854775807
-true
-18446744073709551615 > -2147483648
-true
-18446744073709551615 > -2147483647
-true
-18446744073709551615 > -32768
-true
-18446744073709551615 > -32767
-true
-18446744073709551615 > -128
-true
-18446744073709551615 > -127
-true
-18446744073709551615 > 255
-true
-18446744073709551615 > 256
-true
-18446744073709551615 > 65535
-true
-18446744073709551615 > 65536
-true
-18446744073709551615 > 4294967295
-true
-18446744073709551615 > 4294967296
-true
-18446744073709551615 > 18446744073709551615
-false
-18446744073709551615 > 18446744073709551616
-false
-18446744073709551615 > 340282366920938463463374607431768211455
-false
-18446744073709551615 > 340282366920938463463374607431768211456
-false
-18446744073709551616 > -170141183460469231731687303715884105728
-true
-18446744073709551616 > -170141183460469231731687303715884105727
-true
-18446744073709551616 > -9223372036854775808
-true
-18446744073709551616 > -9223372036854775807
-true
-18446744073709551616 > -2147483648
-true
-18446744073709551616 > -2147483647
-true
-18446744073709551616 > -32768
-true
-18446744073709551616 > -32767
-true
-18446744073709551616 > -128
-true
-18446744073709551616 > -127
-true
-18446744073709551616 > 255
-true
-18446744073709551616 > 256
-true
-18446744073709551616 > 65535
-true
-18446744073709551616 > 65536
-true
-18446744073709551616 > 4294967295
-true
-18446744073709551616 > 4294967296
-true
-18446744073709551616 > 18446744073709551615
-true
-18446744073709551616 > 18446744073709551616
-false
-18446744073709551616 > 340282366920938463463374607431768211455
-false
-18446744073709551616 > 340282366920938463463374607431768211456
-false
-340282366920938463463374607431768211455 > -170141183460469231731687303715884105728
-true
-340282366920938463463374607431768211455 > -170141183460469231731687303715884105727
-true
-340282366920938463463374607431768211455 > -9223372036854775808
-true
-340282366920938463463374607431768211455 > -9223372036854775807
-true
-340282366920938463463374607431768211455 > -2147483648
-true
-340282366920938463463374607431768211455 > -2147483647
-true
-340282366920938463463374607431768211455 > -32768
-true
-340282366920938463463374607431768211455 > -32767
-true
-340282366920938463463374607431768211455 > -128
-true
-340282366920938463463374607431768211455 > -127
-true
-340282366920938463463374607431768211455 > 255
-true
-340282366920938463463374607431768211455 > 256
-true
-340282366920938463463374607431768211455 > 65535
-true
-340282366920938463463374607431768211455 > 65536
-true
-340282366920938463463374607431768211455 > 4294967295
-true
-340282366920938463463374607431768211455 > 4294967296
-true
-340282366920938463463374607431768211455 > 18446744073709551615
-true
-340282366920938463463374607431768211455 > 18446744073709551616
-true
-340282366920938463463374607431768211455 > 340282366920938463463374607431768211455
-false
-340282366920938463463374607431768211455 > 340282366920938463463374607431768211456
-false
-340282366920938463463374607431768211456 > -170141183460469231731687303715884105728
-true
-340282366920938463463374607431768211456 > -170141183460469231731687303715884105727
-true
-340282366920938463463374607431768211456 > -9223372036854775808
-true
-340282366920938463463374607431768211456 > -9223372036854775807
-true
-340282366920938463463374607431768211456 > -2147483648
-true
-340282366920938463463374607431768211456 > -2147483647
-true
-340282366920938463463374607431768211456 > -32768
-true
-340282366920938463463374607431768211456 > -32767
-true
-340282366920938463463374607431768211456 > -128
-true
-340282366920938463463374607431768211456 > -127
-true
-340282366920938463463374607431768211456 > 255
-true
-340282366920938463463374607431768211456 > 256
-true
-340282366920938463463374607431768211456 > 65535
-true
-340282366920938463463374607431768211456 > 65536
-true
-340282366920938463463374607431768211456 > 4294967295
-true
-340282366920938463463374607431768211456 > 4294967296
-true
-340282366920938463463374607431768211456 > 18446744073709551615
-true
-340282366920938463463374607431768211456 > 18446744073709551616
-true
-340282366920938463463374607431768211456 > 340282366920938463463374607431768211455
-true
-340282366920938463463374607431768211456 > 340282366920938463463374607431768211456
-false
diff --git a/test/ic3/integer_gt.ret.expected b/test/ic3/integer_gt.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/integer_gt.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/integer_gt_2.in b/test/ic3/integer_gt_2.in
new file mode 100644
index 0000000..c27a0ab
--- /dev/null
+++ b/test/ic3/integer_gt_2.in
@@ -0,0 +1,800 @@
+quote -170141183460469231731687303715884105728 > -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 > -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105728 > -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 > -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105728 > -9223372036854775808
+-170141183460469231731687303715884105728 > -9223372036854775808
+quote -170141183460469231731687303715884105728 > -9223372036854775807
+-170141183460469231731687303715884105728 > -9223372036854775807
+quote -170141183460469231731687303715884105728 > -2147483648
+-170141183460469231731687303715884105728 > -2147483648
+quote -170141183460469231731687303715884105728 > -2147483647
+-170141183460469231731687303715884105728 > -2147483647
+quote -170141183460469231731687303715884105728 > -32768
+-170141183460469231731687303715884105728 > -32768
+quote -170141183460469231731687303715884105728 > -32767
+-170141183460469231731687303715884105728 > -32767
+quote -170141183460469231731687303715884105728 > -128
+-170141183460469231731687303715884105728 > -128
+quote -170141183460469231731687303715884105728 > -127
+-170141183460469231731687303715884105728 > -127
+quote -170141183460469231731687303715884105728 > 255
+-170141183460469231731687303715884105728 > 255
+quote -170141183460469231731687303715884105728 > 256
+-170141183460469231731687303715884105728 > 256
+quote -170141183460469231731687303715884105728 > 65535
+-170141183460469231731687303715884105728 > 65535
+quote -170141183460469231731687303715884105728 > 65536
+-170141183460469231731687303715884105728 > 65536
+quote -170141183460469231731687303715884105728 > 4294967295
+-170141183460469231731687303715884105728 > 4294967295
+quote -170141183460469231731687303715884105728 > 4294967296
+-170141183460469231731687303715884105728 > 4294967296
+quote -170141183460469231731687303715884105728 > 18446744073709551615
+-170141183460469231731687303715884105728 > 18446744073709551615
+quote -170141183460469231731687303715884105728 > 18446744073709551616
+-170141183460469231731687303715884105728 > 18446744073709551616
+quote -170141183460469231731687303715884105728 > 340282366920938463463374607431768211455
+-170141183460469231731687303715884105728 > 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105728 > 340282366920938463463374607431768211456
+-170141183460469231731687303715884105728 > 340282366920938463463374607431768211456
+quote -170141183460469231731687303715884105727 > -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 > -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105727 > -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 > -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105727 > -9223372036854775808
+-170141183460469231731687303715884105727 > -9223372036854775808
+quote -170141183460469231731687303715884105727 > -9223372036854775807
+-170141183460469231731687303715884105727 > -9223372036854775807
+quote -170141183460469231731687303715884105727 > -2147483648
+-170141183460469231731687303715884105727 > -2147483648
+quote -170141183460469231731687303715884105727 > -2147483647
+-170141183460469231731687303715884105727 > -2147483647
+quote -170141183460469231731687303715884105727 > -32768
+-170141183460469231731687303715884105727 > -32768
+quote -170141183460469231731687303715884105727 > -32767
+-170141183460469231731687303715884105727 > -32767
+quote -170141183460469231731687303715884105727 > -128
+-170141183460469231731687303715884105727 > -128
+quote -170141183460469231731687303715884105727 > -127
+-170141183460469231731687303715884105727 > -127
+quote -170141183460469231731687303715884105727 > 255
+-170141183460469231731687303715884105727 > 255
+quote -170141183460469231731687303715884105727 > 256
+-170141183460469231731687303715884105727 > 256
+quote -170141183460469231731687303715884105727 > 65535
+-170141183460469231731687303715884105727 > 65535
+quote -170141183460469231731687303715884105727 > 65536
+-170141183460469231731687303715884105727 > 65536
+quote -170141183460469231731687303715884105727 > 4294967295
+-170141183460469231731687303715884105727 > 4294967295
+quote -170141183460469231731687303715884105727 > 4294967296
+-170141183460469231731687303715884105727 > 4294967296
+quote -170141183460469231731687303715884105727 > 18446744073709551615
+-170141183460469231731687303715884105727 > 18446744073709551615
+quote -170141183460469231731687303715884105727 > 18446744073709551616
+-170141183460469231731687303715884105727 > 18446744073709551616
+quote -170141183460469231731687303715884105727 > 340282366920938463463374607431768211455
+-170141183460469231731687303715884105727 > 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105727 > 340282366920938463463374607431768211456
+-170141183460469231731687303715884105727 > 340282366920938463463374607431768211456
+quote -9223372036854775808 > -170141183460469231731687303715884105728
+-9223372036854775808 > -170141183460469231731687303715884105728
+quote -9223372036854775808 > -170141183460469231731687303715884105727
+-9223372036854775808 > -170141183460469231731687303715884105727
+quote -9223372036854775808 > -9223372036854775808
+-9223372036854775808 > -9223372036854775808
+quote -9223372036854775808 > -9223372036854775807
+-9223372036854775808 > -9223372036854775807
+quote -9223372036854775808 > -2147483648
+-9223372036854775808 > -2147483648
+quote -9223372036854775808 > -2147483647
+-9223372036854775808 > -2147483647
+quote -9223372036854775808 > -32768
+-9223372036854775808 > -32768
+quote -9223372036854775808 > -32767
+-9223372036854775808 > -32767
+quote -9223372036854775808 > -128
+-9223372036854775808 > -128
+quote -9223372036854775808 > -127
+-9223372036854775808 > -127
+quote -9223372036854775808 > 255
+-9223372036854775808 > 255
+quote -9223372036854775808 > 256
+-9223372036854775808 > 256
+quote -9223372036854775808 > 65535
+-9223372036854775808 > 65535
+quote -9223372036854775808 > 65536
+-9223372036854775808 > 65536
+quote -9223372036854775808 > 4294967295
+-9223372036854775808 > 4294967295
+quote -9223372036854775808 > 4294967296
+-9223372036854775808 > 4294967296
+quote -9223372036854775808 > 18446744073709551615
+-9223372036854775808 > 18446744073709551615
+quote -9223372036854775808 > 18446744073709551616
+-9223372036854775808 > 18446744073709551616
+quote -9223372036854775808 > 340282366920938463463374607431768211455
+-9223372036854775808 > 340282366920938463463374607431768211455
+quote -9223372036854775808 > 340282366920938463463374607431768211456
+-9223372036854775808 > 340282366920938463463374607431768211456
+quote -9223372036854775807 > -170141183460469231731687303715884105728
+-9223372036854775807 > -170141183460469231731687303715884105728
+quote -9223372036854775807 > -170141183460469231731687303715884105727
+-9223372036854775807 > -170141183460469231731687303715884105727
+quote -9223372036854775807 > -9223372036854775808
+-9223372036854775807 > -9223372036854775808
+quote -9223372036854775807 > -9223372036854775807
+-9223372036854775807 > -9223372036854775807
+quote -9223372036854775807 > -2147483648
+-9223372036854775807 > -2147483648
+quote -9223372036854775807 > -2147483647
+-9223372036854775807 > -2147483647
+quote -9223372036854775807 > -32768
+-9223372036854775807 > -32768
+quote -9223372036854775807 > -32767
+-9223372036854775807 > -32767
+quote -9223372036854775807 > -128
+-9223372036854775807 > -128
+quote -9223372036854775807 > -127
+-9223372036854775807 > -127
+quote -9223372036854775807 > 255
+-9223372036854775807 > 255
+quote -9223372036854775807 > 256
+-9223372036854775807 > 256
+quote -9223372036854775807 > 65535
+-9223372036854775807 > 65535
+quote -9223372036854775807 > 65536
+-9223372036854775807 > 65536
+quote -9223372036854775807 > 4294967295
+-9223372036854775807 > 4294967295
+quote -9223372036854775807 > 4294967296
+-9223372036854775807 > 4294967296
+quote -9223372036854775807 > 18446744073709551615
+-9223372036854775807 > 18446744073709551615
+quote -9223372036854775807 > 18446744073709551616
+-9223372036854775807 > 18446744073709551616
+quote -9223372036854775807 > 340282366920938463463374607431768211455
+-9223372036854775807 > 340282366920938463463374607431768211455
+quote -9223372036854775807 > 340282366920938463463374607431768211456
+-9223372036854775807 > 340282366920938463463374607431768211456
+quote -2147483648 > -170141183460469231731687303715884105728
+-2147483648 > -170141183460469231731687303715884105728
+quote -2147483648 > -170141183460469231731687303715884105727
+-2147483648 > -170141183460469231731687303715884105727
+quote -2147483648 > -9223372036854775808
+-2147483648 > -9223372036854775808
+quote -2147483648 > -9223372036854775807
+-2147483648 > -9223372036854775807
+quote -2147483648 > -2147483648
+-2147483648 > -2147483648
+quote -2147483648 > -2147483647
+-2147483648 > -2147483647
+quote -2147483648 > -32768
+-2147483648 > -32768
+quote -2147483648 > -32767
+-2147483648 > -32767
+quote -2147483648 > -128
+-2147483648 > -128
+quote -2147483648 > -127
+-2147483648 > -127
+quote -2147483648 > 255
+-2147483648 > 255
+quote -2147483648 > 256
+-2147483648 > 256
+quote -2147483648 > 65535
+-2147483648 > 65535
+quote -2147483648 > 65536
+-2147483648 > 65536
+quote -2147483648 > 4294967295
+-2147483648 > 4294967295
+quote -2147483648 > 4294967296
+-2147483648 > 4294967296
+quote -2147483648 > 18446744073709551615
+-2147483648 > 18446744073709551615
+quote -2147483648 > 18446744073709551616
+-2147483648 > 18446744073709551616
+quote -2147483648 > 340282366920938463463374607431768211455
+-2147483648 > 340282366920938463463374607431768211455
+quote -2147483648 > 340282366920938463463374607431768211456
+-2147483648 > 340282366920938463463374607431768211456
+quote -2147483647 > -170141183460469231731687303715884105728
+-2147483647 > -170141183460469231731687303715884105728
+quote -2147483647 > -170141183460469231731687303715884105727
+-2147483647 > -170141183460469231731687303715884105727
+quote -2147483647 > -9223372036854775808
+-2147483647 > -9223372036854775808
+quote -2147483647 > -9223372036854775807
+-2147483647 > -9223372036854775807
+quote -2147483647 > -2147483648
+-2147483647 > -2147483648
+quote -2147483647 > -2147483647
+-2147483647 > -2147483647
+quote -2147483647 > -32768
+-2147483647 > -32768
+quote -2147483647 > -32767
+-2147483647 > -32767
+quote -2147483647 > -128
+-2147483647 > -128
+quote -2147483647 > -127
+-2147483647 > -127
+quote -2147483647 > 255
+-2147483647 > 255
+quote -2147483647 > 256
+-2147483647 > 256
+quote -2147483647 > 65535
+-2147483647 > 65535
+quote -2147483647 > 65536
+-2147483647 > 65536
+quote -2147483647 > 4294967295
+-2147483647 > 4294967295
+quote -2147483647 > 4294967296
+-2147483647 > 4294967296
+quote -2147483647 > 18446744073709551615
+-2147483647 > 18446744073709551615
+quote -2147483647 > 18446744073709551616
+-2147483647 > 18446744073709551616
+quote -2147483647 > 340282366920938463463374607431768211455
+-2147483647 > 340282366920938463463374607431768211455
+quote -2147483647 > 340282366920938463463374607431768211456
+-2147483647 > 340282366920938463463374607431768211456
+quote -32768 > -170141183460469231731687303715884105728
+-32768 > -170141183460469231731687303715884105728
+quote -32768 > -170141183460469231731687303715884105727
+-32768 > -170141183460469231731687303715884105727
+quote -32768 > -9223372036854775808
+-32768 > -9223372036854775808
+quote -32768 > -9223372036854775807
+-32768 > -9223372036854775807
+quote -32768 > -2147483648
+-32768 > -2147483648
+quote -32768 > -2147483647
+-32768 > -2147483647
+quote -32768 > -32768
+-32768 > -32768
+quote -32768 > -32767
+-32768 > -32767
+quote -32768 > -128
+-32768 > -128
+quote -32768 > -127
+-32768 > -127
+quote -32768 > 255
+-32768 > 255
+quote -32768 > 256
+-32768 > 256
+quote -32768 > 65535
+-32768 > 65535
+quote -32768 > 65536
+-32768 > 65536
+quote -32768 > 4294967295
+-32768 > 4294967295
+quote -32768 > 4294967296
+-32768 > 4294967296
+quote -32768 > 18446744073709551615
+-32768 > 18446744073709551615
+quote -32768 > 18446744073709551616
+-32768 > 18446744073709551616
+quote -32768 > 340282366920938463463374607431768211455
+-32768 > 340282366920938463463374607431768211455
+quote -32768 > 340282366920938463463374607431768211456
+-32768 > 340282366920938463463374607431768211456
+quote -32767 > -170141183460469231731687303715884105728
+-32767 > -170141183460469231731687303715884105728
+quote -32767 > -170141183460469231731687303715884105727
+-32767 > -170141183460469231731687303715884105727
+quote -32767 > -9223372036854775808
+-32767 > -9223372036854775808
+quote -32767 > -9223372036854775807
+-32767 > -9223372036854775807
+quote -32767 > -2147483648
+-32767 > -2147483648
+quote -32767 > -2147483647
+-32767 > -2147483647
+quote -32767 > -32768
+-32767 > -32768
+quote -32767 > -32767
+-32767 > -32767
+quote -32767 > -128
+-32767 > -128
+quote -32767 > -127
+-32767 > -127
+quote -32767 > 255
+-32767 > 255
+quote -32767 > 256
+-32767 > 256
+quote -32767 > 65535
+-32767 > 65535
+quote -32767 > 65536
+-32767 > 65536
+quote -32767 > 4294967295
+-32767 > 4294967295
+quote -32767 > 4294967296
+-32767 > 4294967296
+quote -32767 > 18446744073709551615
+-32767 > 18446744073709551615
+quote -32767 > 18446744073709551616
+-32767 > 18446744073709551616
+quote -32767 > 340282366920938463463374607431768211455
+-32767 > 340282366920938463463374607431768211455
+quote -32767 > 340282366920938463463374607431768211456
+-32767 > 340282366920938463463374607431768211456
+quote -128 > -170141183460469231731687303715884105728
+-128 > -170141183460469231731687303715884105728
+quote -128 > -170141183460469231731687303715884105727
+-128 > -170141183460469231731687303715884105727
+quote -128 > -9223372036854775808
+-128 > -9223372036854775808
+quote -128 > -9223372036854775807
+-128 > -9223372036854775807
+quote -128 > -2147483648
+-128 > -2147483648
+quote -128 > -2147483647
+-128 > -2147483647
+quote -128 > -32768
+-128 > -32768
+quote -128 > -32767
+-128 > -32767
+quote -128 > -128
+-128 > -128
+quote -128 > -127
+-128 > -127
+quote -128 > 255
+-128 > 255
+quote -128 > 256
+-128 > 256
+quote -128 > 65535
+-128 > 65535
+quote -128 > 65536
+-128 > 65536
+quote -128 > 4294967295
+-128 > 4294967295
+quote -128 > 4294967296
+-128 > 4294967296
+quote -128 > 18446744073709551615
+-128 > 18446744073709551615
+quote -128 > 18446744073709551616
+-128 > 18446744073709551616
+quote -128 > 340282366920938463463374607431768211455
+-128 > 340282366920938463463374607431768211455
+quote -128 > 340282366920938463463374607431768211456
+-128 > 340282366920938463463374607431768211456
+quote -127 > -170141183460469231731687303715884105728
+-127 > -170141183460469231731687303715884105728
+quote -127 > -170141183460469231731687303715884105727
+-127 > -170141183460469231731687303715884105727
+quote -127 > -9223372036854775808
+-127 > -9223372036854775808
+quote -127 > -9223372036854775807
+-127 > -9223372036854775807
+quote -127 > -2147483648
+-127 > -2147483648
+quote -127 > -2147483647
+-127 > -2147483647
+quote -127 > -32768
+-127 > -32768
+quote -127 > -32767
+-127 > -32767
+quote -127 > -128
+-127 > -128
+quote -127 > -127
+-127 > -127
+quote -127 > 255
+-127 > 255
+quote -127 > 256
+-127 > 256
+quote -127 > 65535
+-127 > 65535
+quote -127 > 65536
+-127 > 65536
+quote -127 > 4294967295
+-127 > 4294967295
+quote -127 > 4294967296
+-127 > 4294967296
+quote -127 > 18446744073709551615
+-127 > 18446744073709551615
+quote -127 > 18446744073709551616
+-127 > 18446744073709551616
+quote -127 > 340282366920938463463374607431768211455
+-127 > 340282366920938463463374607431768211455
+quote -127 > 340282366920938463463374607431768211456
+-127 > 340282366920938463463374607431768211456
+quote 255 > -170141183460469231731687303715884105728
+255 > -170141183460469231731687303715884105728
+quote 255 > -170141183460469231731687303715884105727
+255 > -170141183460469231731687303715884105727
+quote 255 > -9223372036854775808
+255 > -9223372036854775808
+quote 255 > -9223372036854775807
+255 > -9223372036854775807
+quote 255 > -2147483648
+255 > -2147483648
+quote 255 > -2147483647
+255 > -2147483647
+quote 255 > -32768
+255 > -32768
+quote 255 > -32767
+255 > -32767
+quote 255 > -128
+255 > -128
+quote 255 > -127
+255 > -127
+quote 255 > 255
+255 > 255
+quote 255 > 256
+255 > 256
+quote 255 > 65535
+255 > 65535
+quote 255 > 65536
+255 > 65536
+quote 255 > 4294967295
+255 > 4294967295
+quote 255 > 4294967296
+255 > 4294967296
+quote 255 > 18446744073709551615
+255 > 18446744073709551615
+quote 255 > 18446744073709551616
+255 > 18446744073709551616
+quote 255 > 340282366920938463463374607431768211455
+255 > 340282366920938463463374607431768211455
+quote 255 > 340282366920938463463374607431768211456
+255 > 340282366920938463463374607431768211456
+quote 256 > -170141183460469231731687303715884105728
+256 > -170141183460469231731687303715884105728
+quote 256 > -170141183460469231731687303715884105727
+256 > -170141183460469231731687303715884105727
+quote 256 > -9223372036854775808
+256 > -9223372036854775808
+quote 256 > -9223372036854775807
+256 > -9223372036854775807
+quote 256 > -2147483648
+256 > -2147483648
+quote 256 > -2147483647
+256 > -2147483647
+quote 256 > -32768
+256 > -32768
+quote 256 > -32767
+256 > -32767
+quote 256 > -128
+256 > -128
+quote 256 > -127
+256 > -127
+quote 256 > 255
+256 > 255
+quote 256 > 256
+256 > 256
+quote 256 > 65535
+256 > 65535
+quote 256 > 65536
+256 > 65536
+quote 256 > 4294967295
+256 > 4294967295
+quote 256 > 4294967296
+256 > 4294967296
+quote 256 > 18446744073709551615
+256 > 18446744073709551615
+quote 256 > 18446744073709551616
+256 > 18446744073709551616
+quote 256 > 340282366920938463463374607431768211455
+256 > 340282366920938463463374607431768211455
+quote 256 > 340282366920938463463374607431768211456
+256 > 340282366920938463463374607431768211456
+quote 65535 > -170141183460469231731687303715884105728
+65535 > -170141183460469231731687303715884105728
+quote 65535 > -170141183460469231731687303715884105727
+65535 > -170141183460469231731687303715884105727
+quote 65535 > -9223372036854775808
+65535 > -9223372036854775808
+quote 65535 > -9223372036854775807
+65535 > -9223372036854775807
+quote 65535 > -2147483648
+65535 > -2147483648
+quote 65535 > -2147483647
+65535 > -2147483647
+quote 65535 > -32768
+65535 > -32768
+quote 65535 > -32767
+65535 > -32767
+quote 65535 > -128
+65535 > -128
+quote 65535 > -127
+65535 > -127
+quote 65535 > 255
+65535 > 255
+quote 65535 > 256
+65535 > 256
+quote 65535 > 65535
+65535 > 65535
+quote 65535 > 65536
+65535 > 65536
+quote 65535 > 4294967295
+65535 > 4294967295
+quote 65535 > 4294967296
+65535 > 4294967296
+quote 65535 > 18446744073709551615
+65535 > 18446744073709551615
+quote 65535 > 18446744073709551616
+65535 > 18446744073709551616
+quote 65535 > 340282366920938463463374607431768211455
+65535 > 340282366920938463463374607431768211455
+quote 65535 > 340282366920938463463374607431768211456
+65535 > 340282366920938463463374607431768211456
+quote 65536 > -170141183460469231731687303715884105728
+65536 > -170141183460469231731687303715884105728
+quote 65536 > -170141183460469231731687303715884105727
+65536 > -170141183460469231731687303715884105727
+quote 65536 > -9223372036854775808
+65536 > -9223372036854775808
+quote 65536 > -9223372036854775807
+65536 > -9223372036854775807
+quote 65536 > -2147483648
+65536 > -2147483648
+quote 65536 > -2147483647
+65536 > -2147483647
+quote 65536 > -32768
+65536 > -32768
+quote 65536 > -32767
+65536 > -32767
+quote 65536 > -128
+65536 > -128
+quote 65536 > -127
+65536 > -127
+quote 65536 > 255
+65536 > 255
+quote 65536 > 256
+65536 > 256
+quote 65536 > 65535
+65536 > 65535
+quote 65536 > 65536
+65536 > 65536
+quote 65536 > 4294967295
+65536 > 4294967295
+quote 65536 > 4294967296
+65536 > 4294967296
+quote 65536 > 18446744073709551615
+65536 > 18446744073709551615
+quote 65536 > 18446744073709551616
+65536 > 18446744073709551616
+quote 65536 > 340282366920938463463374607431768211455
+65536 > 340282366920938463463374607431768211455
+quote 65536 > 340282366920938463463374607431768211456
+65536 > 340282366920938463463374607431768211456
+quote 4294967295 > -170141183460469231731687303715884105728
+4294967295 > -170141183460469231731687303715884105728
+quote 4294967295 > -170141183460469231731687303715884105727
+4294967295 > -170141183460469231731687303715884105727
+quote 4294967295 > -9223372036854775808
+4294967295 > -9223372036854775808
+quote 4294967295 > -9223372036854775807
+4294967295 > -9223372036854775807
+quote 4294967295 > -2147483648
+4294967295 > -2147483648
+quote 4294967295 > -2147483647
+4294967295 > -2147483647
+quote 4294967295 > -32768
+4294967295 > -32768
+quote 4294967295 > -32767
+4294967295 > -32767
+quote 4294967295 > -128
+4294967295 > -128
+quote 4294967295 > -127
+4294967295 > -127
+quote 4294967295 > 255
+4294967295 > 255
+quote 4294967295 > 256
+4294967295 > 256
+quote 4294967295 > 65535
+4294967295 > 65535
+quote 4294967295 > 65536
+4294967295 > 65536
+quote 4294967295 > 4294967295
+4294967295 > 4294967295
+quote 4294967295 > 4294967296
+4294967295 > 4294967296
+quote 4294967295 > 18446744073709551615
+4294967295 > 18446744073709551615
+quote 4294967295 > 18446744073709551616
+4294967295 > 18446744073709551616
+quote 4294967295 > 340282366920938463463374607431768211455
+4294967295 > 340282366920938463463374607431768211455
+quote 4294967295 > 340282366920938463463374607431768211456
+4294967295 > 340282366920938463463374607431768211456
+quote 4294967296 > -170141183460469231731687303715884105728
+4294967296 > -170141183460469231731687303715884105728
+quote 4294967296 > -170141183460469231731687303715884105727
+4294967296 > -170141183460469231731687303715884105727
+quote 4294967296 > -9223372036854775808
+4294967296 > -9223372036854775808
+quote 4294967296 > -9223372036854775807
+4294967296 > -9223372036854775807
+quote 4294967296 > -2147483648
+4294967296 > -2147483648
+quote 4294967296 > -2147483647
+4294967296 > -2147483647
+quote 4294967296 > -32768
+4294967296 > -32768
+quote 4294967296 > -32767
+4294967296 > -32767
+quote 4294967296 > -128
+4294967296 > -128
+quote 4294967296 > -127
+4294967296 > -127
+quote 4294967296 > 255
+4294967296 > 255
+quote 4294967296 > 256
+4294967296 > 256
+quote 4294967296 > 65535
+4294967296 > 65535
+quote 4294967296 > 65536
+4294967296 > 65536
+quote 4294967296 > 4294967295
+4294967296 > 4294967295
+quote 4294967296 > 4294967296
+4294967296 > 4294967296
+quote 4294967296 > 18446744073709551615
+4294967296 > 18446744073709551615
+quote 4294967296 > 18446744073709551616
+4294967296 > 18446744073709551616
+quote 4294967296 > 340282366920938463463374607431768211455
+4294967296 > 340282366920938463463374607431768211455
+quote 4294967296 > 340282366920938463463374607431768211456
+4294967296 > 340282366920938463463374607431768211456
+quote 18446744073709551615 > -170141183460469231731687303715884105728
+18446744073709551615 > -170141183460469231731687303715884105728
+quote 18446744073709551615 > -170141183460469231731687303715884105727
+18446744073709551615 > -170141183460469231731687303715884105727
+quote 18446744073709551615 > -9223372036854775808
+18446744073709551615 > -9223372036854775808
+quote 18446744073709551615 > -9223372036854775807
+18446744073709551615 > -9223372036854775807
+quote 18446744073709551615 > -2147483648
+18446744073709551615 > -2147483648
+quote 18446744073709551615 > -2147483647
+18446744073709551615 > -2147483647
+quote 18446744073709551615 > -32768
+18446744073709551615 > -32768
+quote 18446744073709551615 > -32767
+18446744073709551615 > -32767
+quote 18446744073709551615 > -128
+18446744073709551615 > -128
+quote 18446744073709551615 > -127
+18446744073709551615 > -127
+quote 18446744073709551615 > 255
+18446744073709551615 > 255
+quote 18446744073709551615 > 256
+18446744073709551615 > 256
+quote 18446744073709551615 > 65535
+18446744073709551615 > 65535
+quote 18446744073709551615 > 65536
+18446744073709551615 > 65536
+quote 18446744073709551615 > 4294967295
+18446744073709551615 > 4294967295
+quote 18446744073709551615 > 4294967296
+18446744073709551615 > 4294967296
+quote 18446744073709551615 > 18446744073709551615
+18446744073709551615 > 18446744073709551615
+quote 18446744073709551615 > 18446744073709551616
+18446744073709551615 > 18446744073709551616
+quote 18446744073709551615 > 340282366920938463463374607431768211455
+18446744073709551615 > 340282366920938463463374607431768211455
+quote 18446744073709551615 > 340282366920938463463374607431768211456
+18446744073709551615 > 340282366920938463463374607431768211456
+quote 18446744073709551616 > -170141183460469231731687303715884105728
+18446744073709551616 > -170141183460469231731687303715884105728
+quote 18446744073709551616 > -170141183460469231731687303715884105727
+18446744073709551616 > -170141183460469231731687303715884105727
+quote 18446744073709551616 > -9223372036854775808
+18446744073709551616 > -9223372036854775808
+quote 18446744073709551616 > -9223372036854775807
+18446744073709551616 > -9223372036854775807
+quote 18446744073709551616 > -2147483648
+18446744073709551616 > -2147483648
+quote 18446744073709551616 > -2147483647
+18446744073709551616 > -2147483647
+quote 18446744073709551616 > -32768
+18446744073709551616 > -32768
+quote 18446744073709551616 > -32767
+18446744073709551616 > -32767
+quote 18446744073709551616 > -128
+18446744073709551616 > -128
+quote 18446744073709551616 > -127
+18446744073709551616 > -127
+quote 18446744073709551616 > 255
+18446744073709551616 > 255
+quote 18446744073709551616 > 256
+18446744073709551616 > 256
+quote 18446744073709551616 > 65535
+18446744073709551616 > 65535
+quote 18446744073709551616 > 65536
+18446744073709551616 > 65536
+quote 18446744073709551616 > 4294967295
+18446744073709551616 > 4294967295
+quote 18446744073709551616 > 4294967296
+18446744073709551616 > 4294967296
+quote 18446744073709551616 > 18446744073709551615
+18446744073709551616 > 18446744073709551615
+quote 18446744073709551616 > 18446744073709551616
+18446744073709551616 > 18446744073709551616
+quote 18446744073709551616 > 340282366920938463463374607431768211455
+18446744073709551616 > 340282366920938463463374607431768211455
+quote 18446744073709551616 > 340282366920938463463374607431768211456
+18446744073709551616 > 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211455 > -170141183460469231731687303715884105728
+340282366920938463463374607431768211455 > -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211455 > -170141183460469231731687303715884105727
+340282366920938463463374607431768211455 > -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211455 > -9223372036854775808
+340282366920938463463374607431768211455 > -9223372036854775808
+quote 340282366920938463463374607431768211455 > -9223372036854775807
+340282366920938463463374607431768211455 > -9223372036854775807
+quote 340282366920938463463374607431768211455 > -2147483648
+340282366920938463463374607431768211455 > -2147483648
+quote 340282366920938463463374607431768211455 > -2147483647
+340282366920938463463374607431768211455 > -2147483647
+quote 340282366920938463463374607431768211455 > -32768
+340282366920938463463374607431768211455 > -32768
+quote 340282366920938463463374607431768211455 > -32767
+340282366920938463463374607431768211455 > -32767
+quote 340282366920938463463374607431768211455 > -128
+340282366920938463463374607431768211455 > -128
+quote 340282366920938463463374607431768211455 > -127
+340282366920938463463374607431768211455 > -127
+quote 340282366920938463463374607431768211455 > 255
+340282366920938463463374607431768211455 > 255
+quote 340282366920938463463374607431768211455 > 256
+340282366920938463463374607431768211455 > 256
+quote 340282366920938463463374607431768211455 > 65535
+340282366920938463463374607431768211455 > 65535
+quote 340282366920938463463374607431768211455 > 65536
+340282366920938463463374607431768211455 > 65536
+quote 340282366920938463463374607431768211455 > 4294967295
+340282366920938463463374607431768211455 > 4294967295
+quote 340282366920938463463374607431768211455 > 4294967296
+340282366920938463463374607431768211455 > 4294967296
+quote 340282366920938463463374607431768211455 > 18446744073709551615
+340282366920938463463374607431768211455 > 18446744073709551615
+quote 340282366920938463463374607431768211455 > 18446744073709551616
+340282366920938463463374607431768211455 > 18446744073709551616
+quote 340282366920938463463374607431768211455 > 340282366920938463463374607431768211455
+340282366920938463463374607431768211455 > 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211455 > 340282366920938463463374607431768211456
+340282366920938463463374607431768211455 > 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211456 > -170141183460469231731687303715884105728
+340282366920938463463374607431768211456 > -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211456 > -170141183460469231731687303715884105727
+340282366920938463463374607431768211456 > -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211456 > -9223372036854775808
+340282366920938463463374607431768211456 > -9223372036854775808
+quote 340282366920938463463374607431768211456 > -9223372036854775807
+340282366920938463463374607431768211456 > -9223372036854775807
+quote 340282366920938463463374607431768211456 > -2147483648
+340282366920938463463374607431768211456 > -2147483648
+quote 340282366920938463463374607431768211456 > -2147483647
+340282366920938463463374607431768211456 > -2147483647
+quote 340282366920938463463374607431768211456 > -32768
+340282366920938463463374607431768211456 > -32768
+quote 340282366920938463463374607431768211456 > -32767
+340282366920938463463374607431768211456 > -32767
+quote 340282366920938463463374607431768211456 > -128
+340282366920938463463374607431768211456 > -128
+quote 340282366920938463463374607431768211456 > -127
+340282366920938463463374607431768211456 > -127
+quote 340282366920938463463374607431768211456 > 255
+340282366920938463463374607431768211456 > 255
+quote 340282366920938463463374607431768211456 > 256
+340282366920938463463374607431768211456 > 256
+quote 340282366920938463463374607431768211456 > 65535
+340282366920938463463374607431768211456 > 65535
+quote 340282366920938463463374607431768211456 > 65536
+340282366920938463463374607431768211456 > 65536
+quote 340282366920938463463374607431768211456 > 4294967295
+340282366920938463463374607431768211456 > 4294967295
+quote 340282366920938463463374607431768211456 > 4294967296
+340282366920938463463374607431768211456 > 4294967296
+quote 340282366920938463463374607431768211456 > 18446744073709551615
+340282366920938463463374607431768211456 > 18446744073709551615
+quote 340282366920938463463374607431768211456 > 18446744073709551616
+340282366920938463463374607431768211456 > 18446744073709551616
+quote 340282366920938463463374607431768211456 > 340282366920938463463374607431768211455
+340282366920938463463374607431768211456 > 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211456 > 340282366920938463463374607431768211456
+340282366920938463463374607431768211456 > 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_gt_2.out.expected b/test/ic3/integer_gt_2.out.expected
new file mode 100644
index 0000000..57daf68
--- /dev/null
+++ b/test/ic3/integer_gt_2.out.expected
@@ -0,0 +1,800 @@
+-170141183460469231731687303715884105728 > -170141183460469231731687303715884105728
+false
+-170141183460469231731687303715884105728 > -170141183460469231731687303715884105727
+false
+-170141183460469231731687303715884105728 > -9223372036854775808
+false
+-170141183460469231731687303715884105728 > -9223372036854775807
+false
+-170141183460469231731687303715884105728 > -2147483648
+false
+-170141183460469231731687303715884105728 > -2147483647
+false
+-170141183460469231731687303715884105728 > -32768
+false
+-170141183460469231731687303715884105728 > -32767
+false
+-170141183460469231731687303715884105728 > -128
+false
+-170141183460469231731687303715884105728 > -127
+false
+-170141183460469231731687303715884105728 > 255
+false
+-170141183460469231731687303715884105728 > 256
+false
+-170141183460469231731687303715884105728 > 65535
+false
+-170141183460469231731687303715884105728 > 65536
+false
+-170141183460469231731687303715884105728 > 4294967295
+false
+-170141183460469231731687303715884105728 > 4294967296
+false
+-170141183460469231731687303715884105728 > 18446744073709551615
+false
+-170141183460469231731687303715884105728 > 18446744073709551616
+false
+-170141183460469231731687303715884105728 > 340282366920938463463374607431768211455
+false
+-170141183460469231731687303715884105728 > 340282366920938463463374607431768211456
+false
+-170141183460469231731687303715884105727 > -170141183460469231731687303715884105728
+true
+-170141183460469231731687303715884105727 > -170141183460469231731687303715884105727
+false
+-170141183460469231731687303715884105727 > -9223372036854775808
+false
+-170141183460469231731687303715884105727 > -9223372036854775807
+false
+-170141183460469231731687303715884105727 > -2147483648
+false
+-170141183460469231731687303715884105727 > -2147483647
+false
+-170141183460469231731687303715884105727 > -32768
+false
+-170141183460469231731687303715884105727 > -32767
+false
+-170141183460469231731687303715884105727 > -128
+false
+-170141183460469231731687303715884105727 > -127
+false
+-170141183460469231731687303715884105727 > 255
+false
+-170141183460469231731687303715884105727 > 256
+false
+-170141183460469231731687303715884105727 > 65535
+false
+-170141183460469231731687303715884105727 > 65536
+false
+-170141183460469231731687303715884105727 > 4294967295
+false
+-170141183460469231731687303715884105727 > 4294967296
+false
+-170141183460469231731687303715884105727 > 18446744073709551615
+false
+-170141183460469231731687303715884105727 > 18446744073709551616
+false
+-170141183460469231731687303715884105727 > 340282366920938463463374607431768211455
+false
+-170141183460469231731687303715884105727 > 340282366920938463463374607431768211456
+false
+-9223372036854775808 > -170141183460469231731687303715884105728
+true
+-9223372036854775808 > -170141183460469231731687303715884105727
+true
+-9223372036854775808 > -9223372036854775808
+false
+-9223372036854775808 > -9223372036854775807
+false
+-9223372036854775808 > -2147483648
+false
+-9223372036854775808 > -2147483647
+false
+-9223372036854775808 > -32768
+false
+-9223372036854775808 > -32767
+false
+-9223372036854775808 > -128
+false
+-9223372036854775808 > -127
+false
+-9223372036854775808 > 255
+false
+-9223372036854775808 > 256
+false
+-9223372036854775808 > 65535
+false
+-9223372036854775808 > 65536
+false
+-9223372036854775808 > 4294967295
+false
+-9223372036854775808 > 4294967296
+false
+-9223372036854775808 > 18446744073709551615
+false
+-9223372036854775808 > 18446744073709551616
+false
+-9223372036854775808 > 340282366920938463463374607431768211455
+false
+-9223372036854775808 > 340282366920938463463374607431768211456
+false
+-9223372036854775807 > -170141183460469231731687303715884105728
+true
+-9223372036854775807 > -170141183460469231731687303715884105727
+true
+-9223372036854775807 > -9223372036854775808
+true
+-9223372036854775807 > -9223372036854775807
+false
+-9223372036854775807 > -2147483648
+false
+-9223372036854775807 > -2147483647
+false
+-9223372036854775807 > -32768
+false
+-9223372036854775807 > -32767
+false
+-9223372036854775807 > -128
+false
+-9223372036854775807 > -127
+false
+-9223372036854775807 > 255
+false
+-9223372036854775807 > 256
+false
+-9223372036854775807 > 65535
+false
+-9223372036854775807 > 65536
+false
+-9223372036854775807 > 4294967295
+false
+-9223372036854775807 > 4294967296
+false
+-9223372036854775807 > 18446744073709551615
+false
+-9223372036854775807 > 18446744073709551616
+false
+-9223372036854775807 > 340282366920938463463374607431768211455
+false
+-9223372036854775807 > 340282366920938463463374607431768211456
+false
+-2147483648 > -170141183460469231731687303715884105728
+true
+-2147483648 > -170141183460469231731687303715884105727
+true
+-2147483648 > -9223372036854775808
+true
+-2147483648 > -9223372036854775807
+true
+-2147483648 > -2147483648
+false
+-2147483648 > -2147483647
+false
+-2147483648 > -32768
+false
+-2147483648 > -32767
+false
+-2147483648 > -128
+false
+-2147483648 > -127
+false
+-2147483648 > 255
+false
+-2147483648 > 256
+false
+-2147483648 > 65535
+false
+-2147483648 > 65536
+false
+-2147483648 > 4294967295
+false
+-2147483648 > 4294967296
+false
+-2147483648 > 18446744073709551615
+false
+-2147483648 > 18446744073709551616
+false
+-2147483648 > 340282366920938463463374607431768211455
+false
+-2147483648 > 340282366920938463463374607431768211456
+false
+-2147483647 > -170141183460469231731687303715884105728
+true
+-2147483647 > -170141183460469231731687303715884105727
+true
+-2147483647 > -9223372036854775808
+true
+-2147483647 > -9223372036854775807
+true
+-2147483647 > -2147483648
+true
+-2147483647 > -2147483647
+false
+-2147483647 > -32768
+false
+-2147483647 > -32767
+false
+-2147483647 > -128
+false
+-2147483647 > -127
+false
+-2147483647 > 255
+false
+-2147483647 > 256
+false
+-2147483647 > 65535
+false
+-2147483647 > 65536
+false
+-2147483647 > 4294967295
+false
+-2147483647 > 4294967296
+false
+-2147483647 > 18446744073709551615
+false
+-2147483647 > 18446744073709551616
+false
+-2147483647 > 340282366920938463463374607431768211455
+false
+-2147483647 > 340282366920938463463374607431768211456
+false
+-32768 > -170141183460469231731687303715884105728
+true
+-32768 > -170141183460469231731687303715884105727
+true
+-32768 > -9223372036854775808
+true
+-32768 > -9223372036854775807
+true
+-32768 > -2147483648
+true
+-32768 > -2147483647
+true
+-32768 > -32768
+false
+-32768 > -32767
+false
+-32768 > -128
+false
+-32768 > -127
+false
+-32768 > 255
+false
+-32768 > 256
+false
+-32768 > 65535
+false
+-32768 > 65536
+false
+-32768 > 4294967295
+false
+-32768 > 4294967296
+false
+-32768 > 18446744073709551615
+false
+-32768 > 18446744073709551616
+false
+-32768 > 340282366920938463463374607431768211455
+false
+-32768 > 340282366920938463463374607431768211456
+false
+-32767 > -170141183460469231731687303715884105728
+true
+-32767 > -170141183460469231731687303715884105727
+true
+-32767 > -9223372036854775808
+true
+-32767 > -9223372036854775807
+true
+-32767 > -2147483648
+true
+-32767 > -2147483647
+true
+-32767 > -32768
+true
+-32767 > -32767
+false
+-32767 > -128
+false
+-32767 > -127
+false
+-32767 > 255
+false
+-32767 > 256
+false
+-32767 > 65535
+false
+-32767 > 65536
+false
+-32767 > 4294967295
+false
+-32767 > 4294967296
+false
+-32767 > 18446744073709551615
+false
+-32767 > 18446744073709551616
+false
+-32767 > 340282366920938463463374607431768211455
+false
+-32767 > 340282366920938463463374607431768211456
+false
+-128 > -170141183460469231731687303715884105728
+true
+-128 > -170141183460469231731687303715884105727
+true
+-128 > -9223372036854775808
+true
+-128 > -9223372036854775807
+true
+-128 > -2147483648
+true
+-128 > -2147483647
+true
+-128 > -32768
+true
+-128 > -32767
+true
+-128 > -128
+false
+-128 > -127
+false
+-128 > 255
+false
+-128 > 256
+false
+-128 > 65535
+false
+-128 > 65536
+false
+-128 > 4294967295
+false
+-128 > 4294967296
+false
+-128 > 18446744073709551615
+false
+-128 > 18446744073709551616
+false
+-128 > 340282366920938463463374607431768211455
+false
+-128 > 340282366920938463463374607431768211456
+false
+-127 > -170141183460469231731687303715884105728
+true
+-127 > -170141183460469231731687303715884105727
+true
+-127 > -9223372036854775808
+true
+-127 > -9223372036854775807
+true
+-127 > -2147483648
+true
+-127 > -2147483647
+true
+-127 > -32768
+true
+-127 > -32767
+true
+-127 > -128
+true
+-127 > -127
+false
+-127 > 255
+false
+-127 > 256
+false
+-127 > 65535
+false
+-127 > 65536
+false
+-127 > 4294967295
+false
+-127 > 4294967296
+false
+-127 > 18446744073709551615
+false
+-127 > 18446744073709551616
+false
+-127 > 340282366920938463463374607431768211455
+false
+-127 > 340282366920938463463374607431768211456
+false
+255 > -170141183460469231731687303715884105728
+true
+255 > -170141183460469231731687303715884105727
+true
+255 > -9223372036854775808
+true
+255 > -9223372036854775807
+true
+255 > -2147483648
+true
+255 > -2147483647
+true
+255 > -32768
+true
+255 > -32767
+true
+255 > -128
+true
+255 > -127
+true
+255 > 255
+false
+255 > 256
+false
+255 > 65535
+false
+255 > 65536
+false
+255 > 4294967295
+false
+255 > 4294967296
+false
+255 > 18446744073709551615
+false
+255 > 18446744073709551616
+false
+255 > 340282366920938463463374607431768211455
+false
+255 > 340282366920938463463374607431768211456
+false
+256 > -170141183460469231731687303715884105728
+true
+256 > -170141183460469231731687303715884105727
+true
+256 > -9223372036854775808
+true
+256 > -9223372036854775807
+true
+256 > -2147483648
+true
+256 > -2147483647
+true
+256 > -32768
+true
+256 > -32767
+true
+256 > -128
+true
+256 > -127
+true
+256 > 255
+true
+256 > 256
+false
+256 > 65535
+false
+256 > 65536
+false
+256 > 4294967295
+false
+256 > 4294967296
+false
+256 > 18446744073709551615
+false
+256 > 18446744073709551616
+false
+256 > 340282366920938463463374607431768211455
+false
+256 > 340282366920938463463374607431768211456
+false
+65535 > -170141183460469231731687303715884105728
+true
+65535 > -170141183460469231731687303715884105727
+true
+65535 > -9223372036854775808
+true
+65535 > -9223372036854775807
+true
+65535 > -2147483648
+true
+65535 > -2147483647
+true
+65535 > -32768
+true
+65535 > -32767
+true
+65535 > -128
+true
+65535 > -127
+true
+65535 > 255
+true
+65535 > 256
+true
+65535 > 65535
+false
+65535 > 65536
+false
+65535 > 4294967295
+false
+65535 > 4294967296
+false
+65535 > 18446744073709551615
+false
+65535 > 18446744073709551616
+false
+65535 > 340282366920938463463374607431768211455
+false
+65535 > 340282366920938463463374607431768211456
+false
+65536 > -170141183460469231731687303715884105728
+true
+65536 > -170141183460469231731687303715884105727
+true
+65536 > -9223372036854775808
+true
+65536 > -9223372036854775807
+true
+65536 > -2147483648
+true
+65536 > -2147483647
+true
+65536 > -32768
+true
+65536 > -32767
+true
+65536 > -128
+true
+65536 > -127
+true
+65536 > 255
+true
+65536 > 256
+true
+65536 > 65535
+true
+65536 > 65536
+false
+65536 > 4294967295
+false
+65536 > 4294967296
+false
+65536 > 18446744073709551615
+false
+65536 > 18446744073709551616
+false
+65536 > 340282366920938463463374607431768211455
+false
+65536 > 340282366920938463463374607431768211456
+false
+4294967295 > -170141183460469231731687303715884105728
+true
+4294967295 > -170141183460469231731687303715884105727
+true
+4294967295 > -9223372036854775808
+true
+4294967295 > -9223372036854775807
+true
+4294967295 > -2147483648
+true
+4294967295 > -2147483647
+true
+4294967295 > -32768
+true
+4294967295 > -32767
+true
+4294967295 > -128
+true
+4294967295 > -127
+true
+4294967295 > 255
+true
+4294967295 > 256
+true
+4294967295 > 65535
+true
+4294967295 > 65536
+true
+4294967295 > 4294967295
+false
+4294967295 > 4294967296
+false
+4294967295 > 18446744073709551615
+false
+4294967295 > 18446744073709551616
+false
+4294967295 > 340282366920938463463374607431768211455
+false
+4294967295 > 340282366920938463463374607431768211456
+false
+4294967296 > -170141183460469231731687303715884105728
+true
+4294967296 > -170141183460469231731687303715884105727
+true
+4294967296 > -9223372036854775808
+true
+4294967296 > -9223372036854775807
+true
+4294967296 > -2147483648
+true
+4294967296 > -2147483647
+true
+4294967296 > -32768
+true
+4294967296 > -32767
+true
+4294967296 > -128
+true
+4294967296 > -127
+true
+4294967296 > 255
+true
+4294967296 > 256
+true
+4294967296 > 65535
+true
+4294967296 > 65536
+true
+4294967296 > 4294967295
+true
+4294967296 > 4294967296
+false
+4294967296 > 18446744073709551615
+false
+4294967296 > 18446744073709551616
+false
+4294967296 > 340282366920938463463374607431768211455
+false
+4294967296 > 340282366920938463463374607431768211456
+false
+18446744073709551615 > -170141183460469231731687303715884105728
+true
+18446744073709551615 > -170141183460469231731687303715884105727
+true
+18446744073709551615 > -9223372036854775808
+true
+18446744073709551615 > -9223372036854775807
+true
+18446744073709551615 > -2147483648
+true
+18446744073709551615 > -2147483647
+true
+18446744073709551615 > -32768
+true
+18446744073709551615 > -32767
+true
+18446744073709551615 > -128
+true
+18446744073709551615 > -127
+true
+18446744073709551615 > 255
+true
+18446744073709551615 > 256
+true
+18446744073709551615 > 65535
+true
+18446744073709551615 > 65536
+true
+18446744073709551615 > 4294967295
+true
+18446744073709551615 > 4294967296
+true
+18446744073709551615 > 18446744073709551615
+false
+18446744073709551615 > 18446744073709551616
+false
+18446744073709551615 > 340282366920938463463374607431768211455
+false
+18446744073709551615 > 340282366920938463463374607431768211456
+false
+18446744073709551616 > -170141183460469231731687303715884105728
+true
+18446744073709551616 > -170141183460469231731687303715884105727
+true
+18446744073709551616 > -9223372036854775808
+true
+18446744073709551616 > -9223372036854775807
+true
+18446744073709551616 > -2147483648
+true
+18446744073709551616 > -2147483647
+true
+18446744073709551616 > -32768
+true
+18446744073709551616 > -32767
+true
+18446744073709551616 > -128
+true
+18446744073709551616 > -127
+true
+18446744073709551616 > 255
+true
+18446744073709551616 > 256
+true
+18446744073709551616 > 65535
+true
+18446744073709551616 > 65536
+true
+18446744073709551616 > 4294967295
+true
+18446744073709551616 > 4294967296
+true
+18446744073709551616 > 18446744073709551615
+true
+18446744073709551616 > 18446744073709551616
+false
+18446744073709551616 > 340282366920938463463374607431768211455
+false
+18446744073709551616 > 340282366920938463463374607431768211456
+false
+340282366920938463463374607431768211455 > -170141183460469231731687303715884105728
+true
+340282366920938463463374607431768211455 > -170141183460469231731687303715884105727
+true
+340282366920938463463374607431768211455 > -9223372036854775808
+true
+340282366920938463463374607431768211455 > -9223372036854775807
+true
+340282366920938463463374607431768211455 > -2147483648
+true
+340282366920938463463374607431768211455 > -2147483647
+true
+340282366920938463463374607431768211455 > -32768
+true
+340282366920938463463374607431768211455 > -32767
+true
+340282366920938463463374607431768211455 > -128
+true
+340282366920938463463374607431768211455 > -127
+true
+340282366920938463463374607431768211455 > 255
+true
+340282366920938463463374607431768211455 > 256
+true
+340282366920938463463374607431768211455 > 65535
+true
+340282366920938463463374607431768211455 > 65536
+true
+340282366920938463463374607431768211455 > 4294967295
+true
+340282366920938463463374607431768211455 > 4294967296
+true
+340282366920938463463374607431768211455 > 18446744073709551615
+true
+340282366920938463463374607431768211455 > 18446744073709551616
+true
+340282366920938463463374607431768211455 > 340282366920938463463374607431768211455
+false
+340282366920938463463374607431768211455 > 340282366920938463463374607431768211456
+false
+340282366920938463463374607431768211456 > -170141183460469231731687303715884105728
+true
+340282366920938463463374607431768211456 > -170141183460469231731687303715884105727
+true
+340282366920938463463374607431768211456 > -9223372036854775808
+true
+340282366920938463463374607431768211456 > -9223372036854775807
+true
+340282366920938463463374607431768211456 > -2147483648
+true
+340282366920938463463374607431768211456 > -2147483647
+true
+340282366920938463463374607431768211456 > -32768
+true
+340282366920938463463374607431768211456 > -32767
+true
+340282366920938463463374607431768211456 > -128
+true
+340282366920938463463374607431768211456 > -127
+true
+340282366920938463463374607431768211456 > 255
+true
+340282366920938463463374607431768211456 > 256
+true
+340282366920938463463374607431768211456 > 65535
+true
+340282366920938463463374607431768211456 > 65536
+true
+340282366920938463463374607431768211456 > 4294967295
+true
+340282366920938463463374607431768211456 > 4294967296
+true
+340282366920938463463374607431768211456 > 18446744073709551615
+true
+340282366920938463463374607431768211456 > 18446744073709551616
+true
+340282366920938463463374607431768211456 > 340282366920938463463374607431768211455
+true
+340282366920938463463374607431768211456 > 340282366920938463463374607431768211456
+false
diff --git a/test/ic3/integer_gt_2.ret.expected b/test/ic3/integer_gt_2.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_gt_2.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_lt.in b/test/ic3/integer_lt.in
deleted file mode 100644
index 89f9c79..0000000
--- a/test/ic3/integer_lt.in
+++ /dev/null
@@ -1,800 +0,0 @@
-quote -170141183460469231731687303715884105728 < -170141183460469231731687303715884105728
--170141183460469231731687303715884105728 < -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105728 < -170141183460469231731687303715884105727
--170141183460469231731687303715884105728 < -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105728 < -9223372036854775808
--170141183460469231731687303715884105728 < -9223372036854775808
-quote -170141183460469231731687303715884105728 < -9223372036854775807
--170141183460469231731687303715884105728 < -9223372036854775807
-quote -170141183460469231731687303715884105728 < -2147483648
--170141183460469231731687303715884105728 < -2147483648
-quote -170141183460469231731687303715884105728 < -2147483647
--170141183460469231731687303715884105728 < -2147483647
-quote -170141183460469231731687303715884105728 < -32768
--170141183460469231731687303715884105728 < -32768
-quote -170141183460469231731687303715884105728 < -32767
--170141183460469231731687303715884105728 < -32767
-quote -170141183460469231731687303715884105728 < -128
--170141183460469231731687303715884105728 < -128
-quote -170141183460469231731687303715884105728 < -127
--170141183460469231731687303715884105728 < -127
-quote -170141183460469231731687303715884105728 < 255
--170141183460469231731687303715884105728 < 255
-quote -170141183460469231731687303715884105728 < 256
--170141183460469231731687303715884105728 < 256
-quote -170141183460469231731687303715884105728 < 65535
--170141183460469231731687303715884105728 < 65535
-quote -170141183460469231731687303715884105728 < 65536
--170141183460469231731687303715884105728 < 65536
-quote -170141183460469231731687303715884105728 < 4294967295
--170141183460469231731687303715884105728 < 4294967295
-quote -170141183460469231731687303715884105728 < 4294967296
--170141183460469231731687303715884105728 < 4294967296
-quote -170141183460469231731687303715884105728 < 18446744073709551615
--170141183460469231731687303715884105728 < 18446744073709551615
-quote -170141183460469231731687303715884105728 < 18446744073709551616
--170141183460469231731687303715884105728 < 18446744073709551616
-quote -170141183460469231731687303715884105728 < 340282366920938463463374607431768211455
--170141183460469231731687303715884105728 < 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105728 < 340282366920938463463374607431768211456
--170141183460469231731687303715884105728 < 340282366920938463463374607431768211456
-quote -170141183460469231731687303715884105727 < -170141183460469231731687303715884105728
--170141183460469231731687303715884105727 < -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105727 < -170141183460469231731687303715884105727
--170141183460469231731687303715884105727 < -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105727 < -9223372036854775808
--170141183460469231731687303715884105727 < -9223372036854775808
-quote -170141183460469231731687303715884105727 < -9223372036854775807
--170141183460469231731687303715884105727 < -9223372036854775807
-quote -170141183460469231731687303715884105727 < -2147483648
--170141183460469231731687303715884105727 < -2147483648
-quote -170141183460469231731687303715884105727 < -2147483647
--170141183460469231731687303715884105727 < -2147483647
-quote -170141183460469231731687303715884105727 < -32768
--170141183460469231731687303715884105727 < -32768
-quote -170141183460469231731687303715884105727 < -32767
--170141183460469231731687303715884105727 < -32767
-quote -170141183460469231731687303715884105727 < -128
--170141183460469231731687303715884105727 < -128
-quote -170141183460469231731687303715884105727 < -127
--170141183460469231731687303715884105727 < -127
-quote -170141183460469231731687303715884105727 < 255
--170141183460469231731687303715884105727 < 255
-quote -170141183460469231731687303715884105727 < 256
--170141183460469231731687303715884105727 < 256
-quote -170141183460469231731687303715884105727 < 65535
--170141183460469231731687303715884105727 < 65535
-quote -170141183460469231731687303715884105727 < 65536
--170141183460469231731687303715884105727 < 65536
-quote -170141183460469231731687303715884105727 < 4294967295
--170141183460469231731687303715884105727 < 4294967295
-quote -170141183460469231731687303715884105727 < 4294967296
--170141183460469231731687303715884105727 < 4294967296
-quote -170141183460469231731687303715884105727 < 18446744073709551615
--170141183460469231731687303715884105727 < 18446744073709551615
-quote -170141183460469231731687303715884105727 < 18446744073709551616
--170141183460469231731687303715884105727 < 18446744073709551616
-quote -170141183460469231731687303715884105727 < 340282366920938463463374607431768211455
--170141183460469231731687303715884105727 < 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105727 < 340282366920938463463374607431768211456
--170141183460469231731687303715884105727 < 340282366920938463463374607431768211456
-quote -9223372036854775808 < -170141183460469231731687303715884105728
--9223372036854775808 < -170141183460469231731687303715884105728
-quote -9223372036854775808 < -170141183460469231731687303715884105727
--9223372036854775808 < -170141183460469231731687303715884105727
-quote -9223372036854775808 < -9223372036854775808
--9223372036854775808 < -9223372036854775808
-quote -9223372036854775808 < -9223372036854775807
--9223372036854775808 < -9223372036854775807
-quote -9223372036854775808 < -2147483648
--9223372036854775808 < -2147483648
-quote -9223372036854775808 < -2147483647
--9223372036854775808 < -2147483647
-quote -9223372036854775808 < -32768
--9223372036854775808 < -32768
-quote -9223372036854775808 < -32767
--9223372036854775808 < -32767
-quote -9223372036854775808 < -128
--9223372036854775808 < -128
-quote -9223372036854775808 < -127
--9223372036854775808 < -127
-quote -9223372036854775808 < 255
--9223372036854775808 < 255
-quote -9223372036854775808 < 256
--9223372036854775808 < 256
-quote -9223372036854775808 < 65535
--9223372036854775808 < 65535
-quote -9223372036854775808 < 65536
--9223372036854775808 < 65536
-quote -9223372036854775808 < 4294967295
--9223372036854775808 < 4294967295
-quote -9223372036854775808 < 4294967296
--9223372036854775808 < 4294967296
-quote -9223372036854775808 < 18446744073709551615
--9223372036854775808 < 18446744073709551615
-quote -9223372036854775808 < 18446744073709551616
--9223372036854775808 < 18446744073709551616
-quote -9223372036854775808 < 340282366920938463463374607431768211455
--9223372036854775808 < 340282366920938463463374607431768211455
-quote -9223372036854775808 < 340282366920938463463374607431768211456
--9223372036854775808 < 340282366920938463463374607431768211456
-quote -9223372036854775807 < -170141183460469231731687303715884105728
--9223372036854775807 < -170141183460469231731687303715884105728
-quote -9223372036854775807 < -170141183460469231731687303715884105727
--9223372036854775807 < -170141183460469231731687303715884105727
-quote -9223372036854775807 < -9223372036854775808
--9223372036854775807 < -9223372036854775808
-quote -9223372036854775807 < -9223372036854775807
--9223372036854775807 < -9223372036854775807
-quote -9223372036854775807 < -2147483648
--9223372036854775807 < -2147483648
-quote -9223372036854775807 < -2147483647
--9223372036854775807 < -2147483647
-quote -9223372036854775807 < -32768
--9223372036854775807 < -32768
-quote -9223372036854775807 < -32767
--9223372036854775807 < -32767
-quote -9223372036854775807 < -128
--9223372036854775807 < -128
-quote -9223372036854775807 < -127
--9223372036854775807 < -127
-quote -9223372036854775807 < 255
--9223372036854775807 < 255
-quote -9223372036854775807 < 256
--9223372036854775807 < 256
-quote -9223372036854775807 < 65535
--9223372036854775807 < 65535
-quote -9223372036854775807 < 65536
--9223372036854775807 < 65536
-quote -9223372036854775807 < 4294967295
--9223372036854775807 < 4294967295
-quote -9223372036854775807 < 4294967296
--9223372036854775807 < 4294967296
-quote -9223372036854775807 < 18446744073709551615
--9223372036854775807 < 18446744073709551615
-quote -9223372036854775807 < 18446744073709551616
--9223372036854775807 < 18446744073709551616
-quote -9223372036854775807 < 340282366920938463463374607431768211455
--9223372036854775807 < 340282366920938463463374607431768211455
-quote -9223372036854775807 < 340282366920938463463374607431768211456
--9223372036854775807 < 340282366920938463463374607431768211456
-quote -2147483648 < -170141183460469231731687303715884105728
--2147483648 < -170141183460469231731687303715884105728
-quote -2147483648 < -170141183460469231731687303715884105727
--2147483648 < -170141183460469231731687303715884105727
-quote -2147483648 < -9223372036854775808
--2147483648 < -9223372036854775808
-quote -2147483648 < -9223372036854775807
--2147483648 < -9223372036854775807
-quote -2147483648 < -2147483648
--2147483648 < -2147483648
-quote -2147483648 < -2147483647
--2147483648 < -2147483647
-quote -2147483648 < -32768
--2147483648 < -32768
-quote -2147483648 < -32767
--2147483648 < -32767
-quote -2147483648 < -128
--2147483648 < -128
-quote -2147483648 < -127
--2147483648 < -127
-quote -2147483648 < 255
--2147483648 < 255
-quote -2147483648 < 256
--2147483648 < 256
-quote -2147483648 < 65535
--2147483648 < 65535
-quote -2147483648 < 65536
--2147483648 < 65536
-quote -2147483648 < 4294967295
--2147483648 < 4294967295
-quote -2147483648 < 4294967296
--2147483648 < 4294967296
-quote -2147483648 < 18446744073709551615
--2147483648 < 18446744073709551615
-quote -2147483648 < 18446744073709551616
--2147483648 < 18446744073709551616
-quote -2147483648 < 340282366920938463463374607431768211455
--2147483648 < 340282366920938463463374607431768211455
-quote -2147483648 < 340282366920938463463374607431768211456
--2147483648 < 340282366920938463463374607431768211456
-quote -2147483647 < -170141183460469231731687303715884105728
--2147483647 < -170141183460469231731687303715884105728
-quote -2147483647 < -170141183460469231731687303715884105727
--2147483647 < -170141183460469231731687303715884105727
-quote -2147483647 < -9223372036854775808
--2147483647 < -9223372036854775808
-quote -2147483647 < -9223372036854775807
--2147483647 < -9223372036854775807
-quote -2147483647 < -2147483648
--2147483647 < -2147483648
-quote -2147483647 < -2147483647
--2147483647 < -2147483647
-quote -2147483647 < -32768
--2147483647 < -32768
-quote -2147483647 < -32767
--2147483647 < -32767
-quote -2147483647 < -128
--2147483647 < -128
-quote -2147483647 < -127
--2147483647 < -127
-quote -2147483647 < 255
--2147483647 < 255
-quote -2147483647 < 256
--2147483647 < 256
-quote -2147483647 < 65535
--2147483647 < 65535
-quote -2147483647 < 65536
--2147483647 < 65536
-quote -2147483647 < 4294967295
--2147483647 < 4294967295
-quote -2147483647 < 4294967296
--2147483647 < 4294967296
-quote -2147483647 < 18446744073709551615
--2147483647 < 18446744073709551615
-quote -2147483647 < 18446744073709551616
--2147483647 < 18446744073709551616
-quote -2147483647 < 340282366920938463463374607431768211455
--2147483647 < 340282366920938463463374607431768211455
-quote -2147483647 < 340282366920938463463374607431768211456
--2147483647 < 340282366920938463463374607431768211456
-quote -32768 < -170141183460469231731687303715884105728
--32768 < -170141183460469231731687303715884105728
-quote -32768 < -170141183460469231731687303715884105727
--32768 < -170141183460469231731687303715884105727
-quote -32768 < -9223372036854775808
--32768 < -9223372036854775808
-quote -32768 < -9223372036854775807
--32768 < -9223372036854775807
-quote -32768 < -2147483648
--32768 < -2147483648
-quote -32768 < -2147483647
--32768 < -2147483647
-quote -32768 < -32768
--32768 < -32768
-quote -32768 < -32767
--32768 < -32767
-quote -32768 < -128
--32768 < -128
-quote -32768 < -127
--32768 < -127
-quote -32768 < 255
--32768 < 255
-quote -32768 < 256
--32768 < 256
-quote -32768 < 65535
--32768 < 65535
-quote -32768 < 65536
--32768 < 65536
-quote -32768 < 4294967295
--32768 < 4294967295
-quote -32768 < 4294967296
--32768 < 4294967296
-quote -32768 < 18446744073709551615
--32768 < 18446744073709551615
-quote -32768 < 18446744073709551616
--32768 < 18446744073709551616
-quote -32768 < 340282366920938463463374607431768211455
--32768 < 340282366920938463463374607431768211455
-quote -32768 < 340282366920938463463374607431768211456
--32768 < 340282366920938463463374607431768211456
-quote -32767 < -170141183460469231731687303715884105728
--32767 < -170141183460469231731687303715884105728
-quote -32767 < -170141183460469231731687303715884105727
--32767 < -170141183460469231731687303715884105727
-quote -32767 < -9223372036854775808
--32767 < -9223372036854775808
-quote -32767 < -9223372036854775807
--32767 < -9223372036854775807
-quote -32767 < -2147483648
--32767 < -2147483648
-quote -32767 < -2147483647
--32767 < -2147483647
-quote -32767 < -32768
--32767 < -32768
-quote -32767 < -32767
--32767 < -32767
-quote -32767 < -128
--32767 < -128
-quote -32767 < -127
--32767 < -127
-quote -32767 < 255
--32767 < 255
-quote -32767 < 256
--32767 < 256
-quote -32767 < 65535
--32767 < 65535
-quote -32767 < 65536
--32767 < 65536
-quote -32767 < 4294967295
--32767 < 4294967295
-quote -32767 < 4294967296
--32767 < 4294967296
-quote -32767 < 18446744073709551615
--32767 < 18446744073709551615
-quote -32767 < 18446744073709551616
--32767 < 18446744073709551616
-quote -32767 < 340282366920938463463374607431768211455
--32767 < 340282366920938463463374607431768211455
-quote -32767 < 340282366920938463463374607431768211456
--32767 < 340282366920938463463374607431768211456
-quote -128 < -170141183460469231731687303715884105728
--128 < -170141183460469231731687303715884105728
-quote -128 < -170141183460469231731687303715884105727
--128 < -170141183460469231731687303715884105727
-quote -128 < -9223372036854775808
--128 < -9223372036854775808
-quote -128 < -9223372036854775807
--128 < -9223372036854775807
-quote -128 < -2147483648
--128 < -2147483648
-quote -128 < -2147483647
--128 < -2147483647
-quote -128 < -32768
--128 < -32768
-quote -128 < -32767
--128 < -32767
-quote -128 < -128
--128 < -128
-quote -128 < -127
--128 < -127
-quote -128 < 255
--128 < 255
-quote -128 < 256
--128 < 256
-quote -128 < 65535
--128 < 65535
-quote -128 < 65536
--128 < 65536
-quote -128 < 4294967295
--128 < 4294967295
-quote -128 < 4294967296
--128 < 4294967296
-quote -128 < 18446744073709551615
--128 < 18446744073709551615
-quote -128 < 18446744073709551616
--128 < 18446744073709551616
-quote -128 < 340282366920938463463374607431768211455
--128 < 340282366920938463463374607431768211455
-quote -128 < 340282366920938463463374607431768211456
--128 < 340282366920938463463374607431768211456
-quote -127 < -170141183460469231731687303715884105728
--127 < -170141183460469231731687303715884105728
-quote -127 < -170141183460469231731687303715884105727
--127 < -170141183460469231731687303715884105727
-quote -127 < -9223372036854775808
--127 < -9223372036854775808
-quote -127 < -9223372036854775807
--127 < -9223372036854775807
-quote -127 < -2147483648
--127 < -2147483648
-quote -127 < -2147483647
--127 < -2147483647
-quote -127 < -32768
--127 < -32768
-quote -127 < -32767
--127 < -32767
-quote -127 < -128
--127 < -128
-quote -127 < -127
--127 < -127
-quote -127 < 255
--127 < 255
-quote -127 < 256
--127 < 256
-quote -127 < 65535
--127 < 65535
-quote -127 < 65536
--127 < 65536
-quote -127 < 4294967295
--127 < 4294967295
-quote -127 < 4294967296
--127 < 4294967296
-quote -127 < 18446744073709551615
--127 < 18446744073709551615
-quote -127 < 18446744073709551616
--127 < 18446744073709551616
-quote -127 < 340282366920938463463374607431768211455
--127 < 340282366920938463463374607431768211455
-quote -127 < 340282366920938463463374607431768211456
--127 < 340282366920938463463374607431768211456
-quote 255 < -170141183460469231731687303715884105728
-255 < -170141183460469231731687303715884105728
-quote 255 < -170141183460469231731687303715884105727
-255 < -170141183460469231731687303715884105727
-quote 255 < -9223372036854775808
-255 < -9223372036854775808
-quote 255 < -9223372036854775807
-255 < -9223372036854775807
-quote 255 < -2147483648
-255 < -2147483648
-quote 255 < -2147483647
-255 < -2147483647
-quote 255 < -32768
-255 < -32768
-quote 255 < -32767
-255 < -32767
-quote 255 < -128
-255 < -128
-quote 255 < -127
-255 < -127
-quote 255 < 255
-255 < 255
-quote 255 < 256
-255 < 256
-quote 255 < 65535
-255 < 65535
-quote 255 < 65536
-255 < 65536
-quote 255 < 4294967295
-255 < 4294967295
-quote 255 < 4294967296
-255 < 4294967296
-quote 255 < 18446744073709551615
-255 < 18446744073709551615
-quote 255 < 18446744073709551616
-255 < 18446744073709551616
-quote 255 < 340282366920938463463374607431768211455
-255 < 340282366920938463463374607431768211455
-quote 255 < 340282366920938463463374607431768211456
-255 < 340282366920938463463374607431768211456
-quote 256 < -170141183460469231731687303715884105728
-256 < -170141183460469231731687303715884105728
-quote 256 < -170141183460469231731687303715884105727
-256 < -170141183460469231731687303715884105727
-quote 256 < -9223372036854775808
-256 < -9223372036854775808
-quote 256 < -9223372036854775807
-256 < -9223372036854775807
-quote 256 < -2147483648
-256 < -2147483648
-quote 256 < -2147483647
-256 < -2147483647
-quote 256 < -32768
-256 < -32768
-quote 256 < -32767
-256 < -32767
-quote 256 < -128
-256 < -128
-quote 256 < -127
-256 < -127
-quote 256 < 255
-256 < 255
-quote 256 < 256
-256 < 256
-quote 256 < 65535
-256 < 65535
-quote 256 < 65536
-256 < 65536
-quote 256 < 4294967295
-256 < 4294967295
-quote 256 < 4294967296
-256 < 4294967296
-quote 256 < 18446744073709551615
-256 < 18446744073709551615
-quote 256 < 18446744073709551616
-256 < 18446744073709551616
-quote 256 < 340282366920938463463374607431768211455
-256 < 340282366920938463463374607431768211455
-quote 256 < 340282366920938463463374607431768211456
-256 < 340282366920938463463374607431768211456
-quote 65535 < -170141183460469231731687303715884105728
-65535 < -170141183460469231731687303715884105728
-quote 65535 < -170141183460469231731687303715884105727
-65535 < -170141183460469231731687303715884105727
-quote 65535 < -9223372036854775808
-65535 < -9223372036854775808
-quote 65535 < -9223372036854775807
-65535 < -9223372036854775807
-quote 65535 < -2147483648
-65535 < -2147483648
-quote 65535 < -2147483647
-65535 < -2147483647
-quote 65535 < -32768
-65535 < -32768
-quote 65535 < -32767
-65535 < -32767
-quote 65535 < -128
-65535 < -128
-quote 65535 < -127
-65535 < -127
-quote 65535 < 255
-65535 < 255
-quote 65535 < 256
-65535 < 256
-quote 65535 < 65535
-65535 < 65535
-quote 65535 < 65536
-65535 < 65536
-quote 65535 < 4294967295
-65535 < 4294967295
-quote 65535 < 4294967296
-65535 < 4294967296
-quote 65535 < 18446744073709551615
-65535 < 18446744073709551615
-quote 65535 < 18446744073709551616
-65535 < 18446744073709551616
-quote 65535 < 340282366920938463463374607431768211455
-65535 < 340282366920938463463374607431768211455
-quote 65535 < 340282366920938463463374607431768211456
-65535 < 340282366920938463463374607431768211456
-quote 65536 < -170141183460469231731687303715884105728
-65536 < -170141183460469231731687303715884105728
-quote 65536 < -170141183460469231731687303715884105727
-65536 < -170141183460469231731687303715884105727
-quote 65536 < -9223372036854775808
-65536 < -9223372036854775808
-quote 65536 < -9223372036854775807
-65536 < -9223372036854775807
-quote 65536 < -2147483648
-65536 < -2147483648
-quote 65536 < -2147483647
-65536 < -2147483647
-quote 65536 < -32768
-65536 < -32768
-quote 65536 < -32767
-65536 < -32767
-quote 65536 < -128
-65536 < -128
-quote 65536 < -127
-65536 < -127
-quote 65536 < 255
-65536 < 255
-quote 65536 < 256
-65536 < 256
-quote 65536 < 65535
-65536 < 65535
-quote 65536 < 65536
-65536 < 65536
-quote 65536 < 4294967295
-65536 < 4294967295
-quote 65536 < 4294967296
-65536 < 4294967296
-quote 65536 < 18446744073709551615
-65536 < 18446744073709551615
-quote 65536 < 18446744073709551616
-65536 < 18446744073709551616
-quote 65536 < 340282366920938463463374607431768211455
-65536 < 340282366920938463463374607431768211455
-quote 65536 < 340282366920938463463374607431768211456
-65536 < 340282366920938463463374607431768211456
-quote 4294967295 < -170141183460469231731687303715884105728
-4294967295 < -170141183460469231731687303715884105728
-quote 4294967295 < -170141183460469231731687303715884105727
-4294967295 < -170141183460469231731687303715884105727
-quote 4294967295 < -9223372036854775808
-4294967295 < -9223372036854775808
-quote 4294967295 < -9223372036854775807
-4294967295 < -9223372036854775807
-quote 4294967295 < -2147483648
-4294967295 < -2147483648
-quote 4294967295 < -2147483647
-4294967295 < -2147483647
-quote 4294967295 < -32768
-4294967295 < -32768
-quote 4294967295 < -32767
-4294967295 < -32767
-quote 4294967295 < -128
-4294967295 < -128
-quote 4294967295 < -127
-4294967295 < -127
-quote 4294967295 < 255
-4294967295 < 255
-quote 4294967295 < 256
-4294967295 < 256
-quote 4294967295 < 65535
-4294967295 < 65535
-quote 4294967295 < 65536
-4294967295 < 65536
-quote 4294967295 < 4294967295
-4294967295 < 4294967295
-quote 4294967295 < 4294967296
-4294967295 < 4294967296
-quote 4294967295 < 18446744073709551615
-4294967295 < 18446744073709551615
-quote 4294967295 < 18446744073709551616
-4294967295 < 18446744073709551616
-quote 4294967295 < 340282366920938463463374607431768211455
-4294967295 < 340282366920938463463374607431768211455
-quote 4294967295 < 340282366920938463463374607431768211456
-4294967295 < 340282366920938463463374607431768211456
-quote 4294967296 < -170141183460469231731687303715884105728
-4294967296 < -170141183460469231731687303715884105728
-quote 4294967296 < -170141183460469231731687303715884105727
-4294967296 < -170141183460469231731687303715884105727
-quote 4294967296 < -9223372036854775808
-4294967296 < -9223372036854775808
-quote 4294967296 < -9223372036854775807
-4294967296 < -9223372036854775807
-quote 4294967296 < -2147483648
-4294967296 < -2147483648
-quote 4294967296 < -2147483647
-4294967296 < -2147483647
-quote 4294967296 < -32768
-4294967296 < -32768
-quote 4294967296 < -32767
-4294967296 < -32767
-quote 4294967296 < -128
-4294967296 < -128
-quote 4294967296 < -127
-4294967296 < -127
-quote 4294967296 < 255
-4294967296 < 255
-quote 4294967296 < 256
-4294967296 < 256
-quote 4294967296 < 65535
-4294967296 < 65535
-quote 4294967296 < 65536
-4294967296 < 65536
-quote 4294967296 < 4294967295
-4294967296 < 4294967295
-quote 4294967296 < 4294967296
-4294967296 < 4294967296
-quote 4294967296 < 18446744073709551615
-4294967296 < 18446744073709551615
-quote 4294967296 < 18446744073709551616
-4294967296 < 18446744073709551616
-quote 4294967296 < 340282366920938463463374607431768211455
-4294967296 < 340282366920938463463374607431768211455
-quote 4294967296 < 340282366920938463463374607431768211456
-4294967296 < 340282366920938463463374607431768211456
-quote 18446744073709551615 < -170141183460469231731687303715884105728
-18446744073709551615 < -170141183460469231731687303715884105728
-quote 18446744073709551615 < -170141183460469231731687303715884105727
-18446744073709551615 < -170141183460469231731687303715884105727
-quote 18446744073709551615 < -9223372036854775808
-18446744073709551615 < -9223372036854775808
-quote 18446744073709551615 < -9223372036854775807
-18446744073709551615 < -9223372036854775807
-quote 18446744073709551615 < -2147483648
-18446744073709551615 < -2147483648
-quote 18446744073709551615 < -2147483647
-18446744073709551615 < -2147483647
-quote 18446744073709551615 < -32768
-18446744073709551615 < -32768
-quote 18446744073709551615 < -32767
-18446744073709551615 < -32767
-quote 18446744073709551615 < -128
-18446744073709551615 < -128
-quote 18446744073709551615 < -127
-18446744073709551615 < -127
-quote 18446744073709551615 < 255
-18446744073709551615 < 255
-quote 18446744073709551615 < 256
-18446744073709551615 < 256
-quote 18446744073709551615 < 65535
-18446744073709551615 < 65535
-quote 18446744073709551615 < 65536
-18446744073709551615 < 65536
-quote 18446744073709551615 < 4294967295
-18446744073709551615 < 4294967295
-quote 18446744073709551615 < 4294967296
-18446744073709551615 < 4294967296
-quote 18446744073709551615 < 18446744073709551615
-18446744073709551615 < 18446744073709551615
-quote 18446744073709551615 < 18446744073709551616
-18446744073709551615 < 18446744073709551616
-quote 18446744073709551615 < 340282366920938463463374607431768211455
-18446744073709551615 < 340282366920938463463374607431768211455
-quote 18446744073709551615 < 340282366920938463463374607431768211456
-18446744073709551615 < 340282366920938463463374607431768211456
-quote 18446744073709551616 < -170141183460469231731687303715884105728
-18446744073709551616 < -170141183460469231731687303715884105728
-quote 18446744073709551616 < -170141183460469231731687303715884105727
-18446744073709551616 < -170141183460469231731687303715884105727
-quote 18446744073709551616 < -9223372036854775808
-18446744073709551616 < -9223372036854775808
-quote 18446744073709551616 < -9223372036854775807
-18446744073709551616 < -9223372036854775807
-quote 18446744073709551616 < -2147483648
-18446744073709551616 < -2147483648
-quote 18446744073709551616 < -2147483647
-18446744073709551616 < -2147483647
-quote 18446744073709551616 < -32768
-18446744073709551616 < -32768
-quote 18446744073709551616 < -32767
-18446744073709551616 < -32767
-quote 18446744073709551616 < -128
-18446744073709551616 < -128
-quote 18446744073709551616 < -127
-18446744073709551616 < -127
-quote 18446744073709551616 < 255
-18446744073709551616 < 255
-quote 18446744073709551616 < 256
-18446744073709551616 < 256
-quote 18446744073709551616 < 65535
-18446744073709551616 < 65535
-quote 18446744073709551616 < 65536
-18446744073709551616 < 65536
-quote 18446744073709551616 < 4294967295
-18446744073709551616 < 4294967295
-quote 18446744073709551616 < 4294967296
-18446744073709551616 < 4294967296
-quote 18446744073709551616 < 18446744073709551615
-18446744073709551616 < 18446744073709551615
-quote 18446744073709551616 < 18446744073709551616
-18446744073709551616 < 18446744073709551616
-quote 18446744073709551616 < 340282366920938463463374607431768211455
-18446744073709551616 < 340282366920938463463374607431768211455
-quote 18446744073709551616 < 340282366920938463463374607431768211456
-18446744073709551616 < 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211455 < -170141183460469231731687303715884105728
-340282366920938463463374607431768211455 < -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211455 < -170141183460469231731687303715884105727
-340282366920938463463374607431768211455 < -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211455 < -9223372036854775808
-340282366920938463463374607431768211455 < -9223372036854775808
-quote 340282366920938463463374607431768211455 < -9223372036854775807
-340282366920938463463374607431768211455 < -9223372036854775807
-quote 340282366920938463463374607431768211455 < -2147483648
-340282366920938463463374607431768211455 < -2147483648
-quote 340282366920938463463374607431768211455 < -2147483647
-340282366920938463463374607431768211455 < -2147483647
-quote 340282366920938463463374607431768211455 < -32768
-340282366920938463463374607431768211455 < -32768
-quote 340282366920938463463374607431768211455 < -32767
-340282366920938463463374607431768211455 < -32767
-quote 340282366920938463463374607431768211455 < -128
-340282366920938463463374607431768211455 < -128
-quote 340282366920938463463374607431768211455 < -127
-340282366920938463463374607431768211455 < -127
-quote 340282366920938463463374607431768211455 < 255
-340282366920938463463374607431768211455 < 255
-quote 340282366920938463463374607431768211455 < 256
-340282366920938463463374607431768211455 < 256
-quote 340282366920938463463374607431768211455 < 65535
-340282366920938463463374607431768211455 < 65535
-quote 340282366920938463463374607431768211455 < 65536
-340282366920938463463374607431768211455 < 65536
-quote 340282366920938463463374607431768211455 < 4294967295
-340282366920938463463374607431768211455 < 4294967295
-quote 340282366920938463463374607431768211455 < 4294967296
-340282366920938463463374607431768211455 < 4294967296
-quote 340282366920938463463374607431768211455 < 18446744073709551615
-340282366920938463463374607431768211455 < 18446744073709551615
-quote 340282366920938463463374607431768211455 < 18446744073709551616
-340282366920938463463374607431768211455 < 18446744073709551616
-quote 340282366920938463463374607431768211455 < 340282366920938463463374607431768211455
-340282366920938463463374607431768211455 < 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211455 < 340282366920938463463374607431768211456
-340282366920938463463374607431768211455 < 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211456 < -170141183460469231731687303715884105728
-340282366920938463463374607431768211456 < -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211456 < -170141183460469231731687303715884105727
-340282366920938463463374607431768211456 < -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211456 < -9223372036854775808
-340282366920938463463374607431768211456 < -9223372036854775808
-quote 340282366920938463463374607431768211456 < -9223372036854775807
-340282366920938463463374607431768211456 < -9223372036854775807
-quote 340282366920938463463374607431768211456 < -2147483648
-340282366920938463463374607431768211456 < -2147483648
-quote 340282366920938463463374607431768211456 < -2147483647
-340282366920938463463374607431768211456 < -2147483647
-quote 340282366920938463463374607431768211456 < -32768
-340282366920938463463374607431768211456 < -32768
-quote 340282366920938463463374607431768211456 < -32767
-340282366920938463463374607431768211456 < -32767
-quote 340282366920938463463374607431768211456 < -128
-340282366920938463463374607431768211456 < -128
-quote 340282366920938463463374607431768211456 < -127
-340282366920938463463374607431768211456 < -127
-quote 340282366920938463463374607431768211456 < 255
-340282366920938463463374607431768211456 < 255
-quote 340282366920938463463374607431768211456 < 256
-340282366920938463463374607431768211456 < 256
-quote 340282366920938463463374607431768211456 < 65535
-340282366920938463463374607431768211456 < 65535
-quote 340282366920938463463374607431768211456 < 65536
-340282366920938463463374607431768211456 < 65536
-quote 340282366920938463463374607431768211456 < 4294967295
-340282366920938463463374607431768211456 < 4294967295
-quote 340282366920938463463374607431768211456 < 4294967296
-340282366920938463463374607431768211456 < 4294967296
-quote 340282366920938463463374607431768211456 < 18446744073709551615
-340282366920938463463374607431768211456 < 18446744073709551615
-quote 340282366920938463463374607431768211456 < 18446744073709551616
-340282366920938463463374607431768211456 < 18446744073709551616
-quote 340282366920938463463374607431768211456 < 340282366920938463463374607431768211455
-340282366920938463463374607431768211456 < 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211456 < 340282366920938463463374607431768211456
-340282366920938463463374607431768211456 < 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_lt.out.expected b/test/ic3/integer_lt.out.expected
deleted file mode 100644
index 1fa364c..0000000
--- a/test/ic3/integer_lt.out.expected
+++ /dev/null
@@ -1,800 +0,0 @@
--170141183460469231731687303715884105728 < -170141183460469231731687303715884105728
-false
--170141183460469231731687303715884105728 < -170141183460469231731687303715884105727
-true
--170141183460469231731687303715884105728 < -9223372036854775808
-true
--170141183460469231731687303715884105728 < -9223372036854775807
-true
--170141183460469231731687303715884105728 < -2147483648
-true
--170141183460469231731687303715884105728 < -2147483647
-true
--170141183460469231731687303715884105728 < -32768
-true
--170141183460469231731687303715884105728 < -32767
-true
--170141183460469231731687303715884105728 < -128
-true
--170141183460469231731687303715884105728 < -127
-true
--170141183460469231731687303715884105728 < 255
-true
--170141183460469231731687303715884105728 < 256
-true
--170141183460469231731687303715884105728 < 65535
-true
--170141183460469231731687303715884105728 < 65536
-true
--170141183460469231731687303715884105728 < 4294967295
-true
--170141183460469231731687303715884105728 < 4294967296
-true
--170141183460469231731687303715884105728 < 18446744073709551615
-true
--170141183460469231731687303715884105728 < 18446744073709551616
-true
--170141183460469231731687303715884105728 < 340282366920938463463374607431768211455
-true
--170141183460469231731687303715884105728 < 340282366920938463463374607431768211456
-true
--170141183460469231731687303715884105727 < -170141183460469231731687303715884105728
-false
--170141183460469231731687303715884105727 < -170141183460469231731687303715884105727
-false
--170141183460469231731687303715884105727 < -9223372036854775808
-true
--170141183460469231731687303715884105727 < -9223372036854775807
-true
--170141183460469231731687303715884105727 < -2147483648
-true
--170141183460469231731687303715884105727 < -2147483647
-true
--170141183460469231731687303715884105727 < -32768
-true
--170141183460469231731687303715884105727 < -32767
-true
--170141183460469231731687303715884105727 < -128
-true
--170141183460469231731687303715884105727 < -127
-true
--170141183460469231731687303715884105727 < 255
-true
--170141183460469231731687303715884105727 < 256
-true
--170141183460469231731687303715884105727 < 65535
-true
--170141183460469231731687303715884105727 < 65536
-true
--170141183460469231731687303715884105727 < 4294967295
-true
--170141183460469231731687303715884105727 < 4294967296
-true
--170141183460469231731687303715884105727 < 18446744073709551615
-true
--170141183460469231731687303715884105727 < 18446744073709551616
-true
--170141183460469231731687303715884105727 < 340282366920938463463374607431768211455
-true
--170141183460469231731687303715884105727 < 340282366920938463463374607431768211456
-true
--9223372036854775808 < -170141183460469231731687303715884105728
-false
--9223372036854775808 < -170141183460469231731687303715884105727
-false
--9223372036854775808 < -9223372036854775808
-false
--9223372036854775808 < -9223372036854775807
-true
--9223372036854775808 < -2147483648
-true
--9223372036854775808 < -2147483647
-true
--9223372036854775808 < -32768
-true
--9223372036854775808 < -32767
-true
--9223372036854775808 < -128
-true
--9223372036854775808 < -127
-true
--9223372036854775808 < 255
-true
--9223372036854775808 < 256
-true
--9223372036854775808 < 65535
-true
--9223372036854775808 < 65536
-true
--9223372036854775808 < 4294967295
-true
--9223372036854775808 < 4294967296
-true
--9223372036854775808 < 18446744073709551615
-true
--9223372036854775808 < 18446744073709551616
-true
--9223372036854775808 < 340282366920938463463374607431768211455
-true
--9223372036854775808 < 340282366920938463463374607431768211456
-true
--9223372036854775807 < -170141183460469231731687303715884105728
-false
--9223372036854775807 < -170141183460469231731687303715884105727
-false
--9223372036854775807 < -9223372036854775808
-false
--9223372036854775807 < -9223372036854775807
-false
--9223372036854775807 < -2147483648
-true
--9223372036854775807 < -2147483647
-true
--9223372036854775807 < -32768
-true
--9223372036854775807 < -32767
-true
--9223372036854775807 < -128
-true
--9223372036854775807 < -127
-true
--9223372036854775807 < 255
-true
--9223372036854775807 < 256
-true
--9223372036854775807 < 65535
-true
--9223372036854775807 < 65536
-true
--9223372036854775807 < 4294967295
-true
--9223372036854775807 < 4294967296
-true
--9223372036854775807 < 18446744073709551615
-true
--9223372036854775807 < 18446744073709551616
-true
--9223372036854775807 < 340282366920938463463374607431768211455
-true
--9223372036854775807 < 340282366920938463463374607431768211456
-true
--2147483648 < -170141183460469231731687303715884105728
-false
--2147483648 < -170141183460469231731687303715884105727
-false
--2147483648 < -9223372036854775808
-false
--2147483648 < -9223372036854775807
-false
--2147483648 < -2147483648
-false
--2147483648 < -2147483647
-true
--2147483648 < -32768
-true
--2147483648 < -32767
-true
--2147483648 < -128
-true
--2147483648 < -127
-true
--2147483648 < 255
-true
--2147483648 < 256
-true
--2147483648 < 65535
-true
--2147483648 < 65536
-true
--2147483648 < 4294967295
-true
--2147483648 < 4294967296
-true
--2147483648 < 18446744073709551615
-true
--2147483648 < 18446744073709551616
-true
--2147483648 < 340282366920938463463374607431768211455
-true
--2147483648 < 340282366920938463463374607431768211456
-true
--2147483647 < -170141183460469231731687303715884105728
-false
--2147483647 < -170141183460469231731687303715884105727
-false
--2147483647 < -9223372036854775808
-false
--2147483647 < -9223372036854775807
-false
--2147483647 < -2147483648
-false
--2147483647 < -2147483647
-false
--2147483647 < -32768
-true
--2147483647 < -32767
-true
--2147483647 < -128
-true
--2147483647 < -127
-true
--2147483647 < 255
-true
--2147483647 < 256
-true
--2147483647 < 65535
-true
--2147483647 < 65536
-true
--2147483647 < 4294967295
-true
--2147483647 < 4294967296
-true
--2147483647 < 18446744073709551615
-true
--2147483647 < 18446744073709551616
-true
--2147483647 < 340282366920938463463374607431768211455
-true
--2147483647 < 340282366920938463463374607431768211456
-true
--32768 < -170141183460469231731687303715884105728
-false
--32768 < -170141183460469231731687303715884105727
-false
--32768 < -9223372036854775808
-false
--32768 < -9223372036854775807
-false
--32768 < -2147483648
-false
--32768 < -2147483647
-false
--32768 < -32768
-false
--32768 < -32767
-true
--32768 < -128
-true
--32768 < -127
-true
--32768 < 255
-true
--32768 < 256
-true
--32768 < 65535
-true
--32768 < 65536
-true
--32768 < 4294967295
-true
--32768 < 4294967296
-true
--32768 < 18446744073709551615
-true
--32768 < 18446744073709551616
-true
--32768 < 340282366920938463463374607431768211455
-true
--32768 < 340282366920938463463374607431768211456
-true
--32767 < -170141183460469231731687303715884105728
-false
--32767 < -170141183460469231731687303715884105727
-false
--32767 < -9223372036854775808
-false
--32767 < -9223372036854775807
-false
--32767 < -2147483648
-false
--32767 < -2147483647
-false
--32767 < -32768
-false
--32767 < -32767
-false
--32767 < -128
-true
--32767 < -127
-true
--32767 < 255
-true
--32767 < 256
-true
--32767 < 65535
-true
--32767 < 65536
-true
--32767 < 4294967295
-true
--32767 < 4294967296
-true
--32767 < 18446744073709551615
-true
--32767 < 18446744073709551616
-true
--32767 < 340282366920938463463374607431768211455
-true
--32767 < 340282366920938463463374607431768211456
-true
--128 < -170141183460469231731687303715884105728
-false
--128 < -170141183460469231731687303715884105727
-false
--128 < -9223372036854775808
-false
--128 < -9223372036854775807
-false
--128 < -2147483648
-false
--128 < -2147483647
-false
--128 < -32768
-false
--128 < -32767
-false
--128 < -128
-false
--128 < -127
-true
--128 < 255
-true
--128 < 256
-true
--128 < 65535
-true
--128 < 65536
-true
--128 < 4294967295
-true
--128 < 4294967296
-true
--128 < 18446744073709551615
-true
--128 < 18446744073709551616
-true
--128 < 340282366920938463463374607431768211455
-true
--128 < 340282366920938463463374607431768211456
-true
--127 < -170141183460469231731687303715884105728
-false
--127 < -170141183460469231731687303715884105727
-false
--127 < -9223372036854775808
-false
--127 < -9223372036854775807
-false
--127 < -2147483648
-false
--127 < -2147483647
-false
--127 < -32768
-false
--127 < -32767
-false
--127 < -128
-false
--127 < -127
-false
--127 < 255
-true
--127 < 256
-true
--127 < 65535
-true
--127 < 65536
-true
--127 < 4294967295
-true
--127 < 4294967296
-true
--127 < 18446744073709551615
-true
--127 < 18446744073709551616
-true
--127 < 340282366920938463463374607431768211455
-true
--127 < 340282366920938463463374607431768211456
-true
-255 < -170141183460469231731687303715884105728
-false
-255 < -170141183460469231731687303715884105727
-false
-255 < -9223372036854775808
-false
-255 < -9223372036854775807
-false
-255 < -2147483648
-false
-255 < -2147483647
-false
-255 < -32768
-false
-255 < -32767
-false
-255 < -128
-false
-255 < -127
-false
-255 < 255
-false
-255 < 256
-true
-255 < 65535
-true
-255 < 65536
-true
-255 < 4294967295
-true
-255 < 4294967296
-true
-255 < 18446744073709551615
-true
-255 < 18446744073709551616
-true
-255 < 340282366920938463463374607431768211455
-true
-255 < 340282366920938463463374607431768211456
-true
-256 < -170141183460469231731687303715884105728
-false
-256 < -170141183460469231731687303715884105727
-false
-256 < -9223372036854775808
-false
-256 < -9223372036854775807
-false
-256 < -2147483648
-false
-256 < -2147483647
-false
-256 < -32768
-false
-256 < -32767
-false
-256 < -128
-false
-256 < -127
-false
-256 < 255
-false
-256 < 256
-false
-256 < 65535
-true
-256 < 65536
-true
-256 < 4294967295
-true
-256 < 4294967296
-true
-256 < 18446744073709551615
-true
-256 < 18446744073709551616
-true
-256 < 340282366920938463463374607431768211455
-true
-256 < 340282366920938463463374607431768211456
-true
-65535 < -170141183460469231731687303715884105728
-false
-65535 < -170141183460469231731687303715884105727
-false
-65535 < -9223372036854775808
-false
-65535 < -9223372036854775807
-false
-65535 < -2147483648
-false
-65535 < -2147483647
-false
-65535 < -32768
-false
-65535 < -32767
-false
-65535 < -128
-false
-65535 < -127
-false
-65535 < 255
-false
-65535 < 256
-false
-65535 < 65535
-false
-65535 < 65536
-true
-65535 < 4294967295
-true
-65535 < 4294967296
-true
-65535 < 18446744073709551615
-true
-65535 < 18446744073709551616
-true
-65535 < 340282366920938463463374607431768211455
-true
-65535 < 340282366920938463463374607431768211456
-true
-65536 < -170141183460469231731687303715884105728
-false
-65536 < -170141183460469231731687303715884105727
-false
-65536 < -9223372036854775808
-false
-65536 < -9223372036854775807
-false
-65536 < -2147483648
-false
-65536 < -2147483647
-false
-65536 < -32768
-false
-65536 < -32767
-false
-65536 < -128
-false
-65536 < -127
-false
-65536 < 255
-false
-65536 < 256
-false
-65536 < 65535
-false
-65536 < 65536
-false
-65536 < 4294967295
-true
-65536 < 4294967296
-true
-65536 < 18446744073709551615
-true
-65536 < 18446744073709551616
-true
-65536 < 340282366920938463463374607431768211455
-true
-65536 < 340282366920938463463374607431768211456
-true
-4294967295 < -170141183460469231731687303715884105728
-false
-4294967295 < -170141183460469231731687303715884105727
-false
-4294967295 < -9223372036854775808
-false
-4294967295 < -9223372036854775807
-false
-4294967295 < -2147483648
-false
-4294967295 < -2147483647
-false
-4294967295 < -32768
-false
-4294967295 < -32767
-false
-4294967295 < -128
-false
-4294967295 < -127
-false
-4294967295 < 255
-false
-4294967295 < 256
-false
-4294967295 < 65535
-false
-4294967295 < 65536
-false
-4294967295 < 4294967295
-false
-4294967295 < 4294967296
-true
-4294967295 < 18446744073709551615
-true
-4294967295 < 18446744073709551616
-true
-4294967295 < 340282366920938463463374607431768211455
-true
-4294967295 < 340282366920938463463374607431768211456
-true
-4294967296 < -170141183460469231731687303715884105728
-false
-4294967296 < -170141183460469231731687303715884105727
-false
-4294967296 < -9223372036854775808
-false
-4294967296 < -9223372036854775807
-false
-4294967296 < -2147483648
-false
-4294967296 < -2147483647
-false
-4294967296 < -32768
-false
-4294967296 < -32767
-false
-4294967296 < -128
-false
-4294967296 < -127
-false
-4294967296 < 255
-false
-4294967296 < 256
-false
-4294967296 < 65535
-false
-4294967296 < 65536
-false
-4294967296 < 4294967295
-false
-4294967296 < 4294967296
-false
-4294967296 < 18446744073709551615
-true
-4294967296 < 18446744073709551616
-true
-4294967296 < 340282366920938463463374607431768211455
-true
-4294967296 < 340282366920938463463374607431768211456
-true
-18446744073709551615 < -170141183460469231731687303715884105728
-false
-18446744073709551615 < -170141183460469231731687303715884105727
-false
-18446744073709551615 < -9223372036854775808
-false
-18446744073709551615 < -9223372036854775807
-false
-18446744073709551615 < -2147483648
-false
-18446744073709551615 < -2147483647
-false
-18446744073709551615 < -32768
-false
-18446744073709551615 < -32767
-false
-18446744073709551615 < -128
-false
-18446744073709551615 < -127
-false
-18446744073709551615 < 255
-false
-18446744073709551615 < 256
-false
-18446744073709551615 < 65535
-false
-18446744073709551615 < 65536
-false
-18446744073709551615 < 4294967295
-false
-18446744073709551615 < 4294967296
-false
-18446744073709551615 < 18446744073709551615
-false
-18446744073709551615 < 18446744073709551616
-true
-18446744073709551615 < 340282366920938463463374607431768211455
-true
-18446744073709551615 < 340282366920938463463374607431768211456
-true
-18446744073709551616 < -170141183460469231731687303715884105728
-false
-18446744073709551616 < -170141183460469231731687303715884105727
-false
-18446744073709551616 < -9223372036854775808
-false
-18446744073709551616 < -9223372036854775807
-false
-18446744073709551616 < -2147483648
-false
-18446744073709551616 < -2147483647
-false
-18446744073709551616 < -32768
-false
-18446744073709551616 < -32767
-false
-18446744073709551616 < -128
-false
-18446744073709551616 < -127
-false
-18446744073709551616 < 255
-false
-18446744073709551616 < 256
-false
-18446744073709551616 < 65535
-false
-18446744073709551616 < 65536
-false
-18446744073709551616 < 4294967295
-false
-18446744073709551616 < 4294967296
-false
-18446744073709551616 < 18446744073709551615
-false
-18446744073709551616 < 18446744073709551616
-false
-18446744073709551616 < 340282366920938463463374607431768211455
-true
-18446744073709551616 < 340282366920938463463374607431768211456
-true
-340282366920938463463374607431768211455 < -170141183460469231731687303715884105728
-false
-340282366920938463463374607431768211455 < -170141183460469231731687303715884105727
-false
-340282366920938463463374607431768211455 < -9223372036854775808
-false
-340282366920938463463374607431768211455 < -9223372036854775807
-false
-340282366920938463463374607431768211455 < -2147483648
-false
-340282366920938463463374607431768211455 < -2147483647
-false
-340282366920938463463374607431768211455 < -32768
-false
-340282366920938463463374607431768211455 < -32767
-false
-340282366920938463463374607431768211455 < -128
-false
-340282366920938463463374607431768211455 < -127
-false
-340282366920938463463374607431768211455 < 255
-false
-340282366920938463463374607431768211455 < 256
-false
-340282366920938463463374607431768211455 < 65535
-false
-340282366920938463463374607431768211455 < 65536
-false
-340282366920938463463374607431768211455 < 4294967295
-false
-340282366920938463463374607431768211455 < 4294967296
-false
-340282366920938463463374607431768211455 < 18446744073709551615
-false
-340282366920938463463374607431768211455 < 18446744073709551616
-false
-340282366920938463463374607431768211455 < 340282366920938463463374607431768211455
-false
-340282366920938463463374607431768211455 < 340282366920938463463374607431768211456
-true
-340282366920938463463374607431768211456 < -170141183460469231731687303715884105728
-false
-340282366920938463463374607431768211456 < -170141183460469231731687303715884105727
-false
-340282366920938463463374607431768211456 < -9223372036854775808
-false
-340282366920938463463374607431768211456 < -9223372036854775807
-false
-340282366920938463463374607431768211456 < -2147483648
-false
-340282366920938463463374607431768211456 < -2147483647
-false
-340282366920938463463374607431768211456 < -32768
-false
-340282366920938463463374607431768211456 < -32767
-false
-340282366920938463463374607431768211456 < -128
-false
-340282366920938463463374607431768211456 < -127
-false
-340282366920938463463374607431768211456 < 255
-false
-340282366920938463463374607431768211456 < 256
-false
-340282366920938463463374607431768211456 < 65535
-false
-340282366920938463463374607431768211456 < 65536
-false
-340282366920938463463374607431768211456 < 4294967295
-false
-340282366920938463463374607431768211456 < 4294967296
-false
-340282366920938463463374607431768211456 < 18446744073709551615
-false
-340282366920938463463374607431768211456 < 18446744073709551616
-false
-340282366920938463463374607431768211456 < 340282366920938463463374607431768211455
-false
-340282366920938463463374607431768211456 < 340282366920938463463374607431768211456
-false
diff --git a/test/ic3/integer_lt.ret.expected b/test/ic3/integer_lt.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/integer_lt.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/integer_lt_2.in b/test/ic3/integer_lt_2.in
new file mode 100644
index 0000000..89f9c79
--- /dev/null
+++ b/test/ic3/integer_lt_2.in
@@ -0,0 +1,800 @@
+quote -170141183460469231731687303715884105728 < -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 < -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105728 < -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 < -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105728 < -9223372036854775808
+-170141183460469231731687303715884105728 < -9223372036854775808
+quote -170141183460469231731687303715884105728 < -9223372036854775807
+-170141183460469231731687303715884105728 < -9223372036854775807
+quote -170141183460469231731687303715884105728 < -2147483648
+-170141183460469231731687303715884105728 < -2147483648
+quote -170141183460469231731687303715884105728 < -2147483647
+-170141183460469231731687303715884105728 < -2147483647
+quote -170141183460469231731687303715884105728 < -32768
+-170141183460469231731687303715884105728 < -32768
+quote -170141183460469231731687303715884105728 < -32767
+-170141183460469231731687303715884105728 < -32767
+quote -170141183460469231731687303715884105728 < -128
+-170141183460469231731687303715884105728 < -128
+quote -170141183460469231731687303715884105728 < -127
+-170141183460469231731687303715884105728 < -127
+quote -170141183460469231731687303715884105728 < 255
+-170141183460469231731687303715884105728 < 255
+quote -170141183460469231731687303715884105728 < 256
+-170141183460469231731687303715884105728 < 256
+quote -170141183460469231731687303715884105728 < 65535
+-170141183460469231731687303715884105728 < 65535
+quote -170141183460469231731687303715884105728 < 65536
+-170141183460469231731687303715884105728 < 65536
+quote -170141183460469231731687303715884105728 < 4294967295
+-170141183460469231731687303715884105728 < 4294967295
+quote -170141183460469231731687303715884105728 < 4294967296
+-170141183460469231731687303715884105728 < 4294967296
+quote -170141183460469231731687303715884105728 < 18446744073709551615
+-170141183460469231731687303715884105728 < 18446744073709551615
+quote -170141183460469231731687303715884105728 < 18446744073709551616
+-170141183460469231731687303715884105728 < 18446744073709551616
+quote -170141183460469231731687303715884105728 < 340282366920938463463374607431768211455
+-170141183460469231731687303715884105728 < 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105728 < 340282366920938463463374607431768211456
+-170141183460469231731687303715884105728 < 340282366920938463463374607431768211456
+quote -170141183460469231731687303715884105727 < -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 < -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105727 < -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 < -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105727 < -9223372036854775808
+-170141183460469231731687303715884105727 < -9223372036854775808
+quote -170141183460469231731687303715884105727 < -9223372036854775807
+-170141183460469231731687303715884105727 < -9223372036854775807
+quote -170141183460469231731687303715884105727 < -2147483648
+-170141183460469231731687303715884105727 < -2147483648
+quote -170141183460469231731687303715884105727 < -2147483647
+-170141183460469231731687303715884105727 < -2147483647
+quote -170141183460469231731687303715884105727 < -32768
+-170141183460469231731687303715884105727 < -32768
+quote -170141183460469231731687303715884105727 < -32767
+-170141183460469231731687303715884105727 < -32767
+quote -170141183460469231731687303715884105727 < -128
+-170141183460469231731687303715884105727 < -128
+quote -170141183460469231731687303715884105727 < -127
+-170141183460469231731687303715884105727 < -127
+quote -170141183460469231731687303715884105727 < 255
+-170141183460469231731687303715884105727 < 255
+quote -170141183460469231731687303715884105727 < 256
+-170141183460469231731687303715884105727 < 256
+quote -170141183460469231731687303715884105727 < 65535
+-170141183460469231731687303715884105727 < 65535
+quote -170141183460469231731687303715884105727 < 65536
+-170141183460469231731687303715884105727 < 65536
+quote -170141183460469231731687303715884105727 < 4294967295
+-170141183460469231731687303715884105727 < 4294967295
+quote -170141183460469231731687303715884105727 < 4294967296
+-170141183460469231731687303715884105727 < 4294967296
+quote -170141183460469231731687303715884105727 < 18446744073709551615
+-170141183460469231731687303715884105727 < 18446744073709551615
+quote -170141183460469231731687303715884105727 < 18446744073709551616
+-170141183460469231731687303715884105727 < 18446744073709551616
+quote -170141183460469231731687303715884105727 < 340282366920938463463374607431768211455
+-170141183460469231731687303715884105727 < 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105727 < 340282366920938463463374607431768211456
+-170141183460469231731687303715884105727 < 340282366920938463463374607431768211456
+quote -9223372036854775808 < -170141183460469231731687303715884105728
+-9223372036854775808 < -170141183460469231731687303715884105728
+quote -9223372036854775808 < -170141183460469231731687303715884105727
+-9223372036854775808 < -170141183460469231731687303715884105727
+quote -9223372036854775808 < -9223372036854775808
+-9223372036854775808 < -9223372036854775808
+quote -9223372036854775808 < -9223372036854775807
+-9223372036854775808 < -9223372036854775807
+quote -9223372036854775808 < -2147483648
+-9223372036854775808 < -2147483648
+quote -9223372036854775808 < -2147483647
+-9223372036854775808 < -2147483647
+quote -9223372036854775808 < -32768
+-9223372036854775808 < -32768
+quote -9223372036854775808 < -32767
+-9223372036854775808 < -32767
+quote -9223372036854775808 < -128
+-9223372036854775808 < -128
+quote -9223372036854775808 < -127
+-9223372036854775808 < -127
+quote -9223372036854775808 < 255
+-9223372036854775808 < 255
+quote -9223372036854775808 < 256
+-9223372036854775808 < 256
+quote -9223372036854775808 < 65535
+-9223372036854775808 < 65535
+quote -9223372036854775808 < 65536
+-9223372036854775808 < 65536
+quote -9223372036854775808 < 4294967295
+-9223372036854775808 < 4294967295
+quote -9223372036854775808 < 4294967296
+-9223372036854775808 < 4294967296
+quote -9223372036854775808 < 18446744073709551615
+-9223372036854775808 < 18446744073709551615
+quote -9223372036854775808 < 18446744073709551616
+-9223372036854775808 < 18446744073709551616
+quote -9223372036854775808 < 340282366920938463463374607431768211455
+-9223372036854775808 < 340282366920938463463374607431768211455
+quote -9223372036854775808 < 340282366920938463463374607431768211456
+-9223372036854775808 < 340282366920938463463374607431768211456
+quote -9223372036854775807 < -170141183460469231731687303715884105728
+-9223372036854775807 < -170141183460469231731687303715884105728
+quote -9223372036854775807 < -170141183460469231731687303715884105727
+-9223372036854775807 < -170141183460469231731687303715884105727
+quote -9223372036854775807 < -9223372036854775808
+-9223372036854775807 < -9223372036854775808
+quote -9223372036854775807 < -9223372036854775807
+-9223372036854775807 < -9223372036854775807
+quote -9223372036854775807 < -2147483648
+-9223372036854775807 < -2147483648
+quote -9223372036854775807 < -2147483647
+-9223372036854775807 < -2147483647
+quote -9223372036854775807 < -32768
+-9223372036854775807 < -32768
+quote -9223372036854775807 < -32767
+-9223372036854775807 < -32767
+quote -9223372036854775807 < -128
+-9223372036854775807 < -128
+quote -9223372036854775807 < -127
+-9223372036854775807 < -127
+quote -9223372036854775807 < 255
+-9223372036854775807 < 255
+quote -9223372036854775807 < 256
+-9223372036854775807 < 256
+quote -9223372036854775807 < 65535
+-9223372036854775807 < 65535
+quote -9223372036854775807 < 65536
+-9223372036854775807 < 65536
+quote -9223372036854775807 < 4294967295
+-9223372036854775807 < 4294967295
+quote -9223372036854775807 < 4294967296
+-9223372036854775807 < 4294967296
+quote -9223372036854775807 < 18446744073709551615
+-9223372036854775807 < 18446744073709551615
+quote -9223372036854775807 < 18446744073709551616
+-9223372036854775807 < 18446744073709551616
+quote -9223372036854775807 < 340282366920938463463374607431768211455
+-9223372036854775807 < 340282366920938463463374607431768211455
+quote -9223372036854775807 < 340282366920938463463374607431768211456
+-9223372036854775807 < 340282366920938463463374607431768211456
+quote -2147483648 < -170141183460469231731687303715884105728
+-2147483648 < -170141183460469231731687303715884105728
+quote -2147483648 < -170141183460469231731687303715884105727
+-2147483648 < -170141183460469231731687303715884105727
+quote -2147483648 < -9223372036854775808
+-2147483648 < -9223372036854775808
+quote -2147483648 < -9223372036854775807
+-2147483648 < -9223372036854775807
+quote -2147483648 < -2147483648
+-2147483648 < -2147483648
+quote -2147483648 < -2147483647
+-2147483648 < -2147483647
+quote -2147483648 < -32768
+-2147483648 < -32768
+quote -2147483648 < -32767
+-2147483648 < -32767
+quote -2147483648 < -128
+-2147483648 < -128
+quote -2147483648 < -127
+-2147483648 < -127
+quote -2147483648 < 255
+-2147483648 < 255
+quote -2147483648 < 256
+-2147483648 < 256
+quote -2147483648 < 65535
+-2147483648 < 65535
+quote -2147483648 < 65536
+-2147483648 < 65536
+quote -2147483648 < 4294967295
+-2147483648 < 4294967295
+quote -2147483648 < 4294967296
+-2147483648 < 4294967296
+quote -2147483648 < 18446744073709551615
+-2147483648 < 18446744073709551615
+quote -2147483648 < 18446744073709551616
+-2147483648 < 18446744073709551616
+quote -2147483648 < 340282366920938463463374607431768211455
+-2147483648 < 340282366920938463463374607431768211455
+quote -2147483648 < 340282366920938463463374607431768211456
+-2147483648 < 340282366920938463463374607431768211456
+quote -2147483647 < -170141183460469231731687303715884105728
+-2147483647 < -170141183460469231731687303715884105728
+quote -2147483647 < -170141183460469231731687303715884105727
+-2147483647 < -170141183460469231731687303715884105727
+quote -2147483647 < -9223372036854775808
+-2147483647 < -9223372036854775808
+quote -2147483647 < -9223372036854775807
+-2147483647 < -9223372036854775807
+quote -2147483647 < -2147483648
+-2147483647 < -2147483648
+quote -2147483647 < -2147483647
+-2147483647 < -2147483647
+quote -2147483647 < -32768
+-2147483647 < -32768
+quote -2147483647 < -32767
+-2147483647 < -32767
+quote -2147483647 < -128
+-2147483647 < -128
+quote -2147483647 < -127
+-2147483647 < -127
+quote -2147483647 < 255
+-2147483647 < 255
+quote -2147483647 < 256
+-2147483647 < 256
+quote -2147483647 < 65535
+-2147483647 < 65535
+quote -2147483647 < 65536
+-2147483647 < 65536
+quote -2147483647 < 4294967295
+-2147483647 < 4294967295
+quote -2147483647 < 4294967296
+-2147483647 < 4294967296
+quote -2147483647 < 18446744073709551615
+-2147483647 < 18446744073709551615
+quote -2147483647 < 18446744073709551616
+-2147483647 < 18446744073709551616
+quote -2147483647 < 340282366920938463463374607431768211455
+-2147483647 < 340282366920938463463374607431768211455
+quote -2147483647 < 340282366920938463463374607431768211456
+-2147483647 < 340282366920938463463374607431768211456
+quote -32768 < -170141183460469231731687303715884105728
+-32768 < -170141183460469231731687303715884105728
+quote -32768 < -170141183460469231731687303715884105727
+-32768 < -170141183460469231731687303715884105727
+quote -32768 < -9223372036854775808
+-32768 < -9223372036854775808
+quote -32768 < -9223372036854775807
+-32768 < -9223372036854775807
+quote -32768 < -2147483648
+-32768 < -2147483648
+quote -32768 < -2147483647
+-32768 < -2147483647
+quote -32768 < -32768
+-32768 < -32768
+quote -32768 < -32767
+-32768 < -32767
+quote -32768 < -128
+-32768 < -128
+quote -32768 < -127
+-32768 < -127
+quote -32768 < 255
+-32768 < 255
+quote -32768 < 256
+-32768 < 256
+quote -32768 < 65535
+-32768 < 65535
+quote -32768 < 65536
+-32768 < 65536
+quote -32768 < 4294967295
+-32768 < 4294967295
+quote -32768 < 4294967296
+-32768 < 4294967296
+quote -32768 < 18446744073709551615
+-32768 < 18446744073709551615
+quote -32768 < 18446744073709551616
+-32768 < 18446744073709551616
+quote -32768 < 340282366920938463463374607431768211455
+-32768 < 340282366920938463463374607431768211455
+quote -32768 < 340282366920938463463374607431768211456
+-32768 < 340282366920938463463374607431768211456
+quote -32767 < -170141183460469231731687303715884105728
+-32767 < -170141183460469231731687303715884105728
+quote -32767 < -170141183460469231731687303715884105727
+-32767 < -170141183460469231731687303715884105727
+quote -32767 < -9223372036854775808
+-32767 < -9223372036854775808
+quote -32767 < -9223372036854775807
+-32767 < -9223372036854775807
+quote -32767 < -2147483648
+-32767 < -2147483648
+quote -32767 < -2147483647
+-32767 < -2147483647
+quote -32767 < -32768
+-32767 < -32768
+quote -32767 < -32767
+-32767 < -32767
+quote -32767 < -128
+-32767 < -128
+quote -32767 < -127
+-32767 < -127
+quote -32767 < 255
+-32767 < 255
+quote -32767 < 256
+-32767 < 256
+quote -32767 < 65535
+-32767 < 65535
+quote -32767 < 65536
+-32767 < 65536
+quote -32767 < 4294967295
+-32767 < 4294967295
+quote -32767 < 4294967296
+-32767 < 4294967296
+quote -32767 < 18446744073709551615
+-32767 < 18446744073709551615
+quote -32767 < 18446744073709551616
+-32767 < 18446744073709551616
+quote -32767 < 340282366920938463463374607431768211455
+-32767 < 340282366920938463463374607431768211455
+quote -32767 < 340282366920938463463374607431768211456
+-32767 < 340282366920938463463374607431768211456
+quote -128 < -170141183460469231731687303715884105728
+-128 < -170141183460469231731687303715884105728
+quote -128 < -170141183460469231731687303715884105727
+-128 < -170141183460469231731687303715884105727
+quote -128 < -9223372036854775808
+-128 < -9223372036854775808
+quote -128 < -9223372036854775807
+-128 < -9223372036854775807
+quote -128 < -2147483648
+-128 < -2147483648
+quote -128 < -2147483647
+-128 < -2147483647
+quote -128 < -32768
+-128 < -32768
+quote -128 < -32767
+-128 < -32767
+quote -128 < -128
+-128 < -128
+quote -128 < -127
+-128 < -127
+quote -128 < 255
+-128 < 255
+quote -128 < 256
+-128 < 256
+quote -128 < 65535
+-128 < 65535
+quote -128 < 65536
+-128 < 65536
+quote -128 < 4294967295
+-128 < 4294967295
+quote -128 < 4294967296
+-128 < 4294967296
+quote -128 < 18446744073709551615
+-128 < 18446744073709551615
+quote -128 < 18446744073709551616
+-128 < 18446744073709551616
+quote -128 < 340282366920938463463374607431768211455
+-128 < 340282366920938463463374607431768211455
+quote -128 < 340282366920938463463374607431768211456
+-128 < 340282366920938463463374607431768211456
+quote -127 < -170141183460469231731687303715884105728
+-127 < -170141183460469231731687303715884105728
+quote -127 < -170141183460469231731687303715884105727
+-127 < -170141183460469231731687303715884105727
+quote -127 < -9223372036854775808
+-127 < -9223372036854775808
+quote -127 < -9223372036854775807
+-127 < -9223372036854775807
+quote -127 < -2147483648
+-127 < -2147483648
+quote -127 < -2147483647
+-127 < -2147483647
+quote -127 < -32768
+-127 < -32768
+quote -127 < -32767
+-127 < -32767
+quote -127 < -128
+-127 < -128
+quote -127 < -127
+-127 < -127
+quote -127 < 255
+-127 < 255
+quote -127 < 256
+-127 < 256
+quote -127 < 65535
+-127 < 65535
+quote -127 < 65536
+-127 < 65536
+quote -127 < 4294967295
+-127 < 4294967295
+quote -127 < 4294967296
+-127 < 4294967296
+quote -127 < 18446744073709551615
+-127 < 18446744073709551615
+quote -127 < 18446744073709551616
+-127 < 18446744073709551616
+quote -127 < 340282366920938463463374607431768211455
+-127 < 340282366920938463463374607431768211455
+quote -127 < 340282366920938463463374607431768211456
+-127 < 340282366920938463463374607431768211456
+quote 255 < -170141183460469231731687303715884105728
+255 < -170141183460469231731687303715884105728
+quote 255 < -170141183460469231731687303715884105727
+255 < -170141183460469231731687303715884105727
+quote 255 < -9223372036854775808
+255 < -9223372036854775808
+quote 255 < -9223372036854775807
+255 < -9223372036854775807
+quote 255 < -2147483648
+255 < -2147483648
+quote 255 < -2147483647
+255 < -2147483647
+quote 255 < -32768
+255 < -32768
+quote 255 < -32767
+255 < -32767
+quote 255 < -128
+255 < -128
+quote 255 < -127
+255 < -127
+quote 255 < 255
+255 < 255
+quote 255 < 256
+255 < 256
+quote 255 < 65535
+255 < 65535
+quote 255 < 65536
+255 < 65536
+quote 255 < 4294967295
+255 < 4294967295
+quote 255 < 4294967296
+255 < 4294967296
+quote 255 < 18446744073709551615
+255 < 18446744073709551615
+quote 255 < 18446744073709551616
+255 < 18446744073709551616
+quote 255 < 340282366920938463463374607431768211455
+255 < 340282366920938463463374607431768211455
+quote 255 < 340282366920938463463374607431768211456
+255 < 340282366920938463463374607431768211456
+quote 256 < -170141183460469231731687303715884105728
+256 < -170141183460469231731687303715884105728
+quote 256 < -170141183460469231731687303715884105727
+256 < -170141183460469231731687303715884105727
+quote 256 < -9223372036854775808
+256 < -9223372036854775808
+quote 256 < -9223372036854775807
+256 < -9223372036854775807
+quote 256 < -2147483648
+256 < -2147483648
+quote 256 < -2147483647
+256 < -2147483647
+quote 256 < -32768
+256 < -32768
+quote 256 < -32767
+256 < -32767
+quote 256 < -128
+256 < -128
+quote 256 < -127
+256 < -127
+quote 256 < 255
+256 < 255
+quote 256 < 256
+256 < 256
+quote 256 < 65535
+256 < 65535
+quote 256 < 65536
+256 < 65536
+quote 256 < 4294967295
+256 < 4294967295
+quote 256 < 4294967296
+256 < 4294967296
+quote 256 < 18446744073709551615
+256 < 18446744073709551615
+quote 256 < 18446744073709551616
+256 < 18446744073709551616
+quote 256 < 340282366920938463463374607431768211455
+256 < 340282366920938463463374607431768211455
+quote 256 < 340282366920938463463374607431768211456
+256 < 340282366920938463463374607431768211456
+quote 65535 < -170141183460469231731687303715884105728
+65535 < -170141183460469231731687303715884105728
+quote 65535 < -170141183460469231731687303715884105727
+65535 < -170141183460469231731687303715884105727
+quote 65535 < -9223372036854775808
+65535 < -9223372036854775808
+quote 65535 < -9223372036854775807
+65535 < -9223372036854775807
+quote 65535 < -2147483648
+65535 < -2147483648
+quote 65535 < -2147483647
+65535 < -2147483647
+quote 65535 < -32768
+65535 < -32768
+quote 65535 < -32767
+65535 < -32767
+quote 65535 < -128
+65535 < -128
+quote 65535 < -127
+65535 < -127
+quote 65535 < 255
+65535 < 255
+quote 65535 < 256
+65535 < 256
+quote 65535 < 65535
+65535 < 65535
+quote 65535 < 65536
+65535 < 65536
+quote 65535 < 4294967295
+65535 < 4294967295
+quote 65535 < 4294967296
+65535 < 4294967296
+quote 65535 < 18446744073709551615
+65535 < 18446744073709551615
+quote 65535 < 18446744073709551616
+65535 < 18446744073709551616
+quote 65535 < 340282366920938463463374607431768211455
+65535 < 340282366920938463463374607431768211455
+quote 65535 < 340282366920938463463374607431768211456
+65535 < 340282366920938463463374607431768211456
+quote 65536 < -170141183460469231731687303715884105728
+65536 < -170141183460469231731687303715884105728
+quote 65536 < -170141183460469231731687303715884105727
+65536 < -170141183460469231731687303715884105727
+quote 65536 < -9223372036854775808
+65536 < -9223372036854775808
+quote 65536 < -9223372036854775807
+65536 < -9223372036854775807
+quote 65536 < -2147483648
+65536 < -2147483648
+quote 65536 < -2147483647
+65536 < -2147483647
+quote 65536 < -32768
+65536 < -32768
+quote 65536 < -32767
+65536 < -32767
+quote 65536 < -128
+65536 < -128
+quote 65536 < -127
+65536 < -127
+quote 65536 < 255
+65536 < 255
+quote 65536 < 256
+65536 < 256
+quote 65536 < 65535
+65536 < 65535
+quote 65536 < 65536
+65536 < 65536
+quote 65536 < 4294967295
+65536 < 4294967295
+quote 65536 < 4294967296
+65536 < 4294967296
+quote 65536 < 18446744073709551615
+65536 < 18446744073709551615
+quote 65536 < 18446744073709551616
+65536 < 18446744073709551616
+quote 65536 < 340282366920938463463374607431768211455
+65536 < 340282366920938463463374607431768211455
+quote 65536 < 340282366920938463463374607431768211456
+65536 < 340282366920938463463374607431768211456
+quote 4294967295 < -170141183460469231731687303715884105728
+4294967295 < -170141183460469231731687303715884105728
+quote 4294967295 < -170141183460469231731687303715884105727
+4294967295 < -170141183460469231731687303715884105727
+quote 4294967295 < -9223372036854775808
+4294967295 < -9223372036854775808
+quote 4294967295 < -9223372036854775807
+4294967295 < -9223372036854775807
+quote 4294967295 < -2147483648
+4294967295 < -2147483648
+quote 4294967295 < -2147483647
+4294967295 < -2147483647
+quote 4294967295 < -32768
+4294967295 < -32768
+quote 4294967295 < -32767
+4294967295 < -32767
+quote 4294967295 < -128
+4294967295 < -128
+quote 4294967295 < -127
+4294967295 < -127
+quote 4294967295 < 255
+4294967295 < 255
+quote 4294967295 < 256
+4294967295 < 256
+quote 4294967295 < 65535
+4294967295 < 65535
+quote 4294967295 < 65536
+4294967295 < 65536
+quote 4294967295 < 4294967295
+4294967295 < 4294967295
+quote 4294967295 < 4294967296
+4294967295 < 4294967296
+quote 4294967295 < 18446744073709551615
+4294967295 < 18446744073709551615
+quote 4294967295 < 18446744073709551616
+4294967295 < 18446744073709551616
+quote 4294967295 < 340282366920938463463374607431768211455
+4294967295 < 340282366920938463463374607431768211455
+quote 4294967295 < 340282366920938463463374607431768211456
+4294967295 < 340282366920938463463374607431768211456
+quote 4294967296 < -170141183460469231731687303715884105728
+4294967296 < -170141183460469231731687303715884105728
+quote 4294967296 < -170141183460469231731687303715884105727
+4294967296 < -170141183460469231731687303715884105727
+quote 4294967296 < -9223372036854775808
+4294967296 < -9223372036854775808
+quote 4294967296 < -9223372036854775807
+4294967296 < -9223372036854775807
+quote 4294967296 < -2147483648
+4294967296 < -2147483648
+quote 4294967296 < -2147483647
+4294967296 < -2147483647
+quote 4294967296 < -32768
+4294967296 < -32768
+quote 4294967296 < -32767
+4294967296 < -32767
+quote 4294967296 < -128
+4294967296 < -128
+quote 4294967296 < -127
+4294967296 < -127
+quote 4294967296 < 255
+4294967296 < 255
+quote 4294967296 < 256
+4294967296 < 256
+quote 4294967296 < 65535
+4294967296 < 65535
+quote 4294967296 < 65536
+4294967296 < 65536
+quote 4294967296 < 4294967295
+4294967296 < 4294967295
+quote 4294967296 < 4294967296
+4294967296 < 4294967296
+quote 4294967296 < 18446744073709551615
+4294967296 < 18446744073709551615
+quote 4294967296 < 18446744073709551616
+4294967296 < 18446744073709551616
+quote 4294967296 < 340282366920938463463374607431768211455
+4294967296 < 340282366920938463463374607431768211455
+quote 4294967296 < 340282366920938463463374607431768211456
+4294967296 < 340282366920938463463374607431768211456
+quote 18446744073709551615 < -170141183460469231731687303715884105728
+18446744073709551615 < -170141183460469231731687303715884105728
+quote 18446744073709551615 < -170141183460469231731687303715884105727
+18446744073709551615 < -170141183460469231731687303715884105727
+quote 18446744073709551615 < -9223372036854775808
+18446744073709551615 < -9223372036854775808
+quote 18446744073709551615 < -9223372036854775807
+18446744073709551615 < -9223372036854775807
+quote 18446744073709551615 < -2147483648
+18446744073709551615 < -2147483648
+quote 18446744073709551615 < -2147483647
+18446744073709551615 < -2147483647
+quote 18446744073709551615 < -32768
+18446744073709551615 < -32768
+quote 18446744073709551615 < -32767
+18446744073709551615 < -32767
+quote 18446744073709551615 < -128
+18446744073709551615 < -128
+quote 18446744073709551615 < -127
+18446744073709551615 < -127
+quote 18446744073709551615 < 255
+18446744073709551615 < 255
+quote 18446744073709551615 < 256
+18446744073709551615 < 256
+quote 18446744073709551615 < 65535
+18446744073709551615 < 65535
+quote 18446744073709551615 < 65536
+18446744073709551615 < 65536
+quote 18446744073709551615 < 4294967295
+18446744073709551615 < 4294967295
+quote 18446744073709551615 < 4294967296
+18446744073709551615 < 4294967296
+quote 18446744073709551615 < 18446744073709551615
+18446744073709551615 < 18446744073709551615
+quote 18446744073709551615 < 18446744073709551616
+18446744073709551615 < 18446744073709551616
+quote 18446744073709551615 < 340282366920938463463374607431768211455
+18446744073709551615 < 340282366920938463463374607431768211455
+quote 18446744073709551615 < 340282366920938463463374607431768211456
+18446744073709551615 < 340282366920938463463374607431768211456
+quote 18446744073709551616 < -170141183460469231731687303715884105728
+18446744073709551616 < -170141183460469231731687303715884105728
+quote 18446744073709551616 < -170141183460469231731687303715884105727
+18446744073709551616 < -170141183460469231731687303715884105727
+quote 18446744073709551616 < -9223372036854775808
+18446744073709551616 < -9223372036854775808
+quote 18446744073709551616 < -9223372036854775807
+18446744073709551616 < -9223372036854775807
+quote 18446744073709551616 < -2147483648
+18446744073709551616 < -2147483648
+quote 18446744073709551616 < -2147483647
+18446744073709551616 < -2147483647
+quote 18446744073709551616 < -32768
+18446744073709551616 < -32768
+quote 18446744073709551616 < -32767
+18446744073709551616 < -32767
+quote 18446744073709551616 < -128
+18446744073709551616 < -128
+quote 18446744073709551616 < -127
+18446744073709551616 < -127
+quote 18446744073709551616 < 255
+18446744073709551616 < 255
+quote 18446744073709551616 < 256
+18446744073709551616 < 256
+quote 18446744073709551616 < 65535
+18446744073709551616 < 65535
+quote 18446744073709551616 < 65536
+18446744073709551616 < 65536
+quote 18446744073709551616 < 4294967295
+18446744073709551616 < 4294967295
+quote 18446744073709551616 < 4294967296
+18446744073709551616 < 4294967296
+quote 18446744073709551616 < 18446744073709551615
+18446744073709551616 < 18446744073709551615
+quote 18446744073709551616 < 18446744073709551616
+18446744073709551616 < 18446744073709551616
+quote 18446744073709551616 < 340282366920938463463374607431768211455
+18446744073709551616 < 340282366920938463463374607431768211455
+quote 18446744073709551616 < 340282366920938463463374607431768211456
+18446744073709551616 < 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211455 < -170141183460469231731687303715884105728
+340282366920938463463374607431768211455 < -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211455 < -170141183460469231731687303715884105727
+340282366920938463463374607431768211455 < -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211455 < -9223372036854775808
+340282366920938463463374607431768211455 < -9223372036854775808
+quote 340282366920938463463374607431768211455 < -9223372036854775807
+340282366920938463463374607431768211455 < -9223372036854775807
+quote 340282366920938463463374607431768211455 < -2147483648
+340282366920938463463374607431768211455 < -2147483648
+quote 340282366920938463463374607431768211455 < -2147483647
+340282366920938463463374607431768211455 < -2147483647
+quote 340282366920938463463374607431768211455 < -32768
+340282366920938463463374607431768211455 < -32768
+quote 340282366920938463463374607431768211455 < -32767
+340282366920938463463374607431768211455 < -32767
+quote 340282366920938463463374607431768211455 < -128
+340282366920938463463374607431768211455 < -128
+quote 340282366920938463463374607431768211455 < -127
+340282366920938463463374607431768211455 < -127
+quote 340282366920938463463374607431768211455 < 255
+340282366920938463463374607431768211455 < 255
+quote 340282366920938463463374607431768211455 < 256
+340282366920938463463374607431768211455 < 256
+quote 340282366920938463463374607431768211455 < 65535
+340282366920938463463374607431768211455 < 65535
+quote 340282366920938463463374607431768211455 < 65536
+340282366920938463463374607431768211455 < 65536
+quote 340282366920938463463374607431768211455 < 4294967295
+340282366920938463463374607431768211455 < 4294967295
+quote 340282366920938463463374607431768211455 < 4294967296
+340282366920938463463374607431768211455 < 4294967296
+quote 340282366920938463463374607431768211455 < 18446744073709551615
+340282366920938463463374607431768211455 < 18446744073709551615
+quote 340282366920938463463374607431768211455 < 18446744073709551616
+340282366920938463463374607431768211455 < 18446744073709551616
+quote 340282366920938463463374607431768211455 < 340282366920938463463374607431768211455
+340282366920938463463374607431768211455 < 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211455 < 340282366920938463463374607431768211456
+340282366920938463463374607431768211455 < 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211456 < -170141183460469231731687303715884105728
+340282366920938463463374607431768211456 < -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211456 < -170141183460469231731687303715884105727
+340282366920938463463374607431768211456 < -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211456 < -9223372036854775808
+340282366920938463463374607431768211456 < -9223372036854775808
+quote 340282366920938463463374607431768211456 < -9223372036854775807
+340282366920938463463374607431768211456 < -9223372036854775807
+quote 340282366920938463463374607431768211456 < -2147483648
+340282366920938463463374607431768211456 < -2147483648
+quote 340282366920938463463374607431768211456 < -2147483647
+340282366920938463463374607431768211456 < -2147483647
+quote 340282366920938463463374607431768211456 < -32768
+340282366920938463463374607431768211456 < -32768
+quote 340282366920938463463374607431768211456 < -32767
+340282366920938463463374607431768211456 < -32767
+quote 340282366920938463463374607431768211456 < -128
+340282366920938463463374607431768211456 < -128
+quote 340282366920938463463374607431768211456 < -127
+340282366920938463463374607431768211456 < -127
+quote 340282366920938463463374607431768211456 < 255
+340282366920938463463374607431768211456 < 255
+quote 340282366920938463463374607431768211456 < 256
+340282366920938463463374607431768211456 < 256
+quote 340282366920938463463374607431768211456 < 65535
+340282366920938463463374607431768211456 < 65535
+quote 340282366920938463463374607431768211456 < 65536
+340282366920938463463374607431768211456 < 65536
+quote 340282366920938463463374607431768211456 < 4294967295
+340282366920938463463374607431768211456 < 4294967295
+quote 340282366920938463463374607431768211456 < 4294967296
+340282366920938463463374607431768211456 < 4294967296
+quote 340282366920938463463374607431768211456 < 18446744073709551615
+340282366920938463463374607431768211456 < 18446744073709551615
+quote 340282366920938463463374607431768211456 < 18446744073709551616
+340282366920938463463374607431768211456 < 18446744073709551616
+quote 340282366920938463463374607431768211456 < 340282366920938463463374607431768211455
+340282366920938463463374607431768211456 < 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211456 < 340282366920938463463374607431768211456
+340282366920938463463374607431768211456 < 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_lt_2.out.expected b/test/ic3/integer_lt_2.out.expected
new file mode 100644
index 0000000..1fa364c
--- /dev/null
+++ b/test/ic3/integer_lt_2.out.expected
@@ -0,0 +1,800 @@
+-170141183460469231731687303715884105728 < -170141183460469231731687303715884105728
+false
+-170141183460469231731687303715884105728 < -170141183460469231731687303715884105727
+true
+-170141183460469231731687303715884105728 < -9223372036854775808
+true
+-170141183460469231731687303715884105728 < -9223372036854775807
+true
+-170141183460469231731687303715884105728 < -2147483648
+true
+-170141183460469231731687303715884105728 < -2147483647
+true
+-170141183460469231731687303715884105728 < -32768
+true
+-170141183460469231731687303715884105728 < -32767
+true
+-170141183460469231731687303715884105728 < -128
+true
+-170141183460469231731687303715884105728 < -127
+true
+-170141183460469231731687303715884105728 < 255
+true
+-170141183460469231731687303715884105728 < 256
+true
+-170141183460469231731687303715884105728 < 65535
+true
+-170141183460469231731687303715884105728 < 65536
+true
+-170141183460469231731687303715884105728 < 4294967295
+true
+-170141183460469231731687303715884105728 < 4294967296
+true
+-170141183460469231731687303715884105728 < 18446744073709551615
+true
+-170141183460469231731687303715884105728 < 18446744073709551616
+true
+-170141183460469231731687303715884105728 < 340282366920938463463374607431768211455
+true
+-170141183460469231731687303715884105728 < 340282366920938463463374607431768211456
+true
+-170141183460469231731687303715884105727 < -170141183460469231731687303715884105728
+false
+-170141183460469231731687303715884105727 < -170141183460469231731687303715884105727
+false
+-170141183460469231731687303715884105727 < -9223372036854775808
+true
+-170141183460469231731687303715884105727 < -9223372036854775807
+true
+-170141183460469231731687303715884105727 < -2147483648
+true
+-170141183460469231731687303715884105727 < -2147483647
+true
+-170141183460469231731687303715884105727 < -32768
+true
+-170141183460469231731687303715884105727 < -32767
+true
+-170141183460469231731687303715884105727 < -128
+true
+-170141183460469231731687303715884105727 < -127
+true
+-170141183460469231731687303715884105727 < 255
+true
+-170141183460469231731687303715884105727 < 256
+true
+-170141183460469231731687303715884105727 < 65535
+true
+-170141183460469231731687303715884105727 < 65536
+true
+-170141183460469231731687303715884105727 < 4294967295
+true
+-170141183460469231731687303715884105727 < 4294967296
+true
+-170141183460469231731687303715884105727 < 18446744073709551615
+true
+-170141183460469231731687303715884105727 < 18446744073709551616
+true
+-170141183460469231731687303715884105727 < 340282366920938463463374607431768211455
+true
+-170141183460469231731687303715884105727 < 340282366920938463463374607431768211456
+true
+-9223372036854775808 < -170141183460469231731687303715884105728
+false
+-9223372036854775808 < -170141183460469231731687303715884105727
+false
+-9223372036854775808 < -9223372036854775808
+false
+-9223372036854775808 < -9223372036854775807
+true
+-9223372036854775808 < -2147483648
+true
+-9223372036854775808 < -2147483647
+true
+-9223372036854775808 < -32768
+true
+-9223372036854775808 < -32767
+true
+-9223372036854775808 < -128
+true
+-9223372036854775808 < -127
+true
+-9223372036854775808 < 255
+true
+-9223372036854775808 < 256
+true
+-9223372036854775808 < 65535
+true
+-9223372036854775808 < 65536
+true
+-9223372036854775808 < 4294967295
+true
+-9223372036854775808 < 4294967296
+true
+-9223372036854775808 < 18446744073709551615
+true
+-9223372036854775808 < 18446744073709551616
+true
+-9223372036854775808 < 340282366920938463463374607431768211455
+true
+-9223372036854775808 < 340282366920938463463374607431768211456
+true
+-9223372036854775807 < -170141183460469231731687303715884105728
+false
+-9223372036854775807 < -170141183460469231731687303715884105727
+false
+-9223372036854775807 < -9223372036854775808
+false
+-9223372036854775807 < -9223372036854775807
+false
+-9223372036854775807 < -2147483648
+true
+-9223372036854775807 < -2147483647
+true
+-9223372036854775807 < -32768
+true
+-9223372036854775807 < -32767
+true
+-9223372036854775807 < -128
+true
+-9223372036854775807 < -127
+true
+-9223372036854775807 < 255
+true
+-9223372036854775807 < 256
+true
+-9223372036854775807 < 65535
+true
+-9223372036854775807 < 65536
+true
+-9223372036854775807 < 4294967295
+true
+-9223372036854775807 < 4294967296
+true
+-9223372036854775807 < 18446744073709551615
+true
+-9223372036854775807 < 18446744073709551616
+true
+-9223372036854775807 < 340282366920938463463374607431768211455
+true
+-9223372036854775807 < 340282366920938463463374607431768211456
+true
+-2147483648 < -170141183460469231731687303715884105728
+false
+-2147483648 < -170141183460469231731687303715884105727
+false
+-2147483648 < -9223372036854775808
+false
+-2147483648 < -9223372036854775807
+false
+-2147483648 < -2147483648
+false
+-2147483648 < -2147483647
+true
+-2147483648 < -32768
+true
+-2147483648 < -32767
+true
+-2147483648 < -128
+true
+-2147483648 < -127
+true
+-2147483648 < 255
+true
+-2147483648 < 256
+true
+-2147483648 < 65535
+true
+-2147483648 < 65536
+true
+-2147483648 < 4294967295
+true
+-2147483648 < 4294967296
+true
+-2147483648 < 18446744073709551615
+true
+-2147483648 < 18446744073709551616
+true
+-2147483648 < 340282366920938463463374607431768211455
+true
+-2147483648 < 340282366920938463463374607431768211456
+true
+-2147483647 < -170141183460469231731687303715884105728
+false
+-2147483647 < -170141183460469231731687303715884105727
+false
+-2147483647 < -9223372036854775808
+false
+-2147483647 < -9223372036854775807
+false
+-2147483647 < -2147483648
+false
+-2147483647 < -2147483647
+false
+-2147483647 < -32768
+true
+-2147483647 < -32767
+true
+-2147483647 < -128
+true
+-2147483647 < -127
+true
+-2147483647 < 255
+true
+-2147483647 < 256
+true
+-2147483647 < 65535
+true
+-2147483647 < 65536
+true
+-2147483647 < 4294967295
+true
+-2147483647 < 4294967296
+true
+-2147483647 < 18446744073709551615
+true
+-2147483647 < 18446744073709551616
+true
+-2147483647 < 340282366920938463463374607431768211455
+true
+-2147483647 < 340282366920938463463374607431768211456
+true
+-32768 < -170141183460469231731687303715884105728
+false
+-32768 < -170141183460469231731687303715884105727
+false
+-32768 < -9223372036854775808
+false
+-32768 < -9223372036854775807
+false
+-32768 < -2147483648
+false
+-32768 < -2147483647
+false
+-32768 < -32768
+false
+-32768 < -32767
+true
+-32768 < -128
+true
+-32768 < -127
+true
+-32768 < 255
+true
+-32768 < 256
+true
+-32768 < 65535
+true
+-32768 < 65536
+true
+-32768 < 4294967295
+true
+-32768 < 4294967296
+true
+-32768 < 18446744073709551615
+true
+-32768 < 18446744073709551616
+true
+-32768 < 340282366920938463463374607431768211455
+true
+-32768 < 340282366920938463463374607431768211456
+true
+-32767 < -170141183460469231731687303715884105728
+false
+-32767 < -170141183460469231731687303715884105727
+false
+-32767 < -9223372036854775808
+false
+-32767 < -9223372036854775807
+false
+-32767 < -2147483648
+false
+-32767 < -2147483647
+false
+-32767 < -32768
+false
+-32767 < -32767
+false
+-32767 < -128
+true
+-32767 < -127
+true
+-32767 < 255
+true
+-32767 < 256
+true
+-32767 < 65535
+true
+-32767 < 65536
+true
+-32767 < 4294967295
+true
+-32767 < 4294967296
+true
+-32767 < 18446744073709551615
+true
+-32767 < 18446744073709551616
+true
+-32767 < 340282366920938463463374607431768211455
+true
+-32767 < 340282366920938463463374607431768211456
+true
+-128 < -170141183460469231731687303715884105728
+false
+-128 < -170141183460469231731687303715884105727
+false
+-128 < -9223372036854775808
+false
+-128 < -9223372036854775807
+false
+-128 < -2147483648
+false
+-128 < -2147483647
+false
+-128 < -32768
+false
+-128 < -32767
+false
+-128 < -128
+false
+-128 < -127
+true
+-128 < 255
+true
+-128 < 256
+true
+-128 < 65535
+true
+-128 < 65536
+true
+-128 < 4294967295
+true
+-128 < 4294967296
+true
+-128 < 18446744073709551615
+true
+-128 < 18446744073709551616
+true
+-128 < 340282366920938463463374607431768211455
+true
+-128 < 340282366920938463463374607431768211456
+true
+-127 < -170141183460469231731687303715884105728
+false
+-127 < -170141183460469231731687303715884105727
+false
+-127 < -9223372036854775808
+false
+-127 < -9223372036854775807
+false
+-127 < -2147483648
+false
+-127 < -2147483647
+false
+-127 < -32768
+false
+-127 < -32767
+false
+-127 < -128
+false
+-127 < -127
+false
+-127 < 255
+true
+-127 < 256
+true
+-127 < 65535
+true
+-127 < 65536
+true
+-127 < 4294967295
+true
+-127 < 4294967296
+true
+-127 < 18446744073709551615
+true
+-127 < 18446744073709551616
+true
+-127 < 340282366920938463463374607431768211455
+true
+-127 < 340282366920938463463374607431768211456
+true
+255 < -170141183460469231731687303715884105728
+false
+255 < -170141183460469231731687303715884105727
+false
+255 < -9223372036854775808
+false
+255 < -9223372036854775807
+false
+255 < -2147483648
+false
+255 < -2147483647
+false
+255 < -32768
+false
+255 < -32767
+false
+255 < -128
+false
+255 < -127
+false
+255 < 255
+false
+255 < 256
+true
+255 < 65535
+true
+255 < 65536
+true
+255 < 4294967295
+true
+255 < 4294967296
+true
+255 < 18446744073709551615
+true
+255 < 18446744073709551616
+true
+255 < 340282366920938463463374607431768211455
+true
+255 < 340282366920938463463374607431768211456
+true
+256 < -170141183460469231731687303715884105728
+false
+256 < -170141183460469231731687303715884105727
+false
+256 < -9223372036854775808
+false
+256 < -9223372036854775807
+false
+256 < -2147483648
+false
+256 < -2147483647
+false
+256 < -32768
+false
+256 < -32767
+false
+256 < -128
+false
+256 < -127
+false
+256 < 255
+false
+256 < 256
+false
+256 < 65535
+true
+256 < 65536
+true
+256 < 4294967295
+true
+256 < 4294967296
+true
+256 < 18446744073709551615
+true
+256 < 18446744073709551616
+true
+256 < 340282366920938463463374607431768211455
+true
+256 < 340282366920938463463374607431768211456
+true
+65535 < -170141183460469231731687303715884105728
+false
+65535 < -170141183460469231731687303715884105727
+false
+65535 < -9223372036854775808
+false
+65535 < -9223372036854775807
+false
+65535 < -2147483648
+false
+65535 < -2147483647
+false
+65535 < -32768
+false
+65535 < -32767
+false
+65535 < -128
+false
+65535 < -127
+false
+65535 < 255
+false
+65535 < 256
+false
+65535 < 65535
+false
+65535 < 65536
+true
+65535 < 4294967295
+true
+65535 < 4294967296
+true
+65535 < 18446744073709551615
+true
+65535 < 18446744073709551616
+true
+65535 < 340282366920938463463374607431768211455
+true
+65535 < 340282366920938463463374607431768211456
+true
+65536 < -170141183460469231731687303715884105728
+false
+65536 < -170141183460469231731687303715884105727
+false
+65536 < -9223372036854775808
+false
+65536 < -9223372036854775807
+false
+65536 < -2147483648
+false
+65536 < -2147483647
+false
+65536 < -32768
+false
+65536 < -32767
+false
+65536 < -128
+false
+65536 < -127
+false
+65536 < 255
+false
+65536 < 256
+false
+65536 < 65535
+false
+65536 < 65536
+false
+65536 < 4294967295
+true
+65536 < 4294967296
+true
+65536 < 18446744073709551615
+true
+65536 < 18446744073709551616
+true
+65536 < 340282366920938463463374607431768211455
+true
+65536 < 340282366920938463463374607431768211456
+true
+4294967295 < -170141183460469231731687303715884105728
+false
+4294967295 < -170141183460469231731687303715884105727
+false
+4294967295 < -9223372036854775808
+false
+4294967295 < -9223372036854775807
+false
+4294967295 < -2147483648
+false
+4294967295 < -2147483647
+false
+4294967295 < -32768
+false
+4294967295 < -32767
+false
+4294967295 < -128
+false
+4294967295 < -127
+false
+4294967295 < 255
+false
+4294967295 < 256
+false
+4294967295 < 65535
+false
+4294967295 < 65536
+false
+4294967295 < 4294967295
+false
+4294967295 < 4294967296
+true
+4294967295 < 18446744073709551615
+true
+4294967295 < 18446744073709551616
+true
+4294967295 < 340282366920938463463374607431768211455
+true
+4294967295 < 340282366920938463463374607431768211456
+true
+4294967296 < -170141183460469231731687303715884105728
+false
+4294967296 < -170141183460469231731687303715884105727
+false
+4294967296 < -9223372036854775808
+false
+4294967296 < -9223372036854775807
+false
+4294967296 < -2147483648
+false
+4294967296 < -2147483647
+false
+4294967296 < -32768
+false
+4294967296 < -32767
+false
+4294967296 < -128
+false
+4294967296 < -127
+false
+4294967296 < 255
+false
+4294967296 < 256
+false
+4294967296 < 65535
+false
+4294967296 < 65536
+false
+4294967296 < 4294967295
+false
+4294967296 < 4294967296
+false
+4294967296 < 18446744073709551615
+true
+4294967296 < 18446744073709551616
+true
+4294967296 < 340282366920938463463374607431768211455
+true
+4294967296 < 340282366920938463463374607431768211456
+true
+18446744073709551615 < -170141183460469231731687303715884105728
+false
+18446744073709551615 < -170141183460469231731687303715884105727
+false
+18446744073709551615 < -9223372036854775808
+false
+18446744073709551615 < -9223372036854775807
+false
+18446744073709551615 < -2147483648
+false
+18446744073709551615 < -2147483647
+false
+18446744073709551615 < -32768
+false
+18446744073709551615 < -32767
+false
+18446744073709551615 < -128
+false
+18446744073709551615 < -127
+false
+18446744073709551615 < 255
+false
+18446744073709551615 < 256
+false
+18446744073709551615 < 65535
+false
+18446744073709551615 < 65536
+false
+18446744073709551615 < 4294967295
+false
+18446744073709551615 < 4294967296
+false
+18446744073709551615 < 18446744073709551615
+false
+18446744073709551615 < 18446744073709551616
+true
+18446744073709551615 < 340282366920938463463374607431768211455
+true
+18446744073709551615 < 340282366920938463463374607431768211456
+true
+18446744073709551616 < -170141183460469231731687303715884105728
+false
+18446744073709551616 < -170141183460469231731687303715884105727
+false
+18446744073709551616 < -9223372036854775808
+false
+18446744073709551616 < -9223372036854775807
+false
+18446744073709551616 < -2147483648
+false
+18446744073709551616 < -2147483647
+false
+18446744073709551616 < -32768
+false
+18446744073709551616 < -32767
+false
+18446744073709551616 < -128
+false
+18446744073709551616 < -127
+false
+18446744073709551616 < 255
+false
+18446744073709551616 < 256
+false
+18446744073709551616 < 65535
+false
+18446744073709551616 < 65536
+false
+18446744073709551616 < 4294967295
+false
+18446744073709551616 < 4294967296
+false
+18446744073709551616 < 18446744073709551615
+false
+18446744073709551616 < 18446744073709551616
+false
+18446744073709551616 < 340282366920938463463374607431768211455
+true
+18446744073709551616 < 340282366920938463463374607431768211456
+true
+340282366920938463463374607431768211455 < -170141183460469231731687303715884105728
+false
+340282366920938463463374607431768211455 < -170141183460469231731687303715884105727
+false
+340282366920938463463374607431768211455 < -9223372036854775808
+false
+340282366920938463463374607431768211455 < -9223372036854775807
+false
+340282366920938463463374607431768211455 < -2147483648
+false
+340282366920938463463374607431768211455 < -2147483647
+false
+340282366920938463463374607431768211455 < -32768
+false
+340282366920938463463374607431768211455 < -32767
+false
+340282366920938463463374607431768211455 < -128
+false
+340282366920938463463374607431768211455 < -127
+false
+340282366920938463463374607431768211455 < 255
+false
+340282366920938463463374607431768211455 < 256
+false
+340282366920938463463374607431768211455 < 65535
+false
+340282366920938463463374607431768211455 < 65536
+false
+340282366920938463463374607431768211455 < 4294967295
+false
+340282366920938463463374607431768211455 < 4294967296
+false
+340282366920938463463374607431768211455 < 18446744073709551615
+false
+340282366920938463463374607431768211455 < 18446744073709551616
+false
+340282366920938463463374607431768211455 < 340282366920938463463374607431768211455
+false
+340282366920938463463374607431768211455 < 340282366920938463463374607431768211456
+true
+340282366920938463463374607431768211456 < -170141183460469231731687303715884105728
+false
+340282366920938463463374607431768211456 < -170141183460469231731687303715884105727
+false
+340282366920938463463374607431768211456 < -9223372036854775808
+false
+340282366920938463463374607431768211456 < -9223372036854775807
+false
+340282366920938463463374607431768211456 < -2147483648
+false
+340282366920938463463374607431768211456 < -2147483647
+false
+340282366920938463463374607431768211456 < -32768
+false
+340282366920938463463374607431768211456 < -32767
+false
+340282366920938463463374607431768211456 < -128
+false
+340282366920938463463374607431768211456 < -127
+false
+340282366920938463463374607431768211456 < 255
+false
+340282366920938463463374607431768211456 < 256
+false
+340282366920938463463374607431768211456 < 65535
+false
+340282366920938463463374607431768211456 < 65536
+false
+340282366920938463463374607431768211456 < 4294967295
+false
+340282366920938463463374607431768211456 < 4294967296
+false
+340282366920938463463374607431768211456 < 18446744073709551615
+false
+340282366920938463463374607431768211456 < 18446744073709551616
+false
+340282366920938463463374607431768211456 < 340282366920938463463374607431768211455
+false
+340282366920938463463374607431768211456 < 340282366920938463463374607431768211456
+false
diff --git a/test/ic3/integer_lt_2.ret.expected b/test/ic3/integer_lt_2.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_lt_2.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_mod.in b/test/ic3/integer_mod.in
deleted file mode 100644
index a434d2f..0000000
--- a/test/ic3/integer_mod.in
+++ /dev/null
@@ -1,800 +0,0 @@
-quote -170141183460469231731687303715884105728 mod -170141183460469231731687303715884105728
--170141183460469231731687303715884105728 mod -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105728 mod -170141183460469231731687303715884105727
--170141183460469231731687303715884105728 mod -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105728 mod -9223372036854775808
--170141183460469231731687303715884105728 mod -9223372036854775808
-quote -170141183460469231731687303715884105728 mod -9223372036854775807
--170141183460469231731687303715884105728 mod -9223372036854775807
-quote -170141183460469231731687303715884105728 mod -2147483648
--170141183460469231731687303715884105728 mod -2147483648
-quote -170141183460469231731687303715884105728 mod -2147483647
--170141183460469231731687303715884105728 mod -2147483647
-quote -170141183460469231731687303715884105728 mod -32768
--170141183460469231731687303715884105728 mod -32768
-quote -170141183460469231731687303715884105728 mod -32767
--170141183460469231731687303715884105728 mod -32767
-quote -170141183460469231731687303715884105728 mod -128
--170141183460469231731687303715884105728 mod -128
-quote -170141183460469231731687303715884105728 mod -127
--170141183460469231731687303715884105728 mod -127
-quote -170141183460469231731687303715884105728 mod 255
--170141183460469231731687303715884105728 mod 255
-quote -170141183460469231731687303715884105728 mod 256
--170141183460469231731687303715884105728 mod 256
-quote -170141183460469231731687303715884105728 mod 65535
--170141183460469231731687303715884105728 mod 65535
-quote -170141183460469231731687303715884105728 mod 65536
--170141183460469231731687303715884105728 mod 65536
-quote -170141183460469231731687303715884105728 mod 4294967295
--170141183460469231731687303715884105728 mod 4294967295
-quote -170141183460469231731687303715884105728 mod 4294967296
--170141183460469231731687303715884105728 mod 4294967296
-quote -170141183460469231731687303715884105728 mod 18446744073709551615
--170141183460469231731687303715884105728 mod 18446744073709551615
-quote -170141183460469231731687303715884105728 mod 18446744073709551616
--170141183460469231731687303715884105728 mod 18446744073709551616
-quote -170141183460469231731687303715884105728 mod 340282366920938463463374607431768211455
--170141183460469231731687303715884105728 mod 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105728 mod 340282366920938463463374607431768211456
--170141183460469231731687303715884105728 mod 340282366920938463463374607431768211456
-quote -170141183460469231731687303715884105727 mod -170141183460469231731687303715884105728
--170141183460469231731687303715884105727 mod -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105727 mod -170141183460469231731687303715884105727
--170141183460469231731687303715884105727 mod -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105727 mod -9223372036854775808
--170141183460469231731687303715884105727 mod -9223372036854775808
-quote -170141183460469231731687303715884105727 mod -9223372036854775807
--170141183460469231731687303715884105727 mod -9223372036854775807
-quote -170141183460469231731687303715884105727 mod -2147483648
--170141183460469231731687303715884105727 mod -2147483648
-quote -170141183460469231731687303715884105727 mod -2147483647
--170141183460469231731687303715884105727 mod -2147483647
-quote -170141183460469231731687303715884105727 mod -32768
--170141183460469231731687303715884105727 mod -32768
-quote -170141183460469231731687303715884105727 mod -32767
--170141183460469231731687303715884105727 mod -32767
-quote -170141183460469231731687303715884105727 mod -128
--170141183460469231731687303715884105727 mod -128
-quote -170141183460469231731687303715884105727 mod -127
--170141183460469231731687303715884105727 mod -127
-quote -170141183460469231731687303715884105727 mod 255
--170141183460469231731687303715884105727 mod 255
-quote -170141183460469231731687303715884105727 mod 256
--170141183460469231731687303715884105727 mod 256
-quote -170141183460469231731687303715884105727 mod 65535
--170141183460469231731687303715884105727 mod 65535
-quote -170141183460469231731687303715884105727 mod 65536
--170141183460469231731687303715884105727 mod 65536
-quote -170141183460469231731687303715884105727 mod 4294967295
--170141183460469231731687303715884105727 mod 4294967295
-quote -170141183460469231731687303715884105727 mod 4294967296
--170141183460469231731687303715884105727 mod 4294967296
-quote -170141183460469231731687303715884105727 mod 18446744073709551615
--170141183460469231731687303715884105727 mod 18446744073709551615
-quote -170141183460469231731687303715884105727 mod 18446744073709551616
--170141183460469231731687303715884105727 mod 18446744073709551616
-quote -170141183460469231731687303715884105727 mod 340282366920938463463374607431768211455
--170141183460469231731687303715884105727 mod 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105727 mod 340282366920938463463374607431768211456
--170141183460469231731687303715884105727 mod 340282366920938463463374607431768211456
-quote -9223372036854775808 mod -170141183460469231731687303715884105728
--9223372036854775808 mod -170141183460469231731687303715884105728
-quote -9223372036854775808 mod -170141183460469231731687303715884105727
--9223372036854775808 mod -170141183460469231731687303715884105727
-quote -9223372036854775808 mod -9223372036854775808
--9223372036854775808 mod -9223372036854775808
-quote -9223372036854775808 mod -9223372036854775807
--9223372036854775808 mod -9223372036854775807
-quote -9223372036854775808 mod -2147483648
--9223372036854775808 mod -2147483648
-quote -9223372036854775808 mod -2147483647
--9223372036854775808 mod -2147483647
-quote -9223372036854775808 mod -32768
--9223372036854775808 mod -32768
-quote -9223372036854775808 mod -32767
--9223372036854775808 mod -32767
-quote -9223372036854775808 mod -128
--9223372036854775808 mod -128
-quote -9223372036854775808 mod -127
--9223372036854775808 mod -127
-quote -9223372036854775808 mod 255
--9223372036854775808 mod 255
-quote -9223372036854775808 mod 256
--9223372036854775808 mod 256
-quote -9223372036854775808 mod 65535
--9223372036854775808 mod 65535
-quote -9223372036854775808 mod 65536
--9223372036854775808 mod 65536
-quote -9223372036854775808 mod 4294967295
--9223372036854775808 mod 4294967295
-quote -9223372036854775808 mod 4294967296
--9223372036854775808 mod 4294967296
-quote -9223372036854775808 mod 18446744073709551615
--9223372036854775808 mod 18446744073709551615
-quote -9223372036854775808 mod 18446744073709551616
--9223372036854775808 mod 18446744073709551616
-quote -9223372036854775808 mod 340282366920938463463374607431768211455
--9223372036854775808 mod 340282366920938463463374607431768211455
-quote -9223372036854775808 mod 340282366920938463463374607431768211456
--9223372036854775808 mod 340282366920938463463374607431768211456
-quote -9223372036854775807 mod -170141183460469231731687303715884105728
--9223372036854775807 mod -170141183460469231731687303715884105728
-quote -9223372036854775807 mod -170141183460469231731687303715884105727
--9223372036854775807 mod -170141183460469231731687303715884105727
-quote -9223372036854775807 mod -9223372036854775808
--9223372036854775807 mod -9223372036854775808
-quote -9223372036854775807 mod -9223372036854775807
--9223372036854775807 mod -9223372036854775807
-quote -9223372036854775807 mod -2147483648
--9223372036854775807 mod -2147483648
-quote -9223372036854775807 mod -2147483647
--9223372036854775807 mod -2147483647
-quote -9223372036854775807 mod -32768
--9223372036854775807 mod -32768
-quote -9223372036854775807 mod -32767
--9223372036854775807 mod -32767
-quote -9223372036854775807 mod -128
--9223372036854775807 mod -128
-quote -9223372036854775807 mod -127
--9223372036854775807 mod -127
-quote -9223372036854775807 mod 255
--9223372036854775807 mod 255
-quote -9223372036854775807 mod 256
--9223372036854775807 mod 256
-quote -9223372036854775807 mod 65535
--9223372036854775807 mod 65535
-quote -9223372036854775807 mod 65536
--9223372036854775807 mod 65536
-quote -9223372036854775807 mod 4294967295
--9223372036854775807 mod 4294967295
-quote -9223372036854775807 mod 4294967296
--9223372036854775807 mod 4294967296
-quote -9223372036854775807 mod 18446744073709551615
--9223372036854775807 mod 18446744073709551615
-quote -9223372036854775807 mod 18446744073709551616
--9223372036854775807 mod 18446744073709551616
-quote -9223372036854775807 mod 340282366920938463463374607431768211455
--9223372036854775807 mod 340282366920938463463374607431768211455
-quote -9223372036854775807 mod 340282366920938463463374607431768211456
--9223372036854775807 mod 340282366920938463463374607431768211456
-quote -2147483648 mod -170141183460469231731687303715884105728
--2147483648 mod -170141183460469231731687303715884105728
-quote -2147483648 mod -170141183460469231731687303715884105727
--2147483648 mod -170141183460469231731687303715884105727
-quote -2147483648 mod -9223372036854775808
--2147483648 mod -9223372036854775808
-quote -2147483648 mod -9223372036854775807
--2147483648 mod -9223372036854775807
-quote -2147483648 mod -2147483648
--2147483648 mod -2147483648
-quote -2147483648 mod -2147483647
--2147483648 mod -2147483647
-quote -2147483648 mod -32768
--2147483648 mod -32768
-quote -2147483648 mod -32767
--2147483648 mod -32767
-quote -2147483648 mod -128
--2147483648 mod -128
-quote -2147483648 mod -127
--2147483648 mod -127
-quote -2147483648 mod 255
--2147483648 mod 255
-quote -2147483648 mod 256
--2147483648 mod 256
-quote -2147483648 mod 65535
--2147483648 mod 65535
-quote -2147483648 mod 65536
--2147483648 mod 65536
-quote -2147483648 mod 4294967295
--2147483648 mod 4294967295
-quote -2147483648 mod 4294967296
--2147483648 mod 4294967296
-quote -2147483648 mod 18446744073709551615
--2147483648 mod 18446744073709551615
-quote -2147483648 mod 18446744073709551616
--2147483648 mod 18446744073709551616
-quote -2147483648 mod 340282366920938463463374607431768211455
--2147483648 mod 340282366920938463463374607431768211455
-quote -2147483648 mod 340282366920938463463374607431768211456
--2147483648 mod 340282366920938463463374607431768211456
-quote -2147483647 mod -170141183460469231731687303715884105728
--2147483647 mod -170141183460469231731687303715884105728
-quote -2147483647 mod -170141183460469231731687303715884105727
--2147483647 mod -170141183460469231731687303715884105727
-quote -2147483647 mod -9223372036854775808
--2147483647 mod -9223372036854775808
-quote -2147483647 mod -9223372036854775807
--2147483647 mod -9223372036854775807
-quote -2147483647 mod -2147483648
--2147483647 mod -2147483648
-quote -2147483647 mod -2147483647
--2147483647 mod -2147483647
-quote -2147483647 mod -32768
--2147483647 mod -32768
-quote -2147483647 mod -32767
--2147483647 mod -32767
-quote -2147483647 mod -128
--2147483647 mod -128
-quote -2147483647 mod -127
--2147483647 mod -127
-quote -2147483647 mod 255
--2147483647 mod 255
-quote -2147483647 mod 256
--2147483647 mod 256
-quote -2147483647 mod 65535
--2147483647 mod 65535
-quote -2147483647 mod 65536
--2147483647 mod 65536
-quote -2147483647 mod 4294967295
--2147483647 mod 4294967295
-quote -2147483647 mod 4294967296
--2147483647 mod 4294967296
-quote -2147483647 mod 18446744073709551615
--2147483647 mod 18446744073709551615
-quote -2147483647 mod 18446744073709551616
--2147483647 mod 18446744073709551616
-quote -2147483647 mod 340282366920938463463374607431768211455
--2147483647 mod 340282366920938463463374607431768211455
-quote -2147483647 mod 340282366920938463463374607431768211456
--2147483647 mod 340282366920938463463374607431768211456
-quote -32768 mod -170141183460469231731687303715884105728
--32768 mod -170141183460469231731687303715884105728
-quote -32768 mod -170141183460469231731687303715884105727
--32768 mod -170141183460469231731687303715884105727
-quote -32768 mod -9223372036854775808
--32768 mod -9223372036854775808
-quote -32768 mod -9223372036854775807
--32768 mod -9223372036854775807
-quote -32768 mod -2147483648
--32768 mod -2147483648
-quote -32768 mod -2147483647
--32768 mod -2147483647
-quote -32768 mod -32768
--32768 mod -32768
-quote -32768 mod -32767
--32768 mod -32767
-quote -32768 mod -128
--32768 mod -128
-quote -32768 mod -127
--32768 mod -127
-quote -32768 mod 255
--32768 mod 255
-quote -32768 mod 256
--32768 mod 256
-quote -32768 mod 65535
--32768 mod 65535
-quote -32768 mod 65536
--32768 mod 65536
-quote -32768 mod 4294967295
--32768 mod 4294967295
-quote -32768 mod 4294967296
--32768 mod 4294967296
-quote -32768 mod 18446744073709551615
--32768 mod 18446744073709551615
-quote -32768 mod 18446744073709551616
--32768 mod 18446744073709551616
-quote -32768 mod 340282366920938463463374607431768211455
--32768 mod 340282366920938463463374607431768211455
-quote -32768 mod 340282366920938463463374607431768211456
--32768 mod 340282366920938463463374607431768211456
-quote -32767 mod -170141183460469231731687303715884105728
--32767 mod -170141183460469231731687303715884105728
-quote -32767 mod -170141183460469231731687303715884105727
--32767 mod -170141183460469231731687303715884105727
-quote -32767 mod -9223372036854775808
--32767 mod -9223372036854775808
-quote -32767 mod -9223372036854775807
--32767 mod -9223372036854775807
-quote -32767 mod -2147483648
--32767 mod -2147483648
-quote -32767 mod -2147483647
--32767 mod -2147483647
-quote -32767 mod -32768
--32767 mod -32768
-quote -32767 mod -32767
--32767 mod -32767
-quote -32767 mod -128
--32767 mod -128
-quote -32767 mod -127
--32767 mod -127
-quote -32767 mod 255
--32767 mod 255
-quote -32767 mod 256
--32767 mod 256
-quote -32767 mod 65535
--32767 mod 65535
-quote -32767 mod 65536
--32767 mod 65536
-quote -32767 mod 4294967295
--32767 mod 4294967295
-quote -32767 mod 4294967296
--32767 mod 4294967296
-quote -32767 mod 18446744073709551615
--32767 mod 18446744073709551615
-quote -32767 mod 18446744073709551616
--32767 mod 18446744073709551616
-quote -32767 mod 340282366920938463463374607431768211455
--32767 mod 340282366920938463463374607431768211455
-quote -32767 mod 340282366920938463463374607431768211456
--32767 mod 340282366920938463463374607431768211456
-quote -128 mod -170141183460469231731687303715884105728
--128 mod -170141183460469231731687303715884105728
-quote -128 mod -170141183460469231731687303715884105727
--128 mod -170141183460469231731687303715884105727
-quote -128 mod -9223372036854775808
--128 mod -9223372036854775808
-quote -128 mod -9223372036854775807
--128 mod -9223372036854775807
-quote -128 mod -2147483648
--128 mod -2147483648
-quote -128 mod -2147483647
--128 mod -2147483647
-quote -128 mod -32768
--128 mod -32768
-quote -128 mod -32767
--128 mod -32767
-quote -128 mod -128
--128 mod -128
-quote -128 mod -127
--128 mod -127
-quote -128 mod 255
--128 mod 255
-quote -128 mod 256
--128 mod 256
-quote -128 mod 65535
--128 mod 65535
-quote -128 mod 65536
--128 mod 65536
-quote -128 mod 4294967295
--128 mod 4294967295
-quote -128 mod 4294967296
--128 mod 4294967296
-quote -128 mod 18446744073709551615
--128 mod 18446744073709551615
-quote -128 mod 18446744073709551616
--128 mod 18446744073709551616
-quote -128 mod 340282366920938463463374607431768211455
--128 mod 340282366920938463463374607431768211455
-quote -128 mod 340282366920938463463374607431768211456
--128 mod 340282366920938463463374607431768211456
-quote -127 mod -170141183460469231731687303715884105728
--127 mod -170141183460469231731687303715884105728
-quote -127 mod -170141183460469231731687303715884105727
--127 mod -170141183460469231731687303715884105727
-quote -127 mod -9223372036854775808
--127 mod -9223372036854775808
-quote -127 mod -9223372036854775807
--127 mod -9223372036854775807
-quote -127 mod -2147483648
--127 mod -2147483648
-quote -127 mod -2147483647
--127 mod -2147483647
-quote -127 mod -32768
--127 mod -32768
-quote -127 mod -32767
--127 mod -32767
-quote -127 mod -128
--127 mod -128
-quote -127 mod -127
--127 mod -127
-quote -127 mod 255
--127 mod 255
-quote -127 mod 256
--127 mod 256
-quote -127 mod 65535
--127 mod 65535
-quote -127 mod 65536
--127 mod 65536
-quote -127 mod 4294967295
--127 mod 4294967295
-quote -127 mod 4294967296
--127 mod 4294967296
-quote -127 mod 18446744073709551615
--127 mod 18446744073709551615
-quote -127 mod 18446744073709551616
--127 mod 18446744073709551616
-quote -127 mod 340282366920938463463374607431768211455
--127 mod 340282366920938463463374607431768211455
-quote -127 mod 340282366920938463463374607431768211456
--127 mod 340282366920938463463374607431768211456
-quote 255 mod -170141183460469231731687303715884105728
-255 mod -170141183460469231731687303715884105728
-quote 255 mod -170141183460469231731687303715884105727
-255 mod -170141183460469231731687303715884105727
-quote 255 mod -9223372036854775808
-255 mod -9223372036854775808
-quote 255 mod -9223372036854775807
-255 mod -9223372036854775807
-quote 255 mod -2147483648
-255 mod -2147483648
-quote 255 mod -2147483647
-255 mod -2147483647
-quote 255 mod -32768
-255 mod -32768
-quote 255 mod -32767
-255 mod -32767
-quote 255 mod -128
-255 mod -128
-quote 255 mod -127
-255 mod -127
-quote 255 mod 255
-255 mod 255
-quote 255 mod 256
-255 mod 256
-quote 255 mod 65535
-255 mod 65535
-quote 255 mod 65536
-255 mod 65536
-quote 255 mod 4294967295
-255 mod 4294967295
-quote 255 mod 4294967296
-255 mod 4294967296
-quote 255 mod 18446744073709551615
-255 mod 18446744073709551615
-quote 255 mod 18446744073709551616
-255 mod 18446744073709551616
-quote 255 mod 340282366920938463463374607431768211455
-255 mod 340282366920938463463374607431768211455
-quote 255 mod 340282366920938463463374607431768211456
-255 mod 340282366920938463463374607431768211456
-quote 256 mod -170141183460469231731687303715884105728
-256 mod -170141183460469231731687303715884105728
-quote 256 mod -170141183460469231731687303715884105727
-256 mod -170141183460469231731687303715884105727
-quote 256 mod -9223372036854775808
-256 mod -9223372036854775808
-quote 256 mod -9223372036854775807
-256 mod -9223372036854775807
-quote 256 mod -2147483648
-256 mod -2147483648
-quote 256 mod -2147483647
-256 mod -2147483647
-quote 256 mod -32768
-256 mod -32768
-quote 256 mod -32767
-256 mod -32767
-quote 256 mod -128
-256 mod -128
-quote 256 mod -127
-256 mod -127
-quote 256 mod 255
-256 mod 255
-quote 256 mod 256
-256 mod 256
-quote 256 mod 65535
-256 mod 65535
-quote 256 mod 65536
-256 mod 65536
-quote 256 mod 4294967295
-256 mod 4294967295
-quote 256 mod 4294967296
-256 mod 4294967296
-quote 256 mod 18446744073709551615
-256 mod 18446744073709551615
-quote 256 mod 18446744073709551616
-256 mod 18446744073709551616
-quote 256 mod 340282366920938463463374607431768211455
-256 mod 340282366920938463463374607431768211455
-quote 256 mod 340282366920938463463374607431768211456
-256 mod 340282366920938463463374607431768211456
-quote 65535 mod -170141183460469231731687303715884105728
-65535 mod -170141183460469231731687303715884105728
-quote 65535 mod -170141183460469231731687303715884105727
-65535 mod -170141183460469231731687303715884105727
-quote 65535 mod -9223372036854775808
-65535 mod -9223372036854775808
-quote 65535 mod -9223372036854775807
-65535 mod -9223372036854775807
-quote 65535 mod -2147483648
-65535 mod -2147483648
-quote 65535 mod -2147483647
-65535 mod -2147483647
-quote 65535 mod -32768
-65535 mod -32768
-quote 65535 mod -32767
-65535 mod -32767
-quote 65535 mod -128
-65535 mod -128
-quote 65535 mod -127
-65535 mod -127
-quote 65535 mod 255
-65535 mod 255
-quote 65535 mod 256
-65535 mod 256
-quote 65535 mod 65535
-65535 mod 65535
-quote 65535 mod 65536
-65535 mod 65536
-quote 65535 mod 4294967295
-65535 mod 4294967295
-quote 65535 mod 4294967296
-65535 mod 4294967296
-quote 65535 mod 18446744073709551615
-65535 mod 18446744073709551615
-quote 65535 mod 18446744073709551616
-65535 mod 18446744073709551616
-quote 65535 mod 340282366920938463463374607431768211455
-65535 mod 340282366920938463463374607431768211455
-quote 65535 mod 340282366920938463463374607431768211456
-65535 mod 340282366920938463463374607431768211456
-quote 65536 mod -170141183460469231731687303715884105728
-65536 mod -170141183460469231731687303715884105728
-quote 65536 mod -170141183460469231731687303715884105727
-65536 mod -170141183460469231731687303715884105727
-quote 65536 mod -9223372036854775808
-65536 mod -9223372036854775808
-quote 65536 mod -9223372036854775807
-65536 mod -9223372036854775807
-quote 65536 mod -2147483648
-65536 mod -2147483648
-quote 65536 mod -2147483647
-65536 mod -2147483647
-quote 65536 mod -32768
-65536 mod -32768
-quote 65536 mod -32767
-65536 mod -32767
-quote 65536 mod -128
-65536 mod -128
-quote 65536 mod -127
-65536 mod -127
-quote 65536 mod 255
-65536 mod 255
-quote 65536 mod 256
-65536 mod 256
-quote 65536 mod 65535
-65536 mod 65535
-quote 65536 mod 65536
-65536 mod 65536
-quote 65536 mod 4294967295
-65536 mod 4294967295
-quote 65536 mod 4294967296
-65536 mod 4294967296
-quote 65536 mod 18446744073709551615
-65536 mod 18446744073709551615
-quote 65536 mod 18446744073709551616
-65536 mod 18446744073709551616
-quote 65536 mod 340282366920938463463374607431768211455
-65536 mod 340282366920938463463374607431768211455
-quote 65536 mod 340282366920938463463374607431768211456
-65536 mod 340282366920938463463374607431768211456
-quote 4294967295 mod -170141183460469231731687303715884105728
-4294967295 mod -170141183460469231731687303715884105728
-quote 4294967295 mod -170141183460469231731687303715884105727
-4294967295 mod -170141183460469231731687303715884105727
-quote 4294967295 mod -9223372036854775808
-4294967295 mod -9223372036854775808
-quote 4294967295 mod -9223372036854775807
-4294967295 mod -9223372036854775807
-quote 4294967295 mod -2147483648
-4294967295 mod -2147483648
-quote 4294967295 mod -2147483647
-4294967295 mod -2147483647
-quote 4294967295 mod -32768
-4294967295 mod -32768
-quote 4294967295 mod -32767
-4294967295 mod -32767
-quote 4294967295 mod -128
-4294967295 mod -128
-quote 4294967295 mod -127
-4294967295 mod -127
-quote 4294967295 mod 255
-4294967295 mod 255
-quote 4294967295 mod 256
-4294967295 mod 256
-quote 4294967295 mod 65535
-4294967295 mod 65535
-quote 4294967295 mod 65536
-4294967295 mod 65536
-quote 4294967295 mod 4294967295
-4294967295 mod 4294967295
-quote 4294967295 mod 4294967296
-4294967295 mod 4294967296
-quote 4294967295 mod 18446744073709551615
-4294967295 mod 18446744073709551615
-quote 4294967295 mod 18446744073709551616
-4294967295 mod 18446744073709551616
-quote 4294967295 mod 340282366920938463463374607431768211455
-4294967295 mod 340282366920938463463374607431768211455
-quote 4294967295 mod 340282366920938463463374607431768211456
-4294967295 mod 340282366920938463463374607431768211456
-quote 4294967296 mod -170141183460469231731687303715884105728
-4294967296 mod -170141183460469231731687303715884105728
-quote 4294967296 mod -170141183460469231731687303715884105727
-4294967296 mod -170141183460469231731687303715884105727
-quote 4294967296 mod -9223372036854775808
-4294967296 mod -9223372036854775808
-quote 4294967296 mod -9223372036854775807
-4294967296 mod -9223372036854775807
-quote 4294967296 mod -2147483648
-4294967296 mod -2147483648
-quote 4294967296 mod -2147483647
-4294967296 mod -2147483647
-quote 4294967296 mod -32768
-4294967296 mod -32768
-quote 4294967296 mod -32767
-4294967296 mod -32767
-quote 4294967296 mod -128
-4294967296 mod -128
-quote 4294967296 mod -127
-4294967296 mod -127
-quote 4294967296 mod 255
-4294967296 mod 255
-quote 4294967296 mod 256
-4294967296 mod 256
-quote 4294967296 mod 65535
-4294967296 mod 65535
-quote 4294967296 mod 65536
-4294967296 mod 65536
-quote 4294967296 mod 4294967295
-4294967296 mod 4294967295
-quote 4294967296 mod 4294967296
-4294967296 mod 4294967296
-quote 4294967296 mod 18446744073709551615
-4294967296 mod 18446744073709551615
-quote 4294967296 mod 18446744073709551616
-4294967296 mod 18446744073709551616
-quote 4294967296 mod 340282366920938463463374607431768211455
-4294967296 mod 340282366920938463463374607431768211455
-quote 4294967296 mod 340282366920938463463374607431768211456
-4294967296 mod 340282366920938463463374607431768211456
-quote 18446744073709551615 mod -170141183460469231731687303715884105728
-18446744073709551615 mod -170141183460469231731687303715884105728
-quote 18446744073709551615 mod -170141183460469231731687303715884105727
-18446744073709551615 mod -170141183460469231731687303715884105727
-quote 18446744073709551615 mod -9223372036854775808
-18446744073709551615 mod -9223372036854775808
-quote 18446744073709551615 mod -9223372036854775807
-18446744073709551615 mod -9223372036854775807
-quote 18446744073709551615 mod -2147483648
-18446744073709551615 mod -2147483648
-quote 18446744073709551615 mod -2147483647
-18446744073709551615 mod -2147483647
-quote 18446744073709551615 mod -32768
-18446744073709551615 mod -32768
-quote 18446744073709551615 mod -32767
-18446744073709551615 mod -32767
-quote 18446744073709551615 mod -128
-18446744073709551615 mod -128
-quote 18446744073709551615 mod -127
-18446744073709551615 mod -127
-quote 18446744073709551615 mod 255
-18446744073709551615 mod 255
-quote 18446744073709551615 mod 256
-18446744073709551615 mod 256
-quote 18446744073709551615 mod 65535
-18446744073709551615 mod 65535
-quote 18446744073709551615 mod 65536
-18446744073709551615 mod 65536
-quote 18446744073709551615 mod 4294967295
-18446744073709551615 mod 4294967295
-quote 18446744073709551615 mod 4294967296
-18446744073709551615 mod 4294967296
-quote 18446744073709551615 mod 18446744073709551615
-18446744073709551615 mod 18446744073709551615
-quote 18446744073709551615 mod 18446744073709551616
-18446744073709551615 mod 18446744073709551616
-quote 18446744073709551615 mod 340282366920938463463374607431768211455
-18446744073709551615 mod 340282366920938463463374607431768211455
-quote 18446744073709551615 mod 340282366920938463463374607431768211456
-18446744073709551615 mod 340282366920938463463374607431768211456
-quote 18446744073709551616 mod -170141183460469231731687303715884105728
-18446744073709551616 mod -170141183460469231731687303715884105728
-quote 18446744073709551616 mod -170141183460469231731687303715884105727
-18446744073709551616 mod -170141183460469231731687303715884105727
-quote 18446744073709551616 mod -9223372036854775808
-18446744073709551616 mod -9223372036854775808
-quote 18446744073709551616 mod -9223372036854775807
-18446744073709551616 mod -9223372036854775807
-quote 18446744073709551616 mod -2147483648
-18446744073709551616 mod -2147483648
-quote 18446744073709551616 mod -2147483647
-18446744073709551616 mod -2147483647
-quote 18446744073709551616 mod -32768
-18446744073709551616 mod -32768
-quote 18446744073709551616 mod -32767
-18446744073709551616 mod -32767
-quote 18446744073709551616 mod -128
-18446744073709551616 mod -128
-quote 18446744073709551616 mod -127
-18446744073709551616 mod -127
-quote 18446744073709551616 mod 255
-18446744073709551616 mod 255
-quote 18446744073709551616 mod 256
-18446744073709551616 mod 256
-quote 18446744073709551616 mod 65535
-18446744073709551616 mod 65535
-quote 18446744073709551616 mod 65536
-18446744073709551616 mod 65536
-quote 18446744073709551616 mod 4294967295
-18446744073709551616 mod 4294967295
-quote 18446744073709551616 mod 4294967296
-18446744073709551616 mod 4294967296
-quote 18446744073709551616 mod 18446744073709551615
-18446744073709551616 mod 18446744073709551615
-quote 18446744073709551616 mod 18446744073709551616
-18446744073709551616 mod 18446744073709551616
-quote 18446744073709551616 mod 340282366920938463463374607431768211455
-18446744073709551616 mod 340282366920938463463374607431768211455
-quote 18446744073709551616 mod 340282366920938463463374607431768211456
-18446744073709551616 mod 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211455 mod -170141183460469231731687303715884105728
-340282366920938463463374607431768211455 mod -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211455 mod -170141183460469231731687303715884105727
-340282366920938463463374607431768211455 mod -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211455 mod -9223372036854775808
-340282366920938463463374607431768211455 mod -9223372036854775808
-quote 340282366920938463463374607431768211455 mod -9223372036854775807
-340282366920938463463374607431768211455 mod -9223372036854775807
-quote 340282366920938463463374607431768211455 mod -2147483648
-340282366920938463463374607431768211455 mod -2147483648
-quote 340282366920938463463374607431768211455 mod -2147483647
-340282366920938463463374607431768211455 mod -2147483647
-quote 340282366920938463463374607431768211455 mod -32768
-340282366920938463463374607431768211455 mod -32768
-quote 340282366920938463463374607431768211455 mod -32767
-340282366920938463463374607431768211455 mod -32767
-quote 340282366920938463463374607431768211455 mod -128
-340282366920938463463374607431768211455 mod -128
-quote 340282366920938463463374607431768211455 mod -127
-340282366920938463463374607431768211455 mod -127
-quote 340282366920938463463374607431768211455 mod 255
-340282366920938463463374607431768211455 mod 255
-quote 340282366920938463463374607431768211455 mod 256
-340282366920938463463374607431768211455 mod 256
-quote 340282366920938463463374607431768211455 mod 65535
-340282366920938463463374607431768211455 mod 65535
-quote 340282366920938463463374607431768211455 mod 65536
-340282366920938463463374607431768211455 mod 65536
-quote 340282366920938463463374607431768211455 mod 4294967295
-340282366920938463463374607431768211455 mod 4294967295
-quote 340282366920938463463374607431768211455 mod 4294967296
-340282366920938463463374607431768211455 mod 4294967296
-quote 340282366920938463463374607431768211455 mod 18446744073709551615
-340282366920938463463374607431768211455 mod 18446744073709551615
-quote 340282366920938463463374607431768211455 mod 18446744073709551616
-340282366920938463463374607431768211455 mod 18446744073709551616
-quote 340282366920938463463374607431768211455 mod 340282366920938463463374607431768211455
-340282366920938463463374607431768211455 mod 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211455 mod 340282366920938463463374607431768211456
-340282366920938463463374607431768211455 mod 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211456 mod -170141183460469231731687303715884105728
-340282366920938463463374607431768211456 mod -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211456 mod -170141183460469231731687303715884105727
-340282366920938463463374607431768211456 mod -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211456 mod -9223372036854775808
-340282366920938463463374607431768211456 mod -9223372036854775808
-quote 340282366920938463463374607431768211456 mod -9223372036854775807
-340282366920938463463374607431768211456 mod -9223372036854775807
-quote 340282366920938463463374607431768211456 mod -2147483648
-340282366920938463463374607431768211456 mod -2147483648
-quote 340282366920938463463374607431768211456 mod -2147483647
-340282366920938463463374607431768211456 mod -2147483647
-quote 340282366920938463463374607431768211456 mod -32768
-340282366920938463463374607431768211456 mod -32768
-quote 340282366920938463463374607431768211456 mod -32767
-340282366920938463463374607431768211456 mod -32767
-quote 340282366920938463463374607431768211456 mod -128
-340282366920938463463374607431768211456 mod -128
-quote 340282366920938463463374607431768211456 mod -127
-340282366920938463463374607431768211456 mod -127
-quote 340282366920938463463374607431768211456 mod 255
-340282366920938463463374607431768211456 mod 255
-quote 340282366920938463463374607431768211456 mod 256
-340282366920938463463374607431768211456 mod 256
-quote 340282366920938463463374607431768211456 mod 65535
-340282366920938463463374607431768211456 mod 65535
-quote 340282366920938463463374607431768211456 mod 65536
-340282366920938463463374607431768211456 mod 65536
-quote 340282366920938463463374607431768211456 mod 4294967295
-340282366920938463463374607431768211456 mod 4294967295
-quote 340282366920938463463374607431768211456 mod 4294967296
-340282366920938463463374607431768211456 mod 4294967296
-quote 340282366920938463463374607431768211456 mod 18446744073709551615
-340282366920938463463374607431768211456 mod 18446744073709551615
-quote 340282366920938463463374607431768211456 mod 18446744073709551616
-340282366920938463463374607431768211456 mod 18446744073709551616
-quote 340282366920938463463374607431768211456 mod 340282366920938463463374607431768211455
-340282366920938463463374607431768211456 mod 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211456 mod 340282366920938463463374607431768211456
-340282366920938463463374607431768211456 mod 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_mod.out.expected b/test/ic3/integer_mod.out.expected
deleted file mode 100644
index e8f4f9e..0000000
--- a/test/ic3/integer_mod.out.expected
+++ /dev/null
@@ -1,800 +0,0 @@
--170141183460469231731687303715884105728 mod -170141183460469231731687303715884105728
-0
--170141183460469231731687303715884105728 mod -170141183460469231731687303715884105727
--1
--170141183460469231731687303715884105728 mod -9223372036854775808
-0
--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
-170141183460469231731687303715884105727
--170141183460469231731687303715884105728 mod 340282366920938463463374607431768211456
-170141183460469231731687303715884105728
--170141183460469231731687303715884105727 mod -170141183460469231731687303715884105728
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727 mod -170141183460469231731687303715884105727
-0
--170141183460469231731687303715884105727 mod -9223372036854775808
--9223372036854775807
--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
-170141183460469231731687303715884105728
--170141183460469231731687303715884105727 mod 340282366920938463463374607431768211456
-170141183460469231731687303715884105729
--9223372036854775808 mod -170141183460469231731687303715884105728
--9223372036854775808
--9223372036854775808 mod -170141183460469231731687303715884105727
--9223372036854775808
--9223372036854775808 mod -9223372036854775808
-0
--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
--9223372036854775807 mod -170141183460469231731687303715884105728
--9223372036854775807
--9223372036854775807 mod -170141183460469231731687303715884105727
--9223372036854775807
--9223372036854775807 mod -9223372036854775808
--9223372036854775807
--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
--9223372036854775807 mod 4294967295
-2147483648
--9223372036854775807 mod 4294967296
-1
--9223372036854775807 mod 18446744073709551615
-9223372036854775808
--9223372036854775807 mod 18446744073709551616
-9223372036854775809
--9223372036854775807 mod 340282366920938463463374607431768211455
-340282366920938463454151235394913435648
--9223372036854775807 mod 340282366920938463463374607431768211456
-340282366920938463454151235394913435649
--2147483648 mod -170141183460469231731687303715884105728
--2147483648
--2147483648 mod -170141183460469231731687303715884105727
--2147483648
--2147483648 mod -9223372036854775808
--2147483648
--2147483648 mod -9223372036854775807
--2147483648
--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
--2147483648 mod 18446744073709551615
-18446744071562067967
--2147483648 mod 18446744073709551616
-18446744071562067968
--2147483648 mod 340282366920938463463374607431768211455
-340282366920938463463374607429620727807
--2147483648 mod 340282366920938463463374607431768211456
-340282366920938463463374607429620727808
--2147483647 mod -170141183460469231731687303715884105728
--2147483647
--2147483647 mod -170141183460469231731687303715884105727
--2147483647
--2147483647 mod -9223372036854775808
--2147483647
--2147483647 mod -9223372036854775807
--2147483647
--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
--2147483647 mod 18446744073709551615
-18446744071562067968
--2147483647 mod 18446744073709551616
-18446744071562067969
--2147483647 mod 340282366920938463463374607431768211455
-340282366920938463463374607429620727808
--2147483647 mod 340282366920938463463374607431768211456
-340282366920938463463374607429620727809
--32768 mod -170141183460469231731687303715884105728
--32768
--32768 mod -170141183460469231731687303715884105727
--32768
--32768 mod -9223372036854775808
--32768
--32768 mod -9223372036854775807
--32768
--32768 mod -2147483648
--32768
--32768 mod -2147483647
--32768
--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
--32768 mod 18446744073709551615
-18446744073709518847
--32768 mod 18446744073709551616
-18446744073709518848
--32768 mod 340282366920938463463374607431768211455
-340282366920938463463374607431768178687
--32768 mod 340282366920938463463374607431768211456
-340282366920938463463374607431768178688
--32767 mod -170141183460469231731687303715884105728
--32767
--32767 mod -170141183460469231731687303715884105727
--32767
--32767 mod -9223372036854775808
--32767
--32767 mod -9223372036854775807
--32767
--32767 mod -2147483648
--32767
--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
--32767 mod 18446744073709551615
-18446744073709518848
--32767 mod 18446744073709551616
-18446744073709518849
--32767 mod 340282366920938463463374607431768211455
-340282366920938463463374607431768178688
--32767 mod 340282366920938463463374607431768211456
-340282366920938463463374607431768178689
--128 mod -170141183460469231731687303715884105728
--128
--128 mod -170141183460469231731687303715884105727
--128
--128 mod -9223372036854775808
--128
--128 mod -9223372036854775807
--128
--128 mod -2147483648
--128
--128 mod -2147483647
--128
--128 mod -32768
--128
--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
--128 mod 18446744073709551615
-18446744073709551487
--128 mod 18446744073709551616
-18446744073709551488
--128 mod 340282366920938463463374607431768211455
-340282366920938463463374607431768211327
--128 mod 340282366920938463463374607431768211456
-340282366920938463463374607431768211328
--127 mod -170141183460469231731687303715884105728
--127
--127 mod -170141183460469231731687303715884105727
--127
--127 mod -9223372036854775808
--127
--127 mod -9223372036854775807
--127
--127 mod -2147483648
--127
--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
--127 mod 18446744073709551615
-18446744073709551488
--127 mod 18446744073709551616
-18446744073709551489
--127 mod 340282366920938463463374607431768211455
-340282366920938463463374607431768211328
--127 mod 340282366920938463463374607431768211456
-340282366920938463463374607431768211329
-255 mod -170141183460469231731687303715884105728
--170141183460469231731687303715884105473
-255 mod -170141183460469231731687303715884105727
--170141183460469231731687303715884105472
-255 mod -9223372036854775808
--9223372036854775553
-255 mod -9223372036854775807
--9223372036854775552
-255 mod -2147483648
--2147483393
-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
-255 mod 65535
-255
-255 mod 65536
-255
-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
-256 mod -170141183460469231731687303715884105727
--170141183460469231731687303715884105471
-256 mod -9223372036854775808
--9223372036854775552
-256 mod -9223372036854775807
--9223372036854775551
-256 mod -2147483648
--2147483392
-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
-256 mod 4294967296
-256
-256 mod 18446744073709551615
-256
-256 mod 18446744073709551616
-256
-256 mod 340282366920938463463374607431768211455
-256
-256 mod 340282366920938463463374607431768211456
-256
-65535 mod -170141183460469231731687303715884105728
--170141183460469231731687303715884040193
-65535 mod -170141183460469231731687303715884105727
--170141183460469231731687303715884040192
-65535 mod -9223372036854775808
--9223372036854710273
-65535 mod -9223372036854775807
--9223372036854710272
-65535 mod -2147483648
--2147418113
-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
-65535 mod 18446744073709551615
-65535
-65535 mod 18446744073709551616
-65535
-65535 mod 340282366920938463463374607431768211455
-65535
-65535 mod 340282366920938463463374607431768211456
-65535
-65536 mod -170141183460469231731687303715884105728
--170141183460469231731687303715884040192
-65536 mod -170141183460469231731687303715884105727
--170141183460469231731687303715884040191
-65536 mod -9223372036854775808
--9223372036854710272
-65536 mod -9223372036854775807
--9223372036854710271
-65536 mod -2147483648
--2147418112
-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
-65536 mod 340282366920938463463374607431768211455
-65536
-65536 mod 340282366920938463463374607431768211456
-65536
-4294967295 mod -170141183460469231731687303715884105728
--170141183460469231731687303711589138433
-4294967295 mod -170141183460469231731687303715884105727
--170141183460469231731687303711589138432
-4294967295 mod -9223372036854775808
--9223372032559808513
-4294967295 mod -9223372036854775807
--9223372032559808512
-4294967295 mod -2147483648
--1
-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
-4294967295 mod 18446744073709551616
-4294967295
-4294967295 mod 340282366920938463463374607431768211455
-4294967295
-4294967295 mod 340282366920938463463374607431768211456
-4294967295
-4294967296 mod -170141183460469231731687303715884105728
--170141183460469231731687303711589138432
-4294967296 mod -170141183460469231731687303715884105727
--170141183460469231731687303711589138431
-4294967296 mod -9223372036854775808
--9223372032559808512
-4294967296 mod -9223372036854775807
--9223372032559808511
-4294967296 mod -2147483648
-0
-4294967296 mod -2147483647
--2147483645
-4294967296 mod -32768
-0
-4294967296 mod -32767
--32763
-4294967296 mod -128
-0
-4294967296 mod -127
--111
-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
-4294967296 mod 340282366920938463463374607431768211455
-4294967296
-4294967296 mod 340282366920938463463374607431768211456
-4294967296
-18446744073709551615 mod -170141183460469231731687303715884105728
--170141183460469231713240559642174554113
-18446744073709551615 mod -170141183460469231731687303715884105727
--170141183460469231713240559642174554112
-18446744073709551615 mod -9223372036854775808
--1
-18446744073709551615 mod -9223372036854775807
--9223372036854775806
-18446744073709551615 mod -2147483648
--1
-18446744073709551615 mod -2147483647
--2147483644
-18446744073709551615 mod -32768
--1
-18446744073709551615 mod -32767
--32752
-18446744073709551615 mod -128
--1
-18446744073709551615 mod -127
--126
-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
-18446744073709551615 mod 340282366920938463463374607431768211455
-18446744073709551615
-18446744073709551615 mod 340282366920938463463374607431768211456
-18446744073709551615
-18446744073709551616 mod -170141183460469231731687303715884105728
--170141183460469231713240559642174554112
-18446744073709551616 mod -170141183460469231731687303715884105727
--170141183460469231713240559642174554111
-18446744073709551616 mod -9223372036854775808
-0
-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
-18446744073709551616
-18446744073709551616 mod 340282366920938463463374607431768211456
-18446744073709551616
-340282366920938463463374607431768211455 mod -170141183460469231731687303715884105728
--1
-340282366920938463463374607431768211455 mod -170141183460469231731687303715884105727
--170141183460469231731687303715884105726
-340282366920938463463374607431768211455 mod -9223372036854775808
--1
-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
-0
-340282366920938463463374607431768211455 mod 340282366920938463463374607431768211456
-340282366920938463463374607431768211455
-340282366920938463463374607431768211456 mod -170141183460469231731687303715884105728
-0
-340282366920938463463374607431768211456 mod -170141183460469231731687303715884105727
--170141183460469231731687303715884105725
-340282366920938463463374607431768211456 mod -9223372036854775808
-0
-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
-1
-340282366920938463463374607431768211456 mod 340282366920938463463374607431768211456
-0
diff --git a/test/ic3/integer_mod.ret.expected b/test/ic3/integer_mod.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/integer_mod.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/integer_mod_2.in b/test/ic3/integer_mod_2.in
new file mode 100644
index 0000000..a434d2f
--- /dev/null
+++ b/test/ic3/integer_mod_2.in
@@ -0,0 +1,800 @@
+quote -170141183460469231731687303715884105728 mod -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 mod -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105728 mod -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 mod -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105728 mod -9223372036854775808
+-170141183460469231731687303715884105728 mod -9223372036854775808
+quote -170141183460469231731687303715884105728 mod -9223372036854775807
+-170141183460469231731687303715884105728 mod -9223372036854775807
+quote -170141183460469231731687303715884105728 mod -2147483648
+-170141183460469231731687303715884105728 mod -2147483648
+quote -170141183460469231731687303715884105728 mod -2147483647
+-170141183460469231731687303715884105728 mod -2147483647
+quote -170141183460469231731687303715884105728 mod -32768
+-170141183460469231731687303715884105728 mod -32768
+quote -170141183460469231731687303715884105728 mod -32767
+-170141183460469231731687303715884105728 mod -32767
+quote -170141183460469231731687303715884105728 mod -128
+-170141183460469231731687303715884105728 mod -128
+quote -170141183460469231731687303715884105728 mod -127
+-170141183460469231731687303715884105728 mod -127
+quote -170141183460469231731687303715884105728 mod 255
+-170141183460469231731687303715884105728 mod 255
+quote -170141183460469231731687303715884105728 mod 256
+-170141183460469231731687303715884105728 mod 256
+quote -170141183460469231731687303715884105728 mod 65535
+-170141183460469231731687303715884105728 mod 65535
+quote -170141183460469231731687303715884105728 mod 65536
+-170141183460469231731687303715884105728 mod 65536
+quote -170141183460469231731687303715884105728 mod 4294967295
+-170141183460469231731687303715884105728 mod 4294967295
+quote -170141183460469231731687303715884105728 mod 4294967296
+-170141183460469231731687303715884105728 mod 4294967296
+quote -170141183460469231731687303715884105728 mod 18446744073709551615
+-170141183460469231731687303715884105728 mod 18446744073709551615
+quote -170141183460469231731687303715884105728 mod 18446744073709551616
+-170141183460469231731687303715884105728 mod 18446744073709551616
+quote -170141183460469231731687303715884105728 mod 340282366920938463463374607431768211455
+-170141183460469231731687303715884105728 mod 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105728 mod 340282366920938463463374607431768211456
+-170141183460469231731687303715884105728 mod 340282366920938463463374607431768211456
+quote -170141183460469231731687303715884105727 mod -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 mod -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105727 mod -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 mod -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105727 mod -9223372036854775808
+-170141183460469231731687303715884105727 mod -9223372036854775808
+quote -170141183460469231731687303715884105727 mod -9223372036854775807
+-170141183460469231731687303715884105727 mod -9223372036854775807
+quote -170141183460469231731687303715884105727 mod -2147483648
+-170141183460469231731687303715884105727 mod -2147483648
+quote -170141183460469231731687303715884105727 mod -2147483647
+-170141183460469231731687303715884105727 mod -2147483647
+quote -170141183460469231731687303715884105727 mod -32768
+-170141183460469231731687303715884105727 mod -32768
+quote -170141183460469231731687303715884105727 mod -32767
+-170141183460469231731687303715884105727 mod -32767
+quote -170141183460469231731687303715884105727 mod -128
+-170141183460469231731687303715884105727 mod -128
+quote -170141183460469231731687303715884105727 mod -127
+-170141183460469231731687303715884105727 mod -127
+quote -170141183460469231731687303715884105727 mod 255
+-170141183460469231731687303715884105727 mod 255
+quote -170141183460469231731687303715884105727 mod 256
+-170141183460469231731687303715884105727 mod 256
+quote -170141183460469231731687303715884105727 mod 65535
+-170141183460469231731687303715884105727 mod 65535
+quote -170141183460469231731687303715884105727 mod 65536
+-170141183460469231731687303715884105727 mod 65536
+quote -170141183460469231731687303715884105727 mod 4294967295
+-170141183460469231731687303715884105727 mod 4294967295
+quote -170141183460469231731687303715884105727 mod 4294967296
+-170141183460469231731687303715884105727 mod 4294967296
+quote -170141183460469231731687303715884105727 mod 18446744073709551615
+-170141183460469231731687303715884105727 mod 18446744073709551615
+quote -170141183460469231731687303715884105727 mod 18446744073709551616
+-170141183460469231731687303715884105727 mod 18446744073709551616
+quote -170141183460469231731687303715884105727 mod 340282366920938463463374607431768211455
+-170141183460469231731687303715884105727 mod 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105727 mod 340282366920938463463374607431768211456
+-170141183460469231731687303715884105727 mod 340282366920938463463374607431768211456
+quote -9223372036854775808 mod -170141183460469231731687303715884105728
+-9223372036854775808 mod -170141183460469231731687303715884105728
+quote -9223372036854775808 mod -170141183460469231731687303715884105727
+-9223372036854775808 mod -170141183460469231731687303715884105727
+quote -9223372036854775808 mod -9223372036854775808
+-9223372036854775808 mod -9223372036854775808
+quote -9223372036854775808 mod -9223372036854775807
+-9223372036854775808 mod -9223372036854775807
+quote -9223372036854775808 mod -2147483648
+-9223372036854775808 mod -2147483648
+quote -9223372036854775808 mod -2147483647
+-9223372036854775808 mod -2147483647
+quote -9223372036854775808 mod -32768
+-9223372036854775808 mod -32768
+quote -9223372036854775808 mod -32767
+-9223372036854775808 mod -32767
+quote -9223372036854775808 mod -128
+-9223372036854775808 mod -128
+quote -9223372036854775808 mod -127
+-9223372036854775808 mod -127
+quote -9223372036854775808 mod 255
+-9223372036854775808 mod 255
+quote -9223372036854775808 mod 256
+-9223372036854775808 mod 256
+quote -9223372036854775808 mod 65535
+-9223372036854775808 mod 65535
+quote -9223372036854775808 mod 65536
+-9223372036854775808 mod 65536
+quote -9223372036854775808 mod 4294967295
+-9223372036854775808 mod 4294967295
+quote -9223372036854775808 mod 4294967296
+-9223372036854775808 mod 4294967296
+quote -9223372036854775808 mod 18446744073709551615
+-9223372036854775808 mod 18446744073709551615
+quote -9223372036854775808 mod 18446744073709551616
+-9223372036854775808 mod 18446744073709551616
+quote -9223372036854775808 mod 340282366920938463463374607431768211455
+-9223372036854775808 mod 340282366920938463463374607431768211455
+quote -9223372036854775808 mod 340282366920938463463374607431768211456
+-9223372036854775808 mod 340282366920938463463374607431768211456
+quote -9223372036854775807 mod -170141183460469231731687303715884105728
+-9223372036854775807 mod -170141183460469231731687303715884105728
+quote -9223372036854775807 mod -170141183460469231731687303715884105727
+-9223372036854775807 mod -170141183460469231731687303715884105727
+quote -9223372036854775807 mod -9223372036854775808
+-9223372036854775807 mod -9223372036854775808
+quote -9223372036854775807 mod -9223372036854775807
+-9223372036854775807 mod -9223372036854775807
+quote -9223372036854775807 mod -2147483648
+-9223372036854775807 mod -2147483648
+quote -9223372036854775807 mod -2147483647
+-9223372036854775807 mod -2147483647
+quote -9223372036854775807 mod -32768
+-9223372036854775807 mod -32768
+quote -9223372036854775807 mod -32767
+-9223372036854775807 mod -32767
+quote -9223372036854775807 mod -128
+-9223372036854775807 mod -128
+quote -9223372036854775807 mod -127
+-9223372036854775807 mod -127
+quote -9223372036854775807 mod 255
+-9223372036854775807 mod 255
+quote -9223372036854775807 mod 256
+-9223372036854775807 mod 256
+quote -9223372036854775807 mod 65535
+-9223372036854775807 mod 65535
+quote -9223372036854775807 mod 65536
+-9223372036854775807 mod 65536
+quote -9223372036854775807 mod 4294967295
+-9223372036854775807 mod 4294967295
+quote -9223372036854775807 mod 4294967296
+-9223372036854775807 mod 4294967296
+quote -9223372036854775807 mod 18446744073709551615
+-9223372036854775807 mod 18446744073709551615
+quote -9223372036854775807 mod 18446744073709551616
+-9223372036854775807 mod 18446744073709551616
+quote -9223372036854775807 mod 340282366920938463463374607431768211455
+-9223372036854775807 mod 340282366920938463463374607431768211455
+quote -9223372036854775807 mod 340282366920938463463374607431768211456
+-9223372036854775807 mod 340282366920938463463374607431768211456
+quote -2147483648 mod -170141183460469231731687303715884105728
+-2147483648 mod -170141183460469231731687303715884105728
+quote -2147483648 mod -170141183460469231731687303715884105727
+-2147483648 mod -170141183460469231731687303715884105727
+quote -2147483648 mod -9223372036854775808
+-2147483648 mod -9223372036854775808
+quote -2147483648 mod -9223372036854775807
+-2147483648 mod -9223372036854775807
+quote -2147483648 mod -2147483648
+-2147483648 mod -2147483648
+quote -2147483648 mod -2147483647
+-2147483648 mod -2147483647
+quote -2147483648 mod -32768
+-2147483648 mod -32768
+quote -2147483648 mod -32767
+-2147483648 mod -32767
+quote -2147483648 mod -128
+-2147483648 mod -128
+quote -2147483648 mod -127
+-2147483648 mod -127
+quote -2147483648 mod 255
+-2147483648 mod 255
+quote -2147483648 mod 256
+-2147483648 mod 256
+quote -2147483648 mod 65535
+-2147483648 mod 65535
+quote -2147483648 mod 65536
+-2147483648 mod 65536
+quote -2147483648 mod 4294967295
+-2147483648 mod 4294967295
+quote -2147483648 mod 4294967296
+-2147483648 mod 4294967296
+quote -2147483648 mod 18446744073709551615
+-2147483648 mod 18446744073709551615
+quote -2147483648 mod 18446744073709551616
+-2147483648 mod 18446744073709551616
+quote -2147483648 mod 340282366920938463463374607431768211455
+-2147483648 mod 340282366920938463463374607431768211455
+quote -2147483648 mod 340282366920938463463374607431768211456
+-2147483648 mod 340282366920938463463374607431768211456
+quote -2147483647 mod -170141183460469231731687303715884105728
+-2147483647 mod -170141183460469231731687303715884105728
+quote -2147483647 mod -170141183460469231731687303715884105727
+-2147483647 mod -170141183460469231731687303715884105727
+quote -2147483647 mod -9223372036854775808
+-2147483647 mod -9223372036854775808
+quote -2147483647 mod -9223372036854775807
+-2147483647 mod -9223372036854775807
+quote -2147483647 mod -2147483648
+-2147483647 mod -2147483648
+quote -2147483647 mod -2147483647
+-2147483647 mod -2147483647
+quote -2147483647 mod -32768
+-2147483647 mod -32768
+quote -2147483647 mod -32767
+-2147483647 mod -32767
+quote -2147483647 mod -128
+-2147483647 mod -128
+quote -2147483647 mod -127
+-2147483647 mod -127
+quote -2147483647 mod 255
+-2147483647 mod 255
+quote -2147483647 mod 256
+-2147483647 mod 256
+quote -2147483647 mod 65535
+-2147483647 mod 65535
+quote -2147483647 mod 65536
+-2147483647 mod 65536
+quote -2147483647 mod 4294967295
+-2147483647 mod 4294967295
+quote -2147483647 mod 4294967296
+-2147483647 mod 4294967296
+quote -2147483647 mod 18446744073709551615
+-2147483647 mod 18446744073709551615
+quote -2147483647 mod 18446744073709551616
+-2147483647 mod 18446744073709551616
+quote -2147483647 mod 340282366920938463463374607431768211455
+-2147483647 mod 340282366920938463463374607431768211455
+quote -2147483647 mod 340282366920938463463374607431768211456
+-2147483647 mod 340282366920938463463374607431768211456
+quote -32768 mod -170141183460469231731687303715884105728
+-32768 mod -170141183460469231731687303715884105728
+quote -32768 mod -170141183460469231731687303715884105727
+-32768 mod -170141183460469231731687303715884105727
+quote -32768 mod -9223372036854775808
+-32768 mod -9223372036854775808
+quote -32768 mod -9223372036854775807
+-32768 mod -9223372036854775807
+quote -32768 mod -2147483648
+-32768 mod -2147483648
+quote -32768 mod -2147483647
+-32768 mod -2147483647
+quote -32768 mod -32768
+-32768 mod -32768
+quote -32768 mod -32767
+-32768 mod -32767
+quote -32768 mod -128
+-32768 mod -128
+quote -32768 mod -127
+-32768 mod -127
+quote -32768 mod 255
+-32768 mod 255
+quote -32768 mod 256
+-32768 mod 256
+quote -32768 mod 65535
+-32768 mod 65535
+quote -32768 mod 65536
+-32768 mod 65536
+quote -32768 mod 4294967295
+-32768 mod 4294967295
+quote -32768 mod 4294967296
+-32768 mod 4294967296
+quote -32768 mod 18446744073709551615
+-32768 mod 18446744073709551615
+quote -32768 mod 18446744073709551616
+-32768 mod 18446744073709551616
+quote -32768 mod 340282366920938463463374607431768211455
+-32768 mod 340282366920938463463374607431768211455
+quote -32768 mod 340282366920938463463374607431768211456
+-32768 mod 340282366920938463463374607431768211456
+quote -32767 mod -170141183460469231731687303715884105728
+-32767 mod -170141183460469231731687303715884105728
+quote -32767 mod -170141183460469231731687303715884105727
+-32767 mod -170141183460469231731687303715884105727
+quote -32767 mod -9223372036854775808
+-32767 mod -9223372036854775808
+quote -32767 mod -9223372036854775807
+-32767 mod -9223372036854775807
+quote -32767 mod -2147483648
+-32767 mod -2147483648
+quote -32767 mod -2147483647
+-32767 mod -2147483647
+quote -32767 mod -32768
+-32767 mod -32768
+quote -32767 mod -32767
+-32767 mod -32767
+quote -32767 mod -128
+-32767 mod -128
+quote -32767 mod -127
+-32767 mod -127
+quote -32767 mod 255
+-32767 mod 255
+quote -32767 mod 256
+-32767 mod 256
+quote -32767 mod 65535
+-32767 mod 65535
+quote -32767 mod 65536
+-32767 mod 65536
+quote -32767 mod 4294967295
+-32767 mod 4294967295
+quote -32767 mod 4294967296
+-32767 mod 4294967296
+quote -32767 mod 18446744073709551615
+-32767 mod 18446744073709551615
+quote -32767 mod 18446744073709551616
+-32767 mod 18446744073709551616
+quote -32767 mod 340282366920938463463374607431768211455
+-32767 mod 340282366920938463463374607431768211455
+quote -32767 mod 340282366920938463463374607431768211456
+-32767 mod 340282366920938463463374607431768211456
+quote -128 mod -170141183460469231731687303715884105728
+-128 mod -170141183460469231731687303715884105728
+quote -128 mod -170141183460469231731687303715884105727
+-128 mod -170141183460469231731687303715884105727
+quote -128 mod -9223372036854775808
+-128 mod -9223372036854775808
+quote -128 mod -9223372036854775807
+-128 mod -9223372036854775807
+quote -128 mod -2147483648
+-128 mod -2147483648
+quote -128 mod -2147483647
+-128 mod -2147483647
+quote -128 mod -32768
+-128 mod -32768
+quote -128 mod -32767
+-128 mod -32767
+quote -128 mod -128
+-128 mod -128
+quote -128 mod -127
+-128 mod -127
+quote -128 mod 255
+-128 mod 255
+quote -128 mod 256
+-128 mod 256
+quote -128 mod 65535
+-128 mod 65535
+quote -128 mod 65536
+-128 mod 65536
+quote -128 mod 4294967295
+-128 mod 4294967295
+quote -128 mod 4294967296
+-128 mod 4294967296
+quote -128 mod 18446744073709551615
+-128 mod 18446744073709551615
+quote -128 mod 18446744073709551616
+-128 mod 18446744073709551616
+quote -128 mod 340282366920938463463374607431768211455
+-128 mod 340282366920938463463374607431768211455
+quote -128 mod 340282366920938463463374607431768211456
+-128 mod 340282366920938463463374607431768211456
+quote -127 mod -170141183460469231731687303715884105728
+-127 mod -170141183460469231731687303715884105728
+quote -127 mod -170141183460469231731687303715884105727
+-127 mod -170141183460469231731687303715884105727
+quote -127 mod -9223372036854775808
+-127 mod -9223372036854775808
+quote -127 mod -9223372036854775807
+-127 mod -9223372036854775807
+quote -127 mod -2147483648
+-127 mod -2147483648
+quote -127 mod -2147483647
+-127 mod -2147483647
+quote -127 mod -32768
+-127 mod -32768
+quote -127 mod -32767
+-127 mod -32767
+quote -127 mod -128
+-127 mod -128
+quote -127 mod -127
+-127 mod -127
+quote -127 mod 255
+-127 mod 255
+quote -127 mod 256
+-127 mod 256
+quote -127 mod 65535
+-127 mod 65535
+quote -127 mod 65536
+-127 mod 65536
+quote -127 mod 4294967295
+-127 mod 4294967295
+quote -127 mod 4294967296
+-127 mod 4294967296
+quote -127 mod 18446744073709551615
+-127 mod 18446744073709551615
+quote -127 mod 18446744073709551616
+-127 mod 18446744073709551616
+quote -127 mod 340282366920938463463374607431768211455
+-127 mod 340282366920938463463374607431768211455
+quote -127 mod 340282366920938463463374607431768211456
+-127 mod 340282366920938463463374607431768211456
+quote 255 mod -170141183460469231731687303715884105728
+255 mod -170141183460469231731687303715884105728
+quote 255 mod -170141183460469231731687303715884105727
+255 mod -170141183460469231731687303715884105727
+quote 255 mod -9223372036854775808
+255 mod -9223372036854775808
+quote 255 mod -9223372036854775807
+255 mod -9223372036854775807
+quote 255 mod -2147483648
+255 mod -2147483648
+quote 255 mod -2147483647
+255 mod -2147483647
+quote 255 mod -32768
+255 mod -32768
+quote 255 mod -32767
+255 mod -32767
+quote 255 mod -128
+255 mod -128
+quote 255 mod -127
+255 mod -127
+quote 255 mod 255
+255 mod 255
+quote 255 mod 256
+255 mod 256
+quote 255 mod 65535
+255 mod 65535
+quote 255 mod 65536
+255 mod 65536
+quote 255 mod 4294967295
+255 mod 4294967295
+quote 255 mod 4294967296
+255 mod 4294967296
+quote 255 mod 18446744073709551615
+255 mod 18446744073709551615
+quote 255 mod 18446744073709551616
+255 mod 18446744073709551616
+quote 255 mod 340282366920938463463374607431768211455
+255 mod 340282366920938463463374607431768211455
+quote 255 mod 340282366920938463463374607431768211456
+255 mod 340282366920938463463374607431768211456
+quote 256 mod -170141183460469231731687303715884105728
+256 mod -170141183460469231731687303715884105728
+quote 256 mod -170141183460469231731687303715884105727
+256 mod -170141183460469231731687303715884105727
+quote 256 mod -9223372036854775808
+256 mod -9223372036854775808
+quote 256 mod -9223372036854775807
+256 mod -9223372036854775807
+quote 256 mod -2147483648
+256 mod -2147483648
+quote 256 mod -2147483647
+256 mod -2147483647
+quote 256 mod -32768
+256 mod -32768
+quote 256 mod -32767
+256 mod -32767
+quote 256 mod -128
+256 mod -128
+quote 256 mod -127
+256 mod -127
+quote 256 mod 255
+256 mod 255
+quote 256 mod 256
+256 mod 256
+quote 256 mod 65535
+256 mod 65535
+quote 256 mod 65536
+256 mod 65536
+quote 256 mod 4294967295
+256 mod 4294967295
+quote 256 mod 4294967296
+256 mod 4294967296
+quote 256 mod 18446744073709551615
+256 mod 18446744073709551615
+quote 256 mod 18446744073709551616
+256 mod 18446744073709551616
+quote 256 mod 340282366920938463463374607431768211455
+256 mod 340282366920938463463374607431768211455
+quote 256 mod 340282366920938463463374607431768211456
+256 mod 340282366920938463463374607431768211456
+quote 65535 mod -170141183460469231731687303715884105728
+65535 mod -170141183460469231731687303715884105728
+quote 65535 mod -170141183460469231731687303715884105727
+65535 mod -170141183460469231731687303715884105727
+quote 65535 mod -9223372036854775808
+65535 mod -9223372036854775808
+quote 65535 mod -9223372036854775807
+65535 mod -9223372036854775807
+quote 65535 mod -2147483648
+65535 mod -2147483648
+quote 65535 mod -2147483647
+65535 mod -2147483647
+quote 65535 mod -32768
+65535 mod -32768
+quote 65535 mod -32767
+65535 mod -32767
+quote 65535 mod -128
+65535 mod -128
+quote 65535 mod -127
+65535 mod -127
+quote 65535 mod 255
+65535 mod 255
+quote 65535 mod 256
+65535 mod 256
+quote 65535 mod 65535
+65535 mod 65535
+quote 65535 mod 65536
+65535 mod 65536
+quote 65535 mod 4294967295
+65535 mod 4294967295
+quote 65535 mod 4294967296
+65535 mod 4294967296
+quote 65535 mod 18446744073709551615
+65535 mod 18446744073709551615
+quote 65535 mod 18446744073709551616
+65535 mod 18446744073709551616
+quote 65535 mod 340282366920938463463374607431768211455
+65535 mod 340282366920938463463374607431768211455
+quote 65535 mod 340282366920938463463374607431768211456
+65535 mod 340282366920938463463374607431768211456
+quote 65536 mod -170141183460469231731687303715884105728
+65536 mod -170141183460469231731687303715884105728
+quote 65536 mod -170141183460469231731687303715884105727
+65536 mod -170141183460469231731687303715884105727
+quote 65536 mod -9223372036854775808
+65536 mod -9223372036854775808
+quote 65536 mod -9223372036854775807
+65536 mod -9223372036854775807
+quote 65536 mod -2147483648
+65536 mod -2147483648
+quote 65536 mod -2147483647
+65536 mod -2147483647
+quote 65536 mod -32768
+65536 mod -32768
+quote 65536 mod -32767
+65536 mod -32767
+quote 65536 mod -128
+65536 mod -128
+quote 65536 mod -127
+65536 mod -127
+quote 65536 mod 255
+65536 mod 255
+quote 65536 mod 256
+65536 mod 256
+quote 65536 mod 65535
+65536 mod 65535
+quote 65536 mod 65536
+65536 mod 65536
+quote 65536 mod 4294967295
+65536 mod 4294967295
+quote 65536 mod 4294967296
+65536 mod 4294967296
+quote 65536 mod 18446744073709551615
+65536 mod 18446744073709551615
+quote 65536 mod 18446744073709551616
+65536 mod 18446744073709551616
+quote 65536 mod 340282366920938463463374607431768211455
+65536 mod 340282366920938463463374607431768211455
+quote 65536 mod 340282366920938463463374607431768211456
+65536 mod 340282366920938463463374607431768211456
+quote 4294967295 mod -170141183460469231731687303715884105728
+4294967295 mod -170141183460469231731687303715884105728
+quote 4294967295 mod -170141183460469231731687303715884105727
+4294967295 mod -170141183460469231731687303715884105727
+quote 4294967295 mod -9223372036854775808
+4294967295 mod -9223372036854775808
+quote 4294967295 mod -9223372036854775807
+4294967295 mod -9223372036854775807
+quote 4294967295 mod -2147483648
+4294967295 mod -2147483648
+quote 4294967295 mod -2147483647
+4294967295 mod -2147483647
+quote 4294967295 mod -32768
+4294967295 mod -32768
+quote 4294967295 mod -32767
+4294967295 mod -32767
+quote 4294967295 mod -128
+4294967295 mod -128
+quote 4294967295 mod -127
+4294967295 mod -127
+quote 4294967295 mod 255
+4294967295 mod 255
+quote 4294967295 mod 256
+4294967295 mod 256
+quote 4294967295 mod 65535
+4294967295 mod 65535
+quote 4294967295 mod 65536
+4294967295 mod 65536
+quote 4294967295 mod 4294967295
+4294967295 mod 4294967295
+quote 4294967295 mod 4294967296
+4294967295 mod 4294967296
+quote 4294967295 mod 18446744073709551615
+4294967295 mod 18446744073709551615
+quote 4294967295 mod 18446744073709551616
+4294967295 mod 18446744073709551616
+quote 4294967295 mod 340282366920938463463374607431768211455
+4294967295 mod 340282366920938463463374607431768211455
+quote 4294967295 mod 340282366920938463463374607431768211456
+4294967295 mod 340282366920938463463374607431768211456
+quote 4294967296 mod -170141183460469231731687303715884105728
+4294967296 mod -170141183460469231731687303715884105728
+quote 4294967296 mod -170141183460469231731687303715884105727
+4294967296 mod -170141183460469231731687303715884105727
+quote 4294967296 mod -9223372036854775808
+4294967296 mod -9223372036854775808
+quote 4294967296 mod -9223372036854775807
+4294967296 mod -9223372036854775807
+quote 4294967296 mod -2147483648
+4294967296 mod -2147483648
+quote 4294967296 mod -2147483647
+4294967296 mod -2147483647
+quote 4294967296 mod -32768
+4294967296 mod -32768
+quote 4294967296 mod -32767
+4294967296 mod -32767
+quote 4294967296 mod -128
+4294967296 mod -128
+quote 4294967296 mod -127
+4294967296 mod -127
+quote 4294967296 mod 255
+4294967296 mod 255
+quote 4294967296 mod 256
+4294967296 mod 256
+quote 4294967296 mod 65535
+4294967296 mod 65535
+quote 4294967296 mod 65536
+4294967296 mod 65536
+quote 4294967296 mod 4294967295
+4294967296 mod 4294967295
+quote 4294967296 mod 4294967296
+4294967296 mod 4294967296
+quote 4294967296 mod 18446744073709551615
+4294967296 mod 18446744073709551615
+quote 4294967296 mod 18446744073709551616
+4294967296 mod 18446744073709551616
+quote 4294967296 mod 340282366920938463463374607431768211455
+4294967296 mod 340282366920938463463374607431768211455
+quote 4294967296 mod 340282366920938463463374607431768211456
+4294967296 mod 340282366920938463463374607431768211456
+quote 18446744073709551615 mod -170141183460469231731687303715884105728
+18446744073709551615 mod -170141183460469231731687303715884105728
+quote 18446744073709551615 mod -170141183460469231731687303715884105727
+18446744073709551615 mod -170141183460469231731687303715884105727
+quote 18446744073709551615 mod -9223372036854775808
+18446744073709551615 mod -9223372036854775808
+quote 18446744073709551615 mod -9223372036854775807
+18446744073709551615 mod -9223372036854775807
+quote 18446744073709551615 mod -2147483648
+18446744073709551615 mod -2147483648
+quote 18446744073709551615 mod -2147483647
+18446744073709551615 mod -2147483647
+quote 18446744073709551615 mod -32768
+18446744073709551615 mod -32768
+quote 18446744073709551615 mod -32767
+18446744073709551615 mod -32767
+quote 18446744073709551615 mod -128
+18446744073709551615 mod -128
+quote 18446744073709551615 mod -127
+18446744073709551615 mod -127
+quote 18446744073709551615 mod 255
+18446744073709551615 mod 255
+quote 18446744073709551615 mod 256
+18446744073709551615 mod 256
+quote 18446744073709551615 mod 65535
+18446744073709551615 mod 65535
+quote 18446744073709551615 mod 65536
+18446744073709551615 mod 65536
+quote 18446744073709551615 mod 4294967295
+18446744073709551615 mod 4294967295
+quote 18446744073709551615 mod 4294967296
+18446744073709551615 mod 4294967296
+quote 18446744073709551615 mod 18446744073709551615
+18446744073709551615 mod 18446744073709551615
+quote 18446744073709551615 mod 18446744073709551616
+18446744073709551615 mod 18446744073709551616
+quote 18446744073709551615 mod 340282366920938463463374607431768211455
+18446744073709551615 mod 340282366920938463463374607431768211455
+quote 18446744073709551615 mod 340282366920938463463374607431768211456
+18446744073709551615 mod 340282366920938463463374607431768211456
+quote 18446744073709551616 mod -170141183460469231731687303715884105728
+18446744073709551616 mod -170141183460469231731687303715884105728
+quote 18446744073709551616 mod -170141183460469231731687303715884105727
+18446744073709551616 mod -170141183460469231731687303715884105727
+quote 18446744073709551616 mod -9223372036854775808
+18446744073709551616 mod -9223372036854775808
+quote 18446744073709551616 mod -9223372036854775807
+18446744073709551616 mod -9223372036854775807
+quote 18446744073709551616 mod -2147483648
+18446744073709551616 mod -2147483648
+quote 18446744073709551616 mod -2147483647
+18446744073709551616 mod -2147483647
+quote 18446744073709551616 mod -32768
+18446744073709551616 mod -32768
+quote 18446744073709551616 mod -32767
+18446744073709551616 mod -32767
+quote 18446744073709551616 mod -128
+18446744073709551616 mod -128
+quote 18446744073709551616 mod -127
+18446744073709551616 mod -127
+quote 18446744073709551616 mod 255
+18446744073709551616 mod 255
+quote 18446744073709551616 mod 256
+18446744073709551616 mod 256
+quote 18446744073709551616 mod 65535
+18446744073709551616 mod 65535
+quote 18446744073709551616 mod 65536
+18446744073709551616 mod 65536
+quote 18446744073709551616 mod 4294967295
+18446744073709551616 mod 4294967295
+quote 18446744073709551616 mod 4294967296
+18446744073709551616 mod 4294967296
+quote 18446744073709551616 mod 18446744073709551615
+18446744073709551616 mod 18446744073709551615
+quote 18446744073709551616 mod 18446744073709551616
+18446744073709551616 mod 18446744073709551616
+quote 18446744073709551616 mod 340282366920938463463374607431768211455
+18446744073709551616 mod 340282366920938463463374607431768211455
+quote 18446744073709551616 mod 340282366920938463463374607431768211456
+18446744073709551616 mod 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211455 mod -170141183460469231731687303715884105728
+340282366920938463463374607431768211455 mod -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211455 mod -170141183460469231731687303715884105727
+340282366920938463463374607431768211455 mod -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211455 mod -9223372036854775808
+340282366920938463463374607431768211455 mod -9223372036854775808
+quote 340282366920938463463374607431768211455 mod -9223372036854775807
+340282366920938463463374607431768211455 mod -9223372036854775807
+quote 340282366920938463463374607431768211455 mod -2147483648
+340282366920938463463374607431768211455 mod -2147483648
+quote 340282366920938463463374607431768211455 mod -2147483647
+340282366920938463463374607431768211455 mod -2147483647
+quote 340282366920938463463374607431768211455 mod -32768
+340282366920938463463374607431768211455 mod -32768
+quote 340282366920938463463374607431768211455 mod -32767
+340282366920938463463374607431768211455 mod -32767
+quote 340282366920938463463374607431768211455 mod -128
+340282366920938463463374607431768211455 mod -128
+quote 340282366920938463463374607431768211455 mod -127
+340282366920938463463374607431768211455 mod -127
+quote 340282366920938463463374607431768211455 mod 255
+340282366920938463463374607431768211455 mod 255
+quote 340282366920938463463374607431768211455 mod 256
+340282366920938463463374607431768211455 mod 256
+quote 340282366920938463463374607431768211455 mod 65535
+340282366920938463463374607431768211455 mod 65535
+quote 340282366920938463463374607431768211455 mod 65536
+340282366920938463463374607431768211455 mod 65536
+quote 340282366920938463463374607431768211455 mod 4294967295
+340282366920938463463374607431768211455 mod 4294967295
+quote 340282366920938463463374607431768211455 mod 4294967296
+340282366920938463463374607431768211455 mod 4294967296
+quote 340282366920938463463374607431768211455 mod 18446744073709551615
+340282366920938463463374607431768211455 mod 18446744073709551615
+quote 340282366920938463463374607431768211455 mod 18446744073709551616
+340282366920938463463374607431768211455 mod 18446744073709551616
+quote 340282366920938463463374607431768211455 mod 340282366920938463463374607431768211455
+340282366920938463463374607431768211455 mod 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211455 mod 340282366920938463463374607431768211456
+340282366920938463463374607431768211455 mod 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211456 mod -170141183460469231731687303715884105728
+340282366920938463463374607431768211456 mod -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211456 mod -170141183460469231731687303715884105727
+340282366920938463463374607431768211456 mod -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211456 mod -9223372036854775808
+340282366920938463463374607431768211456 mod -9223372036854775808
+quote 340282366920938463463374607431768211456 mod -9223372036854775807
+340282366920938463463374607431768211456 mod -9223372036854775807
+quote 340282366920938463463374607431768211456 mod -2147483648
+340282366920938463463374607431768211456 mod -2147483648
+quote 340282366920938463463374607431768211456 mod -2147483647
+340282366920938463463374607431768211456 mod -2147483647
+quote 340282366920938463463374607431768211456 mod -32768
+340282366920938463463374607431768211456 mod -32768
+quote 340282366920938463463374607431768211456 mod -32767
+340282366920938463463374607431768211456 mod -32767
+quote 340282366920938463463374607431768211456 mod -128
+340282366920938463463374607431768211456 mod -128
+quote 340282366920938463463374607431768211456 mod -127
+340282366920938463463374607431768211456 mod -127
+quote 340282366920938463463374607431768211456 mod 255
+340282366920938463463374607431768211456 mod 255
+quote 340282366920938463463374607431768211456 mod 256
+340282366920938463463374607431768211456 mod 256
+quote 340282366920938463463374607431768211456 mod 65535
+340282366920938463463374607431768211456 mod 65535
+quote 340282366920938463463374607431768211456 mod 65536
+340282366920938463463374607431768211456 mod 65536
+quote 340282366920938463463374607431768211456 mod 4294967295
+340282366920938463463374607431768211456 mod 4294967295
+quote 340282366920938463463374607431768211456 mod 4294967296
+340282366920938463463374607431768211456 mod 4294967296
+quote 340282366920938463463374607431768211456 mod 18446744073709551615
+340282366920938463463374607431768211456 mod 18446744073709551615
+quote 340282366920938463463374607431768211456 mod 18446744073709551616
+340282366920938463463374607431768211456 mod 18446744073709551616
+quote 340282366920938463463374607431768211456 mod 340282366920938463463374607431768211455
+340282366920938463463374607431768211456 mod 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211456 mod 340282366920938463463374607431768211456
+340282366920938463463374607431768211456 mod 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_mod_2.out.expected b/test/ic3/integer_mod_2.out.expected
new file mode 100644
index 0000000..e8f4f9e
--- /dev/null
+++ b/test/ic3/integer_mod_2.out.expected
@@ -0,0 +1,800 @@
+-170141183460469231731687303715884105728 mod -170141183460469231731687303715884105728
+0
+-170141183460469231731687303715884105728 mod -170141183460469231731687303715884105727
+-1
+-170141183460469231731687303715884105728 mod -9223372036854775808
+0
+-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
+170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 mod 340282366920938463463374607431768211456
+170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 mod -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 mod -170141183460469231731687303715884105727
+0
+-170141183460469231731687303715884105727 mod -9223372036854775808
+-9223372036854775807
+-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
+170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 mod 340282366920938463463374607431768211456
+170141183460469231731687303715884105729
+-9223372036854775808 mod -170141183460469231731687303715884105728
+-9223372036854775808
+-9223372036854775808 mod -170141183460469231731687303715884105727
+-9223372036854775808
+-9223372036854775808 mod -9223372036854775808
+0
+-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
+-9223372036854775807 mod -170141183460469231731687303715884105728
+-9223372036854775807
+-9223372036854775807 mod -170141183460469231731687303715884105727
+-9223372036854775807
+-9223372036854775807 mod -9223372036854775808
+-9223372036854775807
+-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
+-9223372036854775807 mod 4294967295
+2147483648
+-9223372036854775807 mod 4294967296
+1
+-9223372036854775807 mod 18446744073709551615
+9223372036854775808
+-9223372036854775807 mod 18446744073709551616
+9223372036854775809
+-9223372036854775807 mod 340282366920938463463374607431768211455
+340282366920938463454151235394913435648
+-9223372036854775807 mod 340282366920938463463374607431768211456
+340282366920938463454151235394913435649
+-2147483648 mod -170141183460469231731687303715884105728
+-2147483648
+-2147483648 mod -170141183460469231731687303715884105727
+-2147483648
+-2147483648 mod -9223372036854775808
+-2147483648
+-2147483648 mod -9223372036854775807
+-2147483648
+-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
+-2147483648 mod 18446744073709551615
+18446744071562067967
+-2147483648 mod 18446744073709551616
+18446744071562067968
+-2147483648 mod 340282366920938463463374607431768211455
+340282366920938463463374607429620727807
+-2147483648 mod 340282366920938463463374607431768211456
+340282366920938463463374607429620727808
+-2147483647 mod -170141183460469231731687303715884105728
+-2147483647
+-2147483647 mod -170141183460469231731687303715884105727
+-2147483647
+-2147483647 mod -9223372036854775808
+-2147483647
+-2147483647 mod -9223372036854775807
+-2147483647
+-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
+-2147483647 mod 18446744073709551615
+18446744071562067968
+-2147483647 mod 18446744073709551616
+18446744071562067969
+-2147483647 mod 340282366920938463463374607431768211455
+340282366920938463463374607429620727808
+-2147483647 mod 340282366920938463463374607431768211456
+340282366920938463463374607429620727809
+-32768 mod -170141183460469231731687303715884105728
+-32768
+-32768 mod -170141183460469231731687303715884105727
+-32768
+-32768 mod -9223372036854775808
+-32768
+-32768 mod -9223372036854775807
+-32768
+-32768 mod -2147483648
+-32768
+-32768 mod -2147483647
+-32768
+-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
+-32768 mod 18446744073709551615
+18446744073709518847
+-32768 mod 18446744073709551616
+18446744073709518848
+-32768 mod 340282366920938463463374607431768211455
+340282366920938463463374607431768178687
+-32768 mod 340282366920938463463374607431768211456
+340282366920938463463374607431768178688
+-32767 mod -170141183460469231731687303715884105728
+-32767
+-32767 mod -170141183460469231731687303715884105727
+-32767
+-32767 mod -9223372036854775808
+-32767
+-32767 mod -9223372036854775807
+-32767
+-32767 mod -2147483648
+-32767
+-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
+-32767 mod 18446744073709551615
+18446744073709518848
+-32767 mod 18446744073709551616
+18446744073709518849
+-32767 mod 340282366920938463463374607431768211455
+340282366920938463463374607431768178688
+-32767 mod 340282366920938463463374607431768211456
+340282366920938463463374607431768178689
+-128 mod -170141183460469231731687303715884105728
+-128
+-128 mod -170141183460469231731687303715884105727
+-128
+-128 mod -9223372036854775808
+-128
+-128 mod -9223372036854775807
+-128
+-128 mod -2147483648
+-128
+-128 mod -2147483647
+-128
+-128 mod -32768
+-128
+-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
+-128 mod 18446744073709551615
+18446744073709551487
+-128 mod 18446744073709551616
+18446744073709551488
+-128 mod 340282366920938463463374607431768211455
+340282366920938463463374607431768211327
+-128 mod 340282366920938463463374607431768211456
+340282366920938463463374607431768211328
+-127 mod -170141183460469231731687303715884105728
+-127
+-127 mod -170141183460469231731687303715884105727
+-127
+-127 mod -9223372036854775808
+-127
+-127 mod -9223372036854775807
+-127
+-127 mod -2147483648
+-127
+-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
+-127 mod 18446744073709551615
+18446744073709551488
+-127 mod 18446744073709551616
+18446744073709551489
+-127 mod 340282366920938463463374607431768211455
+340282366920938463463374607431768211328
+-127 mod 340282366920938463463374607431768211456
+340282366920938463463374607431768211329
+255 mod -170141183460469231731687303715884105728
+-170141183460469231731687303715884105473
+255 mod -170141183460469231731687303715884105727
+-170141183460469231731687303715884105472
+255 mod -9223372036854775808
+-9223372036854775553
+255 mod -9223372036854775807
+-9223372036854775552
+255 mod -2147483648
+-2147483393
+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
+255 mod 65535
+255
+255 mod 65536
+255
+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
+256 mod -170141183460469231731687303715884105727
+-170141183460469231731687303715884105471
+256 mod -9223372036854775808
+-9223372036854775552
+256 mod -9223372036854775807
+-9223372036854775551
+256 mod -2147483648
+-2147483392
+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
+256 mod 4294967296
+256
+256 mod 18446744073709551615
+256
+256 mod 18446744073709551616
+256
+256 mod 340282366920938463463374607431768211455
+256
+256 mod 340282366920938463463374607431768211456
+256
+65535 mod -170141183460469231731687303715884105728
+-170141183460469231731687303715884040193
+65535 mod -170141183460469231731687303715884105727
+-170141183460469231731687303715884040192
+65535 mod -9223372036854775808
+-9223372036854710273
+65535 mod -9223372036854775807
+-9223372036854710272
+65535 mod -2147483648
+-2147418113
+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
+65535 mod 18446744073709551615
+65535
+65535 mod 18446744073709551616
+65535
+65535 mod 340282366920938463463374607431768211455
+65535
+65535 mod 340282366920938463463374607431768211456
+65535
+65536 mod -170141183460469231731687303715884105728
+-170141183460469231731687303715884040192
+65536 mod -170141183460469231731687303715884105727
+-170141183460469231731687303715884040191
+65536 mod -9223372036854775808
+-9223372036854710272
+65536 mod -9223372036854775807
+-9223372036854710271
+65536 mod -2147483648
+-2147418112
+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
+65536 mod 340282366920938463463374607431768211455
+65536
+65536 mod 340282366920938463463374607431768211456
+65536
+4294967295 mod -170141183460469231731687303715884105728
+-170141183460469231731687303711589138433
+4294967295 mod -170141183460469231731687303715884105727
+-170141183460469231731687303711589138432
+4294967295 mod -9223372036854775808
+-9223372032559808513
+4294967295 mod -9223372036854775807
+-9223372032559808512
+4294967295 mod -2147483648
+-1
+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
+4294967295 mod 18446744073709551616
+4294967295
+4294967295 mod 340282366920938463463374607431768211455
+4294967295
+4294967295 mod 340282366920938463463374607431768211456
+4294967295
+4294967296 mod -170141183460469231731687303715884105728
+-170141183460469231731687303711589138432
+4294967296 mod -170141183460469231731687303715884105727
+-170141183460469231731687303711589138431
+4294967296 mod -9223372036854775808
+-9223372032559808512
+4294967296 mod -9223372036854775807
+-9223372032559808511
+4294967296 mod -2147483648
+0
+4294967296 mod -2147483647
+-2147483645
+4294967296 mod -32768
+0
+4294967296 mod -32767
+-32763
+4294967296 mod -128
+0
+4294967296 mod -127
+-111
+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
+4294967296 mod 340282366920938463463374607431768211455
+4294967296
+4294967296 mod 340282366920938463463374607431768211456
+4294967296
+18446744073709551615 mod -170141183460469231731687303715884105728
+-170141183460469231713240559642174554113
+18446744073709551615 mod -170141183460469231731687303715884105727
+-170141183460469231713240559642174554112
+18446744073709551615 mod -9223372036854775808
+-1
+18446744073709551615 mod -9223372036854775807
+-9223372036854775806
+18446744073709551615 mod -2147483648
+-1
+18446744073709551615 mod -2147483647
+-2147483644
+18446744073709551615 mod -32768
+-1
+18446744073709551615 mod -32767
+-32752
+18446744073709551615 mod -128
+-1
+18446744073709551615 mod -127
+-126
+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
+18446744073709551615 mod 340282366920938463463374607431768211455
+18446744073709551615
+18446744073709551615 mod 340282366920938463463374607431768211456
+18446744073709551615
+18446744073709551616 mod -170141183460469231731687303715884105728
+-170141183460469231713240559642174554112
+18446744073709551616 mod -170141183460469231731687303715884105727
+-170141183460469231713240559642174554111
+18446744073709551616 mod -9223372036854775808
+0
+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
+18446744073709551616
+18446744073709551616 mod 340282366920938463463374607431768211456
+18446744073709551616
+340282366920938463463374607431768211455 mod -170141183460469231731687303715884105728
+-1
+340282366920938463463374607431768211455 mod -170141183460469231731687303715884105727
+-170141183460469231731687303715884105726
+340282366920938463463374607431768211455 mod -9223372036854775808
+-1
+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
+0
+340282366920938463463374607431768211455 mod 340282366920938463463374607431768211456
+340282366920938463463374607431768211455
+340282366920938463463374607431768211456 mod -170141183460469231731687303715884105728
+0
+340282366920938463463374607431768211456 mod -170141183460469231731687303715884105727
+-170141183460469231731687303715884105725
+340282366920938463463374607431768211456 mod -9223372036854775808
+0
+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
+1
+340282366920938463463374607431768211456 mod 340282366920938463463374607431768211456
+0
diff --git a/test/ic3/integer_mod_2.ret.expected b/test/ic3/integer_mod_2.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_mod_2.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_mul.in b/test/ic3/integer_mul.in
deleted file mode 100644
index e58932d..0000000
--- a/test/ic3/integer_mul.in
+++ /dev/null
@@ -1,800 +0,0 @@
-quote -170141183460469231731687303715884105728 * -170141183460469231731687303715884105728
--170141183460469231731687303715884105728 * -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105728 * -170141183460469231731687303715884105727
--170141183460469231731687303715884105728 * -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105728 * -9223372036854775808
--170141183460469231731687303715884105728 * -9223372036854775808
-quote -170141183460469231731687303715884105728 * -9223372036854775807
--170141183460469231731687303715884105728 * -9223372036854775807
-quote -170141183460469231731687303715884105728 * -2147483648
--170141183460469231731687303715884105728 * -2147483648
-quote -170141183460469231731687303715884105728 * -2147483647
--170141183460469231731687303715884105728 * -2147483647
-quote -170141183460469231731687303715884105728 * -32768
--170141183460469231731687303715884105728 * -32768
-quote -170141183460469231731687303715884105728 * -32767
--170141183460469231731687303715884105728 * -32767
-quote -170141183460469231731687303715884105728 * -128
--170141183460469231731687303715884105728 * -128
-quote -170141183460469231731687303715884105728 * -127
--170141183460469231731687303715884105728 * -127
-quote -170141183460469231731687303715884105728 * 255
--170141183460469231731687303715884105728 * 255
-quote -170141183460469231731687303715884105728 * 256
--170141183460469231731687303715884105728 * 256
-quote -170141183460469231731687303715884105728 * 65535
--170141183460469231731687303715884105728 * 65535
-quote -170141183460469231731687303715884105728 * 65536
--170141183460469231731687303715884105728 * 65536
-quote -170141183460469231731687303715884105728 * 4294967295
--170141183460469231731687303715884105728 * 4294967295
-quote -170141183460469231731687303715884105728 * 4294967296
--170141183460469231731687303715884105728 * 4294967296
-quote -170141183460469231731687303715884105728 * 18446744073709551615
--170141183460469231731687303715884105728 * 18446744073709551615
-quote -170141183460469231731687303715884105728 * 18446744073709551616
--170141183460469231731687303715884105728 * 18446744073709551616
-quote -170141183460469231731687303715884105728 * 340282366920938463463374607431768211455
--170141183460469231731687303715884105728 * 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105728 * 340282366920938463463374607431768211456
--170141183460469231731687303715884105728 * 340282366920938463463374607431768211456
-quote -170141183460469231731687303715884105727 * -170141183460469231731687303715884105728
--170141183460469231731687303715884105727 * -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105727 * -170141183460469231731687303715884105727
--170141183460469231731687303715884105727 * -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105727 * -9223372036854775808
--170141183460469231731687303715884105727 * -9223372036854775808
-quote -170141183460469231731687303715884105727 * -9223372036854775807
--170141183460469231731687303715884105727 * -9223372036854775807
-quote -170141183460469231731687303715884105727 * -2147483648
--170141183460469231731687303715884105727 * -2147483648
-quote -170141183460469231731687303715884105727 * -2147483647
--170141183460469231731687303715884105727 * -2147483647
-quote -170141183460469231731687303715884105727 * -32768
--170141183460469231731687303715884105727 * -32768
-quote -170141183460469231731687303715884105727 * -32767
--170141183460469231731687303715884105727 * -32767
-quote -170141183460469231731687303715884105727 * -128
--170141183460469231731687303715884105727 * -128
-quote -170141183460469231731687303715884105727 * -127
--170141183460469231731687303715884105727 * -127
-quote -170141183460469231731687303715884105727 * 255
--170141183460469231731687303715884105727 * 255
-quote -170141183460469231731687303715884105727 * 256
--170141183460469231731687303715884105727 * 256
-quote -170141183460469231731687303715884105727 * 65535
--170141183460469231731687303715884105727 * 65535
-quote -170141183460469231731687303715884105727 * 65536
--170141183460469231731687303715884105727 * 65536
-quote -170141183460469231731687303715884105727 * 4294967295
--170141183460469231731687303715884105727 * 4294967295
-quote -170141183460469231731687303715884105727 * 4294967296
--170141183460469231731687303715884105727 * 4294967296
-quote -170141183460469231731687303715884105727 * 18446744073709551615
--170141183460469231731687303715884105727 * 18446744073709551615
-quote -170141183460469231731687303715884105727 * 18446744073709551616
--170141183460469231731687303715884105727 * 18446744073709551616
-quote -170141183460469231731687303715884105727 * 340282366920938463463374607431768211455
--170141183460469231731687303715884105727 * 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105727 * 340282366920938463463374607431768211456
--170141183460469231731687303715884105727 * 340282366920938463463374607431768211456
-quote -9223372036854775808 * -170141183460469231731687303715884105728
--9223372036854775808 * -170141183460469231731687303715884105728
-quote -9223372036854775808 * -170141183460469231731687303715884105727
--9223372036854775808 * -170141183460469231731687303715884105727
-quote -9223372036854775808 * -9223372036854775808
--9223372036854775808 * -9223372036854775808
-quote -9223372036854775808 * -9223372036854775807
--9223372036854775808 * -9223372036854775807
-quote -9223372036854775808 * -2147483648
--9223372036854775808 * -2147483648
-quote -9223372036854775808 * -2147483647
--9223372036854775808 * -2147483647
-quote -9223372036854775808 * -32768
--9223372036854775808 * -32768
-quote -9223372036854775808 * -32767
--9223372036854775808 * -32767
-quote -9223372036854775808 * -128
--9223372036854775808 * -128
-quote -9223372036854775808 * -127
--9223372036854775808 * -127
-quote -9223372036854775808 * 255
--9223372036854775808 * 255
-quote -9223372036854775808 * 256
--9223372036854775808 * 256
-quote -9223372036854775808 * 65535
--9223372036854775808 * 65535
-quote -9223372036854775808 * 65536
--9223372036854775808 * 65536
-quote -9223372036854775808 * 4294967295
--9223372036854775808 * 4294967295
-quote -9223372036854775808 * 4294967296
--9223372036854775808 * 4294967296
-quote -9223372036854775808 * 18446744073709551615
--9223372036854775808 * 18446744073709551615
-quote -9223372036854775808 * 18446744073709551616
--9223372036854775808 * 18446744073709551616
-quote -9223372036854775808 * 340282366920938463463374607431768211455
--9223372036854775808 * 340282366920938463463374607431768211455
-quote -9223372036854775808 * 340282366920938463463374607431768211456
--9223372036854775808 * 340282366920938463463374607431768211456
-quote -9223372036854775807 * -170141183460469231731687303715884105728
--9223372036854775807 * -170141183460469231731687303715884105728
-quote -9223372036854775807 * -170141183460469231731687303715884105727
--9223372036854775807 * -170141183460469231731687303715884105727
-quote -9223372036854775807 * -9223372036854775808
--9223372036854775807 * -9223372036854775808
-quote -9223372036854775807 * -9223372036854775807
--9223372036854775807 * -9223372036854775807
-quote -9223372036854775807 * -2147483648
--9223372036854775807 * -2147483648
-quote -9223372036854775807 * -2147483647
--9223372036854775807 * -2147483647
-quote -9223372036854775807 * -32768
--9223372036854775807 * -32768
-quote -9223372036854775807 * -32767
--9223372036854775807 * -32767
-quote -9223372036854775807 * -128
--9223372036854775807 * -128
-quote -9223372036854775807 * -127
--9223372036854775807 * -127
-quote -9223372036854775807 * 255
--9223372036854775807 * 255
-quote -9223372036854775807 * 256
--9223372036854775807 * 256
-quote -9223372036854775807 * 65535
--9223372036854775807 * 65535
-quote -9223372036854775807 * 65536
--9223372036854775807 * 65536
-quote -9223372036854775807 * 4294967295
--9223372036854775807 * 4294967295
-quote -9223372036854775807 * 4294967296
--9223372036854775807 * 4294967296
-quote -9223372036854775807 * 18446744073709551615
--9223372036854775807 * 18446744073709551615
-quote -9223372036854775807 * 18446744073709551616
--9223372036854775807 * 18446744073709551616
-quote -9223372036854775807 * 340282366920938463463374607431768211455
--9223372036854775807 * 340282366920938463463374607431768211455
-quote -9223372036854775807 * 340282366920938463463374607431768211456
--9223372036854775807 * 340282366920938463463374607431768211456
-quote -2147483648 * -170141183460469231731687303715884105728
--2147483648 * -170141183460469231731687303715884105728
-quote -2147483648 * -170141183460469231731687303715884105727
--2147483648 * -170141183460469231731687303715884105727
-quote -2147483648 * -9223372036854775808
--2147483648 * -9223372036854775808
-quote -2147483648 * -9223372036854775807
--2147483648 * -9223372036854775807
-quote -2147483648 * -2147483648
--2147483648 * -2147483648
-quote -2147483648 * -2147483647
--2147483648 * -2147483647
-quote -2147483648 * -32768
--2147483648 * -32768
-quote -2147483648 * -32767
--2147483648 * -32767
-quote -2147483648 * -128
--2147483648 * -128
-quote -2147483648 * -127
--2147483648 * -127
-quote -2147483648 * 255
--2147483648 * 255
-quote -2147483648 * 256
--2147483648 * 256
-quote -2147483648 * 65535
--2147483648 * 65535
-quote -2147483648 * 65536
--2147483648 * 65536
-quote -2147483648 * 4294967295
--2147483648 * 4294967295
-quote -2147483648 * 4294967296
--2147483648 * 4294967296
-quote -2147483648 * 18446744073709551615
--2147483648 * 18446744073709551615
-quote -2147483648 * 18446744073709551616
--2147483648 * 18446744073709551616
-quote -2147483648 * 340282366920938463463374607431768211455
--2147483648 * 340282366920938463463374607431768211455
-quote -2147483648 * 340282366920938463463374607431768211456
--2147483648 * 340282366920938463463374607431768211456
-quote -2147483647 * -170141183460469231731687303715884105728
--2147483647 * -170141183460469231731687303715884105728
-quote -2147483647 * -170141183460469231731687303715884105727
--2147483647 * -170141183460469231731687303715884105727
-quote -2147483647 * -9223372036854775808
--2147483647 * -9223372036854775808
-quote -2147483647 * -9223372036854775807
--2147483647 * -9223372036854775807
-quote -2147483647 * -2147483648
--2147483647 * -2147483648
-quote -2147483647 * -2147483647
--2147483647 * -2147483647
-quote -2147483647 * -32768
--2147483647 * -32768
-quote -2147483647 * -32767
--2147483647 * -32767
-quote -2147483647 * -128
--2147483647 * -128
-quote -2147483647 * -127
--2147483647 * -127
-quote -2147483647 * 255
--2147483647 * 255
-quote -2147483647 * 256
--2147483647 * 256
-quote -2147483647 * 65535
--2147483647 * 65535
-quote -2147483647 * 65536
--2147483647 * 65536
-quote -2147483647 * 4294967295
--2147483647 * 4294967295
-quote -2147483647 * 4294967296
--2147483647 * 4294967296
-quote -2147483647 * 18446744073709551615
--2147483647 * 18446744073709551615
-quote -2147483647 * 18446744073709551616
--2147483647 * 18446744073709551616
-quote -2147483647 * 340282366920938463463374607431768211455
--2147483647 * 340282366920938463463374607431768211455
-quote -2147483647 * 340282366920938463463374607431768211456
--2147483647 * 340282366920938463463374607431768211456
-quote -32768 * -170141183460469231731687303715884105728
--32768 * -170141183460469231731687303715884105728
-quote -32768 * -170141183460469231731687303715884105727
--32768 * -170141183460469231731687303715884105727
-quote -32768 * -9223372036854775808
--32768 * -9223372036854775808
-quote -32768 * -9223372036854775807
--32768 * -9223372036854775807
-quote -32768 * -2147483648
--32768 * -2147483648
-quote -32768 * -2147483647
--32768 * -2147483647
-quote -32768 * -32768
--32768 * -32768
-quote -32768 * -32767
--32768 * -32767
-quote -32768 * -128
--32768 * -128
-quote -32768 * -127
--32768 * -127
-quote -32768 * 255
--32768 * 255
-quote -32768 * 256
--32768 * 256
-quote -32768 * 65535
--32768 * 65535
-quote -32768 * 65536
--32768 * 65536
-quote -32768 * 4294967295
--32768 * 4294967295
-quote -32768 * 4294967296
--32768 * 4294967296
-quote -32768 * 18446744073709551615
--32768 * 18446744073709551615
-quote -32768 * 18446744073709551616
--32768 * 18446744073709551616
-quote -32768 * 340282366920938463463374607431768211455
--32768 * 340282366920938463463374607431768211455
-quote -32768 * 340282366920938463463374607431768211456
--32768 * 340282366920938463463374607431768211456
-quote -32767 * -170141183460469231731687303715884105728
--32767 * -170141183460469231731687303715884105728
-quote -32767 * -170141183460469231731687303715884105727
--32767 * -170141183460469231731687303715884105727
-quote -32767 * -9223372036854775808
--32767 * -9223372036854775808
-quote -32767 * -9223372036854775807
--32767 * -9223372036854775807
-quote -32767 * -2147483648
--32767 * -2147483648
-quote -32767 * -2147483647
--32767 * -2147483647
-quote -32767 * -32768
--32767 * -32768
-quote -32767 * -32767
--32767 * -32767
-quote -32767 * -128
--32767 * -128
-quote -32767 * -127
--32767 * -127
-quote -32767 * 255
--32767 * 255
-quote -32767 * 256
--32767 * 256
-quote -32767 * 65535
--32767 * 65535
-quote -32767 * 65536
--32767 * 65536
-quote -32767 * 4294967295
--32767 * 4294967295
-quote -32767 * 4294967296
--32767 * 4294967296
-quote -32767 * 18446744073709551615
--32767 * 18446744073709551615
-quote -32767 * 18446744073709551616
--32767 * 18446744073709551616
-quote -32767 * 340282366920938463463374607431768211455
--32767 * 340282366920938463463374607431768211455
-quote -32767 * 340282366920938463463374607431768211456
--32767 * 340282366920938463463374607431768211456
-quote -128 * -170141183460469231731687303715884105728
--128 * -170141183460469231731687303715884105728
-quote -128 * -170141183460469231731687303715884105727
--128 * -170141183460469231731687303715884105727
-quote -128 * -9223372036854775808
--128 * -9223372036854775808
-quote -128 * -9223372036854775807
--128 * -9223372036854775807
-quote -128 * -2147483648
--128 * -2147483648
-quote -128 * -2147483647
--128 * -2147483647
-quote -128 * -32768
--128 * -32768
-quote -128 * -32767
--128 * -32767
-quote -128 * -128
--128 * -128
-quote -128 * -127
--128 * -127
-quote -128 * 255
--128 * 255
-quote -128 * 256
--128 * 256
-quote -128 * 65535
--128 * 65535
-quote -128 * 65536
--128 * 65536
-quote -128 * 4294967295
--128 * 4294967295
-quote -128 * 4294967296
--128 * 4294967296
-quote -128 * 18446744073709551615
--128 * 18446744073709551615
-quote -128 * 18446744073709551616
--128 * 18446744073709551616
-quote -128 * 340282366920938463463374607431768211455
--128 * 340282366920938463463374607431768211455
-quote -128 * 340282366920938463463374607431768211456
--128 * 340282366920938463463374607431768211456
-quote -127 * -170141183460469231731687303715884105728
--127 * -170141183460469231731687303715884105728
-quote -127 * -170141183460469231731687303715884105727
--127 * -170141183460469231731687303715884105727
-quote -127 * -9223372036854775808
--127 * -9223372036854775808
-quote -127 * -9223372036854775807
--127 * -9223372036854775807
-quote -127 * -2147483648
--127 * -2147483648
-quote -127 * -2147483647
--127 * -2147483647
-quote -127 * -32768
--127 * -32768
-quote -127 * -32767
--127 * -32767
-quote -127 * -128
--127 * -128
-quote -127 * -127
--127 * -127
-quote -127 * 255
--127 * 255
-quote -127 * 256
--127 * 256
-quote -127 * 65535
--127 * 65535
-quote -127 * 65536
--127 * 65536
-quote -127 * 4294967295
--127 * 4294967295
-quote -127 * 4294967296
--127 * 4294967296
-quote -127 * 18446744073709551615
--127 * 18446744073709551615
-quote -127 * 18446744073709551616
--127 * 18446744073709551616
-quote -127 * 340282366920938463463374607431768211455
--127 * 340282366920938463463374607431768211455
-quote -127 * 340282366920938463463374607431768211456
--127 * 340282366920938463463374607431768211456
-quote 255 * -170141183460469231731687303715884105728
-255 * -170141183460469231731687303715884105728
-quote 255 * -170141183460469231731687303715884105727
-255 * -170141183460469231731687303715884105727
-quote 255 * -9223372036854775808
-255 * -9223372036854775808
-quote 255 * -9223372036854775807
-255 * -9223372036854775807
-quote 255 * -2147483648
-255 * -2147483648
-quote 255 * -2147483647
-255 * -2147483647
-quote 255 * -32768
-255 * -32768
-quote 255 * -32767
-255 * -32767
-quote 255 * -128
-255 * -128
-quote 255 * -127
-255 * -127
-quote 255 * 255
-255 * 255
-quote 255 * 256
-255 * 256
-quote 255 * 65535
-255 * 65535
-quote 255 * 65536
-255 * 65536
-quote 255 * 4294967295
-255 * 4294967295
-quote 255 * 4294967296
-255 * 4294967296
-quote 255 * 18446744073709551615
-255 * 18446744073709551615
-quote 255 * 18446744073709551616
-255 * 18446744073709551616
-quote 255 * 340282366920938463463374607431768211455
-255 * 340282366920938463463374607431768211455
-quote 255 * 340282366920938463463374607431768211456
-255 * 340282366920938463463374607431768211456
-quote 256 * -170141183460469231731687303715884105728
-256 * -170141183460469231731687303715884105728
-quote 256 * -170141183460469231731687303715884105727
-256 * -170141183460469231731687303715884105727
-quote 256 * -9223372036854775808
-256 * -9223372036854775808
-quote 256 * -9223372036854775807
-256 * -9223372036854775807
-quote 256 * -2147483648
-256 * -2147483648
-quote 256 * -2147483647
-256 * -2147483647
-quote 256 * -32768
-256 * -32768
-quote 256 * -32767
-256 * -32767
-quote 256 * -128
-256 * -128
-quote 256 * -127
-256 * -127
-quote 256 * 255
-256 * 255
-quote 256 * 256
-256 * 256
-quote 256 * 65535
-256 * 65535
-quote 256 * 65536
-256 * 65536
-quote 256 * 4294967295
-256 * 4294967295
-quote 256 * 4294967296
-256 * 4294967296
-quote 256 * 18446744073709551615
-256 * 18446744073709551615
-quote 256 * 18446744073709551616
-256 * 18446744073709551616
-quote 256 * 340282366920938463463374607431768211455
-256 * 340282366920938463463374607431768211455
-quote 256 * 340282366920938463463374607431768211456
-256 * 340282366920938463463374607431768211456
-quote 65535 * -170141183460469231731687303715884105728
-65535 * -170141183460469231731687303715884105728
-quote 65535 * -170141183460469231731687303715884105727
-65535 * -170141183460469231731687303715884105727
-quote 65535 * -9223372036854775808
-65535 * -9223372036854775808
-quote 65535 * -9223372036854775807
-65535 * -9223372036854775807
-quote 65535 * -2147483648
-65535 * -2147483648
-quote 65535 * -2147483647
-65535 * -2147483647
-quote 65535 * -32768
-65535 * -32768
-quote 65535 * -32767
-65535 * -32767
-quote 65535 * -128
-65535 * -128
-quote 65535 * -127
-65535 * -127
-quote 65535 * 255
-65535 * 255
-quote 65535 * 256
-65535 * 256
-quote 65535 * 65535
-65535 * 65535
-quote 65535 * 65536
-65535 * 65536
-quote 65535 * 4294967295
-65535 * 4294967295
-quote 65535 * 4294967296
-65535 * 4294967296
-quote 65535 * 18446744073709551615
-65535 * 18446744073709551615
-quote 65535 * 18446744073709551616
-65535 * 18446744073709551616
-quote 65535 * 340282366920938463463374607431768211455
-65535 * 340282366920938463463374607431768211455
-quote 65535 * 340282366920938463463374607431768211456
-65535 * 340282366920938463463374607431768211456
-quote 65536 * -170141183460469231731687303715884105728
-65536 * -170141183460469231731687303715884105728
-quote 65536 * -170141183460469231731687303715884105727
-65536 * -170141183460469231731687303715884105727
-quote 65536 * -9223372036854775808
-65536 * -9223372036854775808
-quote 65536 * -9223372036854775807
-65536 * -9223372036854775807
-quote 65536 * -2147483648
-65536 * -2147483648
-quote 65536 * -2147483647
-65536 * -2147483647
-quote 65536 * -32768
-65536 * -32768
-quote 65536 * -32767
-65536 * -32767
-quote 65536 * -128
-65536 * -128
-quote 65536 * -127
-65536 * -127
-quote 65536 * 255
-65536 * 255
-quote 65536 * 256
-65536 * 256
-quote 65536 * 65535
-65536 * 65535
-quote 65536 * 65536
-65536 * 65536
-quote 65536 * 4294967295
-65536 * 4294967295
-quote 65536 * 4294967296
-65536 * 4294967296
-quote 65536 * 18446744073709551615
-65536 * 18446744073709551615
-quote 65536 * 18446744073709551616
-65536 * 18446744073709551616
-quote 65536 * 340282366920938463463374607431768211455
-65536 * 340282366920938463463374607431768211455
-quote 65536 * 340282366920938463463374607431768211456
-65536 * 340282366920938463463374607431768211456
-quote 4294967295 * -170141183460469231731687303715884105728
-4294967295 * -170141183460469231731687303715884105728
-quote 4294967295 * -170141183460469231731687303715884105727
-4294967295 * -170141183460469231731687303715884105727
-quote 4294967295 * -9223372036854775808
-4294967295 * -9223372036854775808
-quote 4294967295 * -9223372036854775807
-4294967295 * -9223372036854775807
-quote 4294967295 * -2147483648
-4294967295 * -2147483648
-quote 4294967295 * -2147483647
-4294967295 * -2147483647
-quote 4294967295 * -32768
-4294967295 * -32768
-quote 4294967295 * -32767
-4294967295 * -32767
-quote 4294967295 * -128
-4294967295 * -128
-quote 4294967295 * -127
-4294967295 * -127
-quote 4294967295 * 255
-4294967295 * 255
-quote 4294967295 * 256
-4294967295 * 256
-quote 4294967295 * 65535
-4294967295 * 65535
-quote 4294967295 * 65536
-4294967295 * 65536
-quote 4294967295 * 4294967295
-4294967295 * 4294967295
-quote 4294967295 * 4294967296
-4294967295 * 4294967296
-quote 4294967295 * 18446744073709551615
-4294967295 * 18446744073709551615
-quote 4294967295 * 18446744073709551616
-4294967295 * 18446744073709551616
-quote 4294967295 * 340282366920938463463374607431768211455
-4294967295 * 340282366920938463463374607431768211455
-quote 4294967295 * 340282366920938463463374607431768211456
-4294967295 * 340282366920938463463374607431768211456
-quote 4294967296 * -170141183460469231731687303715884105728
-4294967296 * -170141183460469231731687303715884105728
-quote 4294967296 * -170141183460469231731687303715884105727
-4294967296 * -170141183460469231731687303715884105727
-quote 4294967296 * -9223372036854775808
-4294967296 * -9223372036854775808
-quote 4294967296 * -9223372036854775807
-4294967296 * -9223372036854775807
-quote 4294967296 * -2147483648
-4294967296 * -2147483648
-quote 4294967296 * -2147483647
-4294967296 * -2147483647
-quote 4294967296 * -32768
-4294967296 * -32768
-quote 4294967296 * -32767
-4294967296 * -32767
-quote 4294967296 * -128
-4294967296 * -128
-quote 4294967296 * -127
-4294967296 * -127
-quote 4294967296 * 255
-4294967296 * 255
-quote 4294967296 * 256
-4294967296 * 256
-quote 4294967296 * 65535
-4294967296 * 65535
-quote 4294967296 * 65536
-4294967296 * 65536
-quote 4294967296 * 4294967295
-4294967296 * 4294967295
-quote 4294967296 * 4294967296
-4294967296 * 4294967296
-quote 4294967296 * 18446744073709551615
-4294967296 * 18446744073709551615
-quote 4294967296 * 18446744073709551616
-4294967296 * 18446744073709551616
-quote 4294967296 * 340282366920938463463374607431768211455
-4294967296 * 340282366920938463463374607431768211455
-quote 4294967296 * 340282366920938463463374607431768211456
-4294967296 * 340282366920938463463374607431768211456
-quote 18446744073709551615 * -170141183460469231731687303715884105728
-18446744073709551615 * -170141183460469231731687303715884105728
-quote 18446744073709551615 * -170141183460469231731687303715884105727
-18446744073709551615 * -170141183460469231731687303715884105727
-quote 18446744073709551615 * -9223372036854775808
-18446744073709551615 * -9223372036854775808
-quote 18446744073709551615 * -9223372036854775807
-18446744073709551615 * -9223372036854775807
-quote 18446744073709551615 * -2147483648
-18446744073709551615 * -2147483648
-quote 18446744073709551615 * -2147483647
-18446744073709551615 * -2147483647
-quote 18446744073709551615 * -32768
-18446744073709551615 * -32768
-quote 18446744073709551615 * -32767
-18446744073709551615 * -32767
-quote 18446744073709551615 * -128
-18446744073709551615 * -128
-quote 18446744073709551615 * -127
-18446744073709551615 * -127
-quote 18446744073709551615 * 255
-18446744073709551615 * 255
-quote 18446744073709551615 * 256
-18446744073709551615 * 256
-quote 18446744073709551615 * 65535
-18446744073709551615 * 65535
-quote 18446744073709551615 * 65536
-18446744073709551615 * 65536
-quote 18446744073709551615 * 4294967295
-18446744073709551615 * 4294967295
-quote 18446744073709551615 * 4294967296
-18446744073709551615 * 4294967296
-quote 18446744073709551615 * 18446744073709551615
-18446744073709551615 * 18446744073709551615
-quote 18446744073709551615 * 18446744073709551616
-18446744073709551615 * 18446744073709551616
-quote 18446744073709551615 * 340282366920938463463374607431768211455
-18446744073709551615 * 340282366920938463463374607431768211455
-quote 18446744073709551615 * 340282366920938463463374607431768211456
-18446744073709551615 * 340282366920938463463374607431768211456
-quote 18446744073709551616 * -170141183460469231731687303715884105728
-18446744073709551616 * -170141183460469231731687303715884105728
-quote 18446744073709551616 * -170141183460469231731687303715884105727
-18446744073709551616 * -170141183460469231731687303715884105727
-quote 18446744073709551616 * -9223372036854775808
-18446744073709551616 * -9223372036854775808
-quote 18446744073709551616 * -9223372036854775807
-18446744073709551616 * -9223372036854775807
-quote 18446744073709551616 * -2147483648
-18446744073709551616 * -2147483648
-quote 18446744073709551616 * -2147483647
-18446744073709551616 * -2147483647
-quote 18446744073709551616 * -32768
-18446744073709551616 * -32768
-quote 18446744073709551616 * -32767
-18446744073709551616 * -32767
-quote 18446744073709551616 * -128
-18446744073709551616 * -128
-quote 18446744073709551616 * -127
-18446744073709551616 * -127
-quote 18446744073709551616 * 255
-18446744073709551616 * 255
-quote 18446744073709551616 * 256
-18446744073709551616 * 256
-quote 18446744073709551616 * 65535
-18446744073709551616 * 65535
-quote 18446744073709551616 * 65536
-18446744073709551616 * 65536
-quote 18446744073709551616 * 4294967295
-18446744073709551616 * 4294967295
-quote 18446744073709551616 * 4294967296
-18446744073709551616 * 4294967296
-quote 18446744073709551616 * 18446744073709551615
-18446744073709551616 * 18446744073709551615
-quote 18446744073709551616 * 18446744073709551616
-18446744073709551616 * 18446744073709551616
-quote 18446744073709551616 * 340282366920938463463374607431768211455
-18446744073709551616 * 340282366920938463463374607431768211455
-quote 18446744073709551616 * 340282366920938463463374607431768211456
-18446744073709551616 * 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211455 * -170141183460469231731687303715884105728
-340282366920938463463374607431768211455 * -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211455 * -170141183460469231731687303715884105727
-340282366920938463463374607431768211455 * -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211455 * -9223372036854775808
-340282366920938463463374607431768211455 * -9223372036854775808
-quote 340282366920938463463374607431768211455 * -9223372036854775807
-340282366920938463463374607431768211455 * -9223372036854775807
-quote 340282366920938463463374607431768211455 * -2147483648
-340282366920938463463374607431768211455 * -2147483648
-quote 340282366920938463463374607431768211455 * -2147483647
-340282366920938463463374607431768211455 * -2147483647
-quote 340282366920938463463374607431768211455 * -32768
-340282366920938463463374607431768211455 * -32768
-quote 340282366920938463463374607431768211455 * -32767
-340282366920938463463374607431768211455 * -32767
-quote 340282366920938463463374607431768211455 * -128
-340282366920938463463374607431768211455 * -128
-quote 340282366920938463463374607431768211455 * -127
-340282366920938463463374607431768211455 * -127
-quote 340282366920938463463374607431768211455 * 255
-340282366920938463463374607431768211455 * 255
-quote 340282366920938463463374607431768211455 * 256
-340282366920938463463374607431768211455 * 256
-quote 340282366920938463463374607431768211455 * 65535
-340282366920938463463374607431768211455 * 65535
-quote 340282366920938463463374607431768211455 * 65536
-340282366920938463463374607431768211455 * 65536
-quote 340282366920938463463374607431768211455 * 4294967295
-340282366920938463463374607431768211455 * 4294967295
-quote 340282366920938463463374607431768211455 * 4294967296
-340282366920938463463374607431768211455 * 4294967296
-quote 340282366920938463463374607431768211455 * 18446744073709551615
-340282366920938463463374607431768211455 * 18446744073709551615
-quote 340282366920938463463374607431768211455 * 18446744073709551616
-340282366920938463463374607431768211455 * 18446744073709551616
-quote 340282366920938463463374607431768211455 * 340282366920938463463374607431768211455
-340282366920938463463374607431768211455 * 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211455 * 340282366920938463463374607431768211456
-340282366920938463463374607431768211455 * 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211456 * -170141183460469231731687303715884105728
-340282366920938463463374607431768211456 * -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211456 * -170141183460469231731687303715884105727
-340282366920938463463374607431768211456 * -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211456 * -9223372036854775808
-340282366920938463463374607431768211456 * -9223372036854775808
-quote 340282366920938463463374607431768211456 * -9223372036854775807
-340282366920938463463374607431768211456 * -9223372036854775807
-quote 340282366920938463463374607431768211456 * -2147483648
-340282366920938463463374607431768211456 * -2147483648
-quote 340282366920938463463374607431768211456 * -2147483647
-340282366920938463463374607431768211456 * -2147483647
-quote 340282366920938463463374607431768211456 * -32768
-340282366920938463463374607431768211456 * -32768
-quote 340282366920938463463374607431768211456 * -32767
-340282366920938463463374607431768211456 * -32767
-quote 340282366920938463463374607431768211456 * -128
-340282366920938463463374607431768211456 * -128
-quote 340282366920938463463374607431768211456 * -127
-340282366920938463463374607431768211456 * -127
-quote 340282366920938463463374607431768211456 * 255
-340282366920938463463374607431768211456 * 255
-quote 340282366920938463463374607431768211456 * 256
-340282366920938463463374607431768211456 * 256
-quote 340282366920938463463374607431768211456 * 65535
-340282366920938463463374607431768211456 * 65535
-quote 340282366920938463463374607431768211456 * 65536
-340282366920938463463374607431768211456 * 65536
-quote 340282366920938463463374607431768211456 * 4294967295
-340282366920938463463374607431768211456 * 4294967295
-quote 340282366920938463463374607431768211456 * 4294967296
-340282366920938463463374607431768211456 * 4294967296
-quote 340282366920938463463374607431768211456 * 18446744073709551615
-340282366920938463463374607431768211456 * 18446744073709551615
-quote 340282366920938463463374607431768211456 * 18446744073709551616
-340282366920938463463374607431768211456 * 18446744073709551616
-quote 340282366920938463463374607431768211456 * 340282366920938463463374607431768211455
-340282366920938463463374607431768211456 * 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211456 * 340282366920938463463374607431768211456
-340282366920938463463374607431768211456 * 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_mul.out.expected b/test/ic3/integer_mul.out.expected
deleted file mode 100644
index f8e913d..0000000
--- a/test/ic3/integer_mul.out.expected
+++ /dev/null
@@ -1,800 +0,0 @@
--170141183460469231731687303715884105728 * -170141183460469231731687303715884105728
-28948022309329048855892746252171976963317496166410141009864396001978282409984
--170141183460469231731687303715884105728 * -170141183460469231731687303715884105727
-28948022309329048855892746252171976963147354982949671778132708698262398304256
--170141183460469231731687303715884105728 * -9223372036854775808
-1569275433846670190958947355801916604025588861116008628224
--170141183460469231731687303715884105728 * -9223372036854775807
-1569275433846670190788806172341447372293901557400124522496
--170141183460469231731687303715884105728 * -2147483648
-365375409332725729550921208179070754913983135744
--170141183460469231731687303715884105728 * -2147483647
-365375409162584546090451976447383451198099030016
--170141183460469231731687303715884105728 * -32768
-5575186299632655785383929568162090376495104
--170141183460469231731687303715884105728 * -32767
-5575016158449195316152197880858374492389376
--170141183460469231731687303715884105728 * -128
-21778071482940061661655974875633165533184
--170141183460469231731687303715884105728 * -127
-21607930299479592429924287571917281427456
--170141183460469231731687303715884105728 * 255
--43386001782419654091580262447550446960640
--170141183460469231731687303715884105728 * 256
--43556142965880123323311949751266331066368
--170141183460469231731687303715884105728 * 65535
--11150202458081851101536127449020464868884480
--170141183460469231731687303715884105728 * 65536
--11150372599265311570767859136324180752990208
--170141183460469231731687303715884105728 * 4294967295
--730750818495310275641373184626454206112082165760
--170141183460469231731687303715884105728 * 4294967296
--730750818665451459101842416358141509827966271488
--170141183460469231731687303715884105728 * 18446744073709551615
--3138550867693340381747753528143363976319490418516133150720
--170141183460469231731687303715884105728 * 18446744073709551616
--3138550867693340381917894711603833208051177722232017256448
--170141183460469231731687303715884105728 * 340282366920938463463374607431768211455
--57896044618658097711785492504343953926464851149359812787997104700240680714240
--170141183460469231731687303715884105728 * 340282366920938463463374607431768211456
--57896044618658097711785492504343953926634992332820282019728792003956564819968
--170141183460469231731687303715884105727 * -170141183460469231731687303715884105728
-28948022309329048855892746252171976963147354982949671778132708698262398304256
--170141183460469231731687303715884105727 * -170141183460469231731687303715884105727
-28948022309329048855892746252171976962977213799489202546401021394546514198529
--170141183460469231731687303715884105727 * -9223372036854775808
-1569275433846670190958947355801916604016365489079153852416
--170141183460469231731687303715884105727 * -9223372036854775807
-1569275433846670190788806172341447372284678185363269746689
--170141183460469231731687303715884105727 * -2147483648
-365375409332725729550921208179070754911835652096
--170141183460469231731687303715884105727 * -2147483647
-365375409162584546090451976447383451195951546369
--170141183460469231731687303715884105727 * -32768
-5575186299632655785383929568162090376462336
--170141183460469231731687303715884105727 * -32767
-5575016158449195316152197880858374492356609
--170141183460469231731687303715884105727 * -128
-21778071482940061661655974875633165533056
--170141183460469231731687303715884105727 * -127
-21607930299479592429924287571917281427329
--170141183460469231731687303715884105727 * 255
--43386001782419654091580262447550446960385
--170141183460469231731687303715884105727 * 256
--43556142965880123323311949751266331066112
--170141183460469231731687303715884105727 * 65535
--11150202458081851101536127449020464868818945
--170141183460469231731687303715884105727 * 65536
--11150372599265311570767859136324180752924672
--170141183460469231731687303715884105727 * 4294967295
--730750818495310275641373184626454206107787198465
--170141183460469231731687303715884105727 * 4294967296
--730750818665451459101842416358141509823671304192
--170141183460469231731687303715884105727 * 18446744073709551615
--3138550867693340381747753528143363976301043674442423599105
--170141183460469231731687303715884105727 * 18446744073709551616
--3138550867693340381917894711603833208032730978158307704832
--170141183460469231731687303715884105727 * 340282366920938463463374607431768211455
--57896044618658097711785492504343953926124568782438874324533730092808912502785
--170141183460469231731687303715884105727 * 340282366920938463463374607431768211456
--57896044618658097711785492504343953926294709965899343556265417396524796608512
--9223372036854775808 * -170141183460469231731687303715884105728
-1569275433846670190958947355801916604025588861116008628224
--9223372036854775808 * -170141183460469231731687303715884105727
-1569275433846670190958947355801916604016365489079153852416
--9223372036854775808 * -9223372036854775808
-85070591730234615865843651857942052864
--9223372036854775808 * -9223372036854775807
-85070591730234615856620279821087277056
--9223372036854775808 * -2147483648
-19807040628566084398385987584
--9223372036854775808 * -2147483647
-19807040619342712361531211776
--9223372036854775808 * -32768
-302231454903657293676544
--9223372036854775808 * -32767
-302222231531620438900736
--9223372036854775808 * -128
-1180591620717411303424
--9223372036854775808 * -127
-1171368248680556527616
--9223372036854775808 * 255
--2351959869397967831040
--9223372036854775808 * 256
--2361183241434822606848
--9223372036854775808 * 65535
--604453686435277732577280
--9223372036854775808 * 65536
--604462909807314587353088
--9223372036854775808 * 4294967295
--39614081247908796759917199360
--9223372036854775808 * 4294967296
--39614081257132168796771975168
--9223372036854775808 * 18446744073709551615
--170141183460469231722463931679029329920
--9223372036854775808 * 18446744073709551616
--170141183460469231731687303715884105728
--9223372036854775808 * 340282366920938463463374607431768211455
--3138550867693340381917894711603833208041954350195162480640
--9223372036854775808 * 340282366920938463463374607431768211456
--3138550867693340381917894711603833208051177722232017256448
--9223372036854775807 * -170141183460469231731687303715884105728
-1569275433846670190788806172341447372293901557400124522496
--9223372036854775807 * -170141183460469231731687303715884105727
-1569275433846670190788806172341447372284678185363269746689
--9223372036854775807 * -9223372036854775808
-85070591730234615856620279821087277056
--9223372036854775807 * -9223372036854775807
-85070591730234615847396907784232501249
--9223372036854775807 * -2147483648
-19807040628566084396238503936
--9223372036854775807 * -2147483647
-19807040619342712359383728129
--9223372036854775807 * -32768
-302231454903657293643776
--9223372036854775807 * -32767
-302222231531620438867969
--9223372036854775807 * -128
-1180591620717411303296
--9223372036854775807 * -127
-1171368248680556527489
--9223372036854775807 * 255
--2351959869397967830785
--9223372036854775807 * 256
--2361183241434822606592
--9223372036854775807 * 65535
--604453686435277732511745
--9223372036854775807 * 65536
--604462909807314587287552
--9223372036854775807 * 4294967295
--39614081247908796755622232065
--9223372036854775807 * 4294967296
--39614081257132168792477007872
--9223372036854775807 * 18446744073709551615
--170141183460469231704017187605319778305
--9223372036854775807 * 18446744073709551616
--170141183460469231713240559642174554112
--9223372036854775807 * 340282366920938463463374607431768211455
--3138550867693340381577612344682894744578579742763394269185
--9223372036854775807 * 340282366920938463463374607431768211456
--3138550867693340381577612344682894744587803114800249044992
--2147483648 * -170141183460469231731687303715884105728
-365375409332725729550921208179070754913983135744
--2147483648 * -170141183460469231731687303715884105727
-365375409332725729550921208179070754911835652096
--2147483648 * -9223372036854775808
-19807040628566084398385987584
--2147483648 * -9223372036854775807
-19807040628566084396238503936
--2147483648 * -2147483648
-4611686018427387904
--2147483648 * -2147483647
-4611686016279904256
--2147483648 * -32768
-70368744177664
--2147483648 * -32767
-70366596694016
--2147483648 * -128
-274877906944
--2147483648 * -127
-272730423296
--2147483648 * 255
--547608330240
--2147483648 * 256
--549755813888
--2147483648 * 65535
--140735340871680
--2147483648 * 65536
--140737488355328
--2147483648 * 4294967295
--9223372034707292160
--2147483648 * 4294967296
--9223372036854775808
--2147483648 * 18446744073709551615
--39614081257132168794624491520
--2147483648 * 18446744073709551616
--39614081257132168796771975168
--2147483648 * 340282366920938463463374607431768211455
--730750818665451459101842416358141509825818787840
--2147483648 * 340282366920938463463374607431768211456
--730750818665451459101842416358141509827966271488
--2147483647 * -170141183460469231731687303715884105728
-365375409162584546090451976447383451198099030016
--2147483647 * -170141183460469231731687303715884105727
-365375409162584546090451976447383451195951546369
--2147483647 * -9223372036854775808
-19807040619342712361531211776
--2147483647 * -9223372036854775807
-19807040619342712359383728129
--2147483647 * -2147483648
-4611686016279904256
--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
--2147483647 * 18446744073709551615
--39614081238685424720914939905
--2147483647 * 18446744073709551616
--39614081238685424723062423552
--2147483647 * 340282366920938463463374607431768211455
--730750818325169092180903952894766902394050576385
--2147483647 * 340282366920938463463374607431768211456
--730750818325169092180903952894766902396198060032
--32768 * -170141183460469231731687303715884105728
-5575186299632655785383929568162090376495104
--32768 * -170141183460469231731687303715884105727
-5575186299632655785383929568162090376462336
--32768 * -9223372036854775808
-302231454903657293676544
--32768 * -9223372036854775807
-302231454903657293643776
--32768 * -2147483648
-70368744177664
--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
--32768 * 18446744073709551615
--604462909807314587320320
--32768 * 18446744073709551616
--604462909807314587353088
--32768 * 340282366920938463463374607431768211455
--11150372599265311570767859136324180752957440
--32768 * 340282366920938463463374607431768211456
--11150372599265311570767859136324180752990208
--32767 * -170141183460469231731687303715884105728
-5575016158449195316152197880858374492389376
--32767 * -170141183460469231731687303715884105727
-5575016158449195316152197880858374492356609
--32767 * -9223372036854775808
-302222231531620438900736
--32767 * -9223372036854775807
-302222231531620438867969
--32767 * -2147483648
-70366596694016
--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
--32767 * 18446744073709551615
--604444463063240877768705
--32767 * 18446744073709551616
--604444463063240877801472
--32767 * 340282366920938463463374607431768211455
--11150032316898390632304395761716748984745985
--32767 * 340282366920938463463374607431768211456
--11150032316898390632304395761716748984778752
--128 * -170141183460469231731687303715884105728
-21778071482940061661655974875633165533184
--128 * -170141183460469231731687303715884105727
-21778071482940061661655974875633165533056
--128 * -9223372036854775808
-1180591620717411303424
--128 * -9223372036854775807
-1180591620717411303296
--128 * -2147483648
-274877906944
--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
--128 * 18446744073709551615
--2361183241434822606720
--128 * 18446744073709551616
--2361183241434822606848
--128 * 340282366920938463463374607431768211455
--43556142965880123323311949751266331066240
--128 * 340282366920938463463374607431768211456
--43556142965880123323311949751266331066368
--127 * -170141183460469231731687303715884105728
-21607930299479592429924287571917281427456
--127 * -170141183460469231731687303715884105727
-21607930299479592429924287571917281427329
--127 * -9223372036854775808
-1171368248680556527616
--127 * -9223372036854775807
-1171368248680556527489
--127 * -2147483648
-272730423296
--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
--127 * 18446744073709551615
--2342736497361113055105
--127 * 18446744073709551616
--2342736497361113055232
--127 * 340282366920938463463374607431768211455
--43215860598959184859848575143834562854785
--127 * 340282366920938463463374607431768211456
--43215860598959184859848575143834562854912
-255 * -170141183460469231731687303715884105728
--43386001782419654091580262447550446960640
-255 * -170141183460469231731687303715884105727
--43386001782419654091580262447550446960385
-255 * -9223372036854775808
--2351959869397967831040
-255 * -9223372036854775807
--2351959869397967830785
-255 * -2147483648
--547608330240
-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
-255 * 18446744073709551615
-4703919738795935661825
-255 * 18446744073709551616
-4703919738795935662080
-255 * 340282366920938463463374607431768211455
-86772003564839308183160524895100893921025
-255 * 340282366920938463463374607431768211456
-86772003564839308183160524895100893921280
-256 * -170141183460469231731687303715884105728
--43556142965880123323311949751266331066368
-256 * -170141183460469231731687303715884105727
--43556142965880123323311949751266331066112
-256 * -9223372036854775808
--2361183241434822606848
-256 * -9223372036854775807
--2361183241434822606592
-256 * -2147483648
--549755813888
-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
-256 * 18446744073709551615
-4722366482869645213440
-256 * 18446744073709551616
-4722366482869645213696
-256 * 340282366920938463463374607431768211455
-87112285931760246646623899502532662132480
-256 * 340282366920938463463374607431768211456
-87112285931760246646623899502532662132736
-65535 * -170141183460469231731687303715884105728
--11150202458081851101536127449020464868884480
-65535 * -170141183460469231731687303715884105727
--11150202458081851101536127449020464868818945
-65535 * -9223372036854775808
--604453686435277732577280
-65535 * -9223372036854775807
--604453686435277732511745
-65535 * -2147483648
--140735340871680
-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
-65535 * 18446744073709551615
-1208907372870555465089025
-65535 * 18446744073709551616
-1208907372870555465154560
-65535 * 340282366920938463463374607431768211455
-22300404916163702203072254898040929737703425
-65535 * 340282366920938463463374607431768211456
-22300404916163702203072254898040929737768960
-65536 * -170141183460469231731687303715884105728
--11150372599265311570767859136324180752990208
-65536 * -170141183460469231731687303715884105727
--11150372599265311570767859136324180752924672
-65536 * -9223372036854775808
--604462909807314587353088
-65536 * -9223372036854775807
--604462909807314587287552
-65536 * -2147483648
--140737488355328
-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
-65536 * 18446744073709551615
-1208925819614629174640640
-65536 * 18446744073709551616
-1208925819614629174706176
-65536 * 340282366920938463463374607431768211455
-22300745198530623141535718272648361505914880
-65536 * 340282366920938463463374607431768211456
-22300745198530623141535718272648361505980416
-4294967295 * -170141183460469231731687303715884105728
--730750818495310275641373184626454206112082165760
-4294967295 * -170141183460469231731687303715884105727
--730750818495310275641373184626454206107787198465
-4294967295 * -9223372036854775808
--39614081247908796759917199360
-4294967295 * -9223372036854775807
--39614081247908796755622232065
-4294967295 * -2147483648
--9223372034707292160
-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
-4294967295 * 18446744073709551615
-79228162495817593515539431425
-4294967295 * 18446744073709551616
-79228162495817593519834398720
-4294967295 * 340282366920938463463374607431768211455
-1461501636990620551282746369252908412219869364225
-4294967295 * 340282366920938463463374607431768211456
-1461501636990620551282746369252908412224164331520
-4294967296 * -170141183460469231731687303715884105728
--730750818665451459101842416358141509827966271488
-4294967296 * -170141183460469231731687303715884105727
--730750818665451459101842416358141509823671304192
-4294967296 * -9223372036854775808
--39614081257132168796771975168
-4294967296 * -9223372036854775807
--39614081257132168792477007872
-4294967296 * -2147483648
--9223372036854775808
-4294967296 * -2147483647
--9223372032559808512
-4294967296 * -32768
--140737488355328
-4294967296 * -32767
--140733193388032
-4294967296 * -128
--549755813888
-4294967296 * -127
--545460846592
-4294967296 * 255
-1095216660480
-4294967296 * 256
-1099511627776
-4294967296 * 65535
-281470681743360
-4294967296 * 65536
-281474976710656
-4294967296 * 4294967295
-18446744069414584320
-4294967296 * 4294967296
-18446744073709551616
-4294967296 * 18446744073709551615
-79228162514264337589248983040
-4294967296 * 18446744073709551616
-79228162514264337593543950336
-4294967296 * 340282366920938463463374607431768211455
-1461501637330902918203684832716283019651637575680
-4294967296 * 340282366920938463463374607431768211456
-1461501637330902918203684832716283019655932542976
-18446744073709551615 * -170141183460469231731687303715884105728
--3138550867693340381747753528143363976319490418516133150720
-18446744073709551615 * -170141183460469231731687303715884105727
--3138550867693340381747753528143363976301043674442423599105
-18446744073709551615 * -9223372036854775808
--170141183460469231722463931679029329920
-18446744073709551615 * -9223372036854775807
--170141183460469231704017187605319778305
-18446744073709551615 * -2147483648
--39614081257132168794624491520
-18446744073709551615 * -2147483647
--39614081238685424720914939905
-18446744073709551615 * -32768
--604462909807314587320320
-18446744073709551615 * -32767
--604444463063240877768705
-18446744073709551615 * -128
--2361183241434822606720
-18446744073709551615 * -127
--2342736497361113055105
-18446744073709551615 * 255
-4703919738795935661825
-18446744073709551615 * 256
-4722366482869645213440
-18446744073709551615 * 65535
-1208907372870555465089025
-18446744073709551615 * 65536
-1208925819614629174640640
-18446744073709551615 * 4294967295
-79228162495817593515539431425
-18446744073709551615 * 4294967296
-79228162514264337589248983040
-18446744073709551615 * 18446744073709551615
-340282366920938463426481119284349108225
-18446744073709551615 * 18446744073709551616
-340282366920938463444927863358058659840
-18446744073709551615 * 340282366920938463463374607431768211455
-6277101735386680763495507056286727952620534092958556749825
-18446744073709551615 * 340282366920938463463374607431768211456
-6277101735386680763495507056286727952638980837032266301440
-18446744073709551616 * -170141183460469231731687303715884105728
--3138550867693340381917894711603833208051177722232017256448
-18446744073709551616 * -170141183460469231731687303715884105727
--3138550867693340381917894711603833208032730978158307704832
-18446744073709551616 * -9223372036854775808
--170141183460469231731687303715884105728
-18446744073709551616 * -9223372036854775807
--170141183460469231713240559642174554112
-18446744073709551616 * -2147483648
--39614081257132168796771975168
-18446744073709551616 * -2147483647
--39614081238685424723062423552
-18446744073709551616 * -32768
--604462909807314587353088
-18446744073709551616 * -32767
--604444463063240877801472
-18446744073709551616 * -128
--2361183241434822606848
-18446744073709551616 * -127
--2342736497361113055232
-18446744073709551616 * 255
-4703919738795935662080
-18446744073709551616 * 256
-4722366482869645213696
-18446744073709551616 * 65535
-1208907372870555465154560
-18446744073709551616 * 65536
-1208925819614629174706176
-18446744073709551616 * 4294967295
-79228162495817593519834398720
-18446744073709551616 * 4294967296
-79228162514264337593543950336
-18446744073709551616 * 18446744073709551615
-340282366920938463444927863358058659840
-18446744073709551616 * 18446744073709551616
-340282366920938463463374607431768211456
-18446744073709551616 * 340282366920938463463374607431768211455
-6277101735386680763835789423207666416083908700390324961280
-18446744073709551616 * 340282366920938463463374607431768211456
-6277101735386680763835789423207666416102355444464034512896
-340282366920938463463374607431768211455 * -170141183460469231731687303715884105728
--57896044618658097711785492504343953926464851149359812787997104700240680714240
-340282366920938463463374607431768211455 * -170141183460469231731687303715884105727
--57896044618658097711785492504343953926124568782438874324533730092808912502785
-340282366920938463463374607431768211455 * -9223372036854775808
--3138550867693340381917894711603833208041954350195162480640
-340282366920938463463374607431768211455 * -9223372036854775807
--3138550867693340381577612344682894744578579742763394269185
-340282366920938463463374607431768211455 * -2147483648
--730750818665451459101842416358141509825818787840
-340282366920938463463374607431768211455 * -2147483647
--730750818325169092180903952894766902394050576385
-340282366920938463463374607431768211455 * -32768
--11150372599265311570767859136324180752957440
-340282366920938463463374607431768211455 * -32767
--11150032316898390632304395761716748984745985
-340282366920938463463374607431768211455 * -128
--43556142965880123323311949751266331066240
-340282366920938463463374607431768211455 * -127
--43215860598959184859848575143834562854785
-340282366920938463463374607431768211455 * 255
-86772003564839308183160524895100893921025
-340282366920938463463374607431768211455 * 256
-87112285931760246646623899502532662132480
-340282366920938463463374607431768211455 * 65535
-22300404916163702203072254898040929737703425
-340282366920938463463374607431768211455 * 65536
-22300745198530623141535718272648361505914880
-340282366920938463463374607431768211455 * 4294967295
-1461501636990620551282746369252908412219869364225
-340282366920938463463374607431768211455 * 4294967296
-1461501637330902918203684832716283019651637575680
-340282366920938463463374607431768211455 * 18446744073709551615
-6277101735386680763495507056286727952620534092958556749825
-340282366920938463463374607431768211455 * 18446744073709551616
-6277101735386680763835789423207666416083908700390324961280
-340282366920938463463374607431768211455 * 340282366920938463463374607431768211455
-115792089237316195423570985008687907852589419931798687112530834793049593217025
-340282366920938463463374607431768211455 * 340282366920938463463374607431768211456
-115792089237316195423570985008687907852929702298719625575994209400481361428480
-340282366920938463463374607431768211456 * -170141183460469231731687303715884105728
--57896044618658097711785492504343953926634992332820282019728792003956564819968
-340282366920938463463374607431768211456 * -170141183460469231731687303715884105727
--57896044618658097711785492504343953926294709965899343556265417396524796608512
-340282366920938463463374607431768211456 * -9223372036854775808
--3138550867693340381917894711603833208051177722232017256448
-340282366920938463463374607431768211456 * -9223372036854775807
--3138550867693340381577612344682894744587803114800249044992
-340282366920938463463374607431768211456 * -2147483648
--730750818665451459101842416358141509827966271488
-340282366920938463463374607431768211456 * -2147483647
--730750818325169092180903952894766902396198060032
-340282366920938463463374607431768211456 * -32768
--11150372599265311570767859136324180752990208
-340282366920938463463374607431768211456 * -32767
--11150032316898390632304395761716748984778752
-340282366920938463463374607431768211456 * -128
--43556142965880123323311949751266331066368
-340282366920938463463374607431768211456 * -127
--43215860598959184859848575143834562854912
-340282366920938463463374607431768211456 * 255
-86772003564839308183160524895100893921280
-340282366920938463463374607431768211456 * 256
-87112285931760246646623899502532662132736
-340282366920938463463374607431768211456 * 65535
-22300404916163702203072254898040929737768960
-340282366920938463463374607431768211456 * 65536
-22300745198530623141535718272648361505980416
-340282366920938463463374607431768211456 * 4294967295
-1461501636990620551282746369252908412224164331520
-340282366920938463463374607431768211456 * 4294967296
-1461501637330902918203684832716283019655932542976
-340282366920938463463374607431768211456 * 18446744073709551615
-6277101735386680763495507056286727952638980837032266301440
-340282366920938463463374607431768211456 * 18446744073709551616
-6277101735386680763835789423207666416102355444464034512896
-340282366920938463463374607431768211456 * 340282366920938463463374607431768211455
-115792089237316195423570985008687907852929702298719625575994209400481361428480
-340282366920938463463374607431768211456 * 340282366920938463463374607431768211456
-115792089237316195423570985008687907853269984665640564039457584007913129639936
diff --git a/test/ic3/integer_mul.ret.expected b/test/ic3/integer_mul.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/integer_mul.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/integer_mul_2.in b/test/ic3/integer_mul_2.in
new file mode 100644
index 0000000..e58932d
--- /dev/null
+++ b/test/ic3/integer_mul_2.in
@@ -0,0 +1,800 @@
+quote -170141183460469231731687303715884105728 * -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 * -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105728 * -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 * -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105728 * -9223372036854775808
+-170141183460469231731687303715884105728 * -9223372036854775808
+quote -170141183460469231731687303715884105728 * -9223372036854775807
+-170141183460469231731687303715884105728 * -9223372036854775807
+quote -170141183460469231731687303715884105728 * -2147483648
+-170141183460469231731687303715884105728 * -2147483648
+quote -170141183460469231731687303715884105728 * -2147483647
+-170141183460469231731687303715884105728 * -2147483647
+quote -170141183460469231731687303715884105728 * -32768
+-170141183460469231731687303715884105728 * -32768
+quote -170141183460469231731687303715884105728 * -32767
+-170141183460469231731687303715884105728 * -32767
+quote -170141183460469231731687303715884105728 * -128
+-170141183460469231731687303715884105728 * -128
+quote -170141183460469231731687303715884105728 * -127
+-170141183460469231731687303715884105728 * -127
+quote -170141183460469231731687303715884105728 * 255
+-170141183460469231731687303715884105728 * 255
+quote -170141183460469231731687303715884105728 * 256
+-170141183460469231731687303715884105728 * 256
+quote -170141183460469231731687303715884105728 * 65535
+-170141183460469231731687303715884105728 * 65535
+quote -170141183460469231731687303715884105728 * 65536
+-170141183460469231731687303715884105728 * 65536
+quote -170141183460469231731687303715884105728 * 4294967295
+-170141183460469231731687303715884105728 * 4294967295
+quote -170141183460469231731687303715884105728 * 4294967296
+-170141183460469231731687303715884105728 * 4294967296
+quote -170141183460469231731687303715884105728 * 18446744073709551615
+-170141183460469231731687303715884105728 * 18446744073709551615
+quote -170141183460469231731687303715884105728 * 18446744073709551616
+-170141183460469231731687303715884105728 * 18446744073709551616
+quote -170141183460469231731687303715884105728 * 340282366920938463463374607431768211455
+-170141183460469231731687303715884105728 * 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105728 * 340282366920938463463374607431768211456
+-170141183460469231731687303715884105728 * 340282366920938463463374607431768211456
+quote -170141183460469231731687303715884105727 * -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 * -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105727 * -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 * -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105727 * -9223372036854775808
+-170141183460469231731687303715884105727 * -9223372036854775808
+quote -170141183460469231731687303715884105727 * -9223372036854775807
+-170141183460469231731687303715884105727 * -9223372036854775807
+quote -170141183460469231731687303715884105727 * -2147483648
+-170141183460469231731687303715884105727 * -2147483648
+quote -170141183460469231731687303715884105727 * -2147483647
+-170141183460469231731687303715884105727 * -2147483647
+quote -170141183460469231731687303715884105727 * -32768
+-170141183460469231731687303715884105727 * -32768
+quote -170141183460469231731687303715884105727 * -32767
+-170141183460469231731687303715884105727 * -32767
+quote -170141183460469231731687303715884105727 * -128
+-170141183460469231731687303715884105727 * -128
+quote -170141183460469231731687303715884105727 * -127
+-170141183460469231731687303715884105727 * -127
+quote -170141183460469231731687303715884105727 * 255
+-170141183460469231731687303715884105727 * 255
+quote -170141183460469231731687303715884105727 * 256
+-170141183460469231731687303715884105727 * 256
+quote -170141183460469231731687303715884105727 * 65535
+-170141183460469231731687303715884105727 * 65535
+quote -170141183460469231731687303715884105727 * 65536
+-170141183460469231731687303715884105727 * 65536
+quote -170141183460469231731687303715884105727 * 4294967295
+-170141183460469231731687303715884105727 * 4294967295
+quote -170141183460469231731687303715884105727 * 4294967296
+-170141183460469231731687303715884105727 * 4294967296
+quote -170141183460469231731687303715884105727 * 18446744073709551615
+-170141183460469231731687303715884105727 * 18446744073709551615
+quote -170141183460469231731687303715884105727 * 18446744073709551616
+-170141183460469231731687303715884105727 * 18446744073709551616
+quote -170141183460469231731687303715884105727 * 340282366920938463463374607431768211455
+-170141183460469231731687303715884105727 * 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105727 * 340282366920938463463374607431768211456
+-170141183460469231731687303715884105727 * 340282366920938463463374607431768211456
+quote -9223372036854775808 * -170141183460469231731687303715884105728
+-9223372036854775808 * -170141183460469231731687303715884105728
+quote -9223372036854775808 * -170141183460469231731687303715884105727
+-9223372036854775808 * -170141183460469231731687303715884105727
+quote -9223372036854775808 * -9223372036854775808
+-9223372036854775808 * -9223372036854775808
+quote -9223372036854775808 * -9223372036854775807
+-9223372036854775808 * -9223372036854775807
+quote -9223372036854775808 * -2147483648
+-9223372036854775808 * -2147483648
+quote -9223372036854775808 * -2147483647
+-9223372036854775808 * -2147483647
+quote -9223372036854775808 * -32768
+-9223372036854775808 * -32768
+quote -9223372036854775808 * -32767
+-9223372036854775808 * -32767
+quote -9223372036854775808 * -128
+-9223372036854775808 * -128
+quote -9223372036854775808 * -127
+-9223372036854775808 * -127
+quote -9223372036854775808 * 255
+-9223372036854775808 * 255
+quote -9223372036854775808 * 256
+-9223372036854775808 * 256
+quote -9223372036854775808 * 65535
+-9223372036854775808 * 65535
+quote -9223372036854775808 * 65536
+-9223372036854775808 * 65536
+quote -9223372036854775808 * 4294967295
+-9223372036854775808 * 4294967295
+quote -9223372036854775808 * 4294967296
+-9223372036854775808 * 4294967296
+quote -9223372036854775808 * 18446744073709551615
+-9223372036854775808 * 18446744073709551615
+quote -9223372036854775808 * 18446744073709551616
+-9223372036854775808 * 18446744073709551616
+quote -9223372036854775808 * 340282366920938463463374607431768211455
+-9223372036854775808 * 340282366920938463463374607431768211455
+quote -9223372036854775808 * 340282366920938463463374607431768211456
+-9223372036854775808 * 340282366920938463463374607431768211456
+quote -9223372036854775807 * -170141183460469231731687303715884105728
+-9223372036854775807 * -170141183460469231731687303715884105728
+quote -9223372036854775807 * -170141183460469231731687303715884105727
+-9223372036854775807 * -170141183460469231731687303715884105727
+quote -9223372036854775807 * -9223372036854775808
+-9223372036854775807 * -9223372036854775808
+quote -9223372036854775807 * -9223372036854775807
+-9223372036854775807 * -9223372036854775807
+quote -9223372036854775807 * -2147483648
+-9223372036854775807 * -2147483648
+quote -9223372036854775807 * -2147483647
+-9223372036854775807 * -2147483647
+quote -9223372036854775807 * -32768
+-9223372036854775807 * -32768
+quote -9223372036854775807 * -32767
+-9223372036854775807 * -32767
+quote -9223372036854775807 * -128
+-9223372036854775807 * -128
+quote -9223372036854775807 * -127
+-9223372036854775807 * -127
+quote -9223372036854775807 * 255
+-9223372036854775807 * 255
+quote -9223372036854775807 * 256
+-9223372036854775807 * 256
+quote -9223372036854775807 * 65535
+-9223372036854775807 * 65535
+quote -9223372036854775807 * 65536
+-9223372036854775807 * 65536
+quote -9223372036854775807 * 4294967295
+-9223372036854775807 * 4294967295
+quote -9223372036854775807 * 4294967296
+-9223372036854775807 * 4294967296
+quote -9223372036854775807 * 18446744073709551615
+-9223372036854775807 * 18446744073709551615
+quote -9223372036854775807 * 18446744073709551616
+-9223372036854775807 * 18446744073709551616
+quote -9223372036854775807 * 340282366920938463463374607431768211455
+-9223372036854775807 * 340282366920938463463374607431768211455
+quote -9223372036854775807 * 340282366920938463463374607431768211456
+-9223372036854775807 * 340282366920938463463374607431768211456
+quote -2147483648 * -170141183460469231731687303715884105728
+-2147483648 * -170141183460469231731687303715884105728
+quote -2147483648 * -170141183460469231731687303715884105727
+-2147483648 * -170141183460469231731687303715884105727
+quote -2147483648 * -9223372036854775808
+-2147483648 * -9223372036854775808
+quote -2147483648 * -9223372036854775807
+-2147483648 * -9223372036854775807
+quote -2147483648 * -2147483648
+-2147483648 * -2147483648
+quote -2147483648 * -2147483647
+-2147483648 * -2147483647
+quote -2147483648 * -32768
+-2147483648 * -32768
+quote -2147483648 * -32767
+-2147483648 * -32767
+quote -2147483648 * -128
+-2147483648 * -128
+quote -2147483648 * -127
+-2147483648 * -127
+quote -2147483648 * 255
+-2147483648 * 255
+quote -2147483648 * 256
+-2147483648 * 256
+quote -2147483648 * 65535
+-2147483648 * 65535
+quote -2147483648 * 65536
+-2147483648 * 65536
+quote -2147483648 * 4294967295
+-2147483648 * 4294967295
+quote -2147483648 * 4294967296
+-2147483648 * 4294967296
+quote -2147483648 * 18446744073709551615
+-2147483648 * 18446744073709551615
+quote -2147483648 * 18446744073709551616
+-2147483648 * 18446744073709551616
+quote -2147483648 * 340282366920938463463374607431768211455
+-2147483648 * 340282366920938463463374607431768211455
+quote -2147483648 * 340282366920938463463374607431768211456
+-2147483648 * 340282366920938463463374607431768211456
+quote -2147483647 * -170141183460469231731687303715884105728
+-2147483647 * -170141183460469231731687303715884105728
+quote -2147483647 * -170141183460469231731687303715884105727
+-2147483647 * -170141183460469231731687303715884105727
+quote -2147483647 * -9223372036854775808
+-2147483647 * -9223372036854775808
+quote -2147483647 * -9223372036854775807
+-2147483647 * -9223372036854775807
+quote -2147483647 * -2147483648
+-2147483647 * -2147483648
+quote -2147483647 * -2147483647
+-2147483647 * -2147483647
+quote -2147483647 * -32768
+-2147483647 * -32768
+quote -2147483647 * -32767
+-2147483647 * -32767
+quote -2147483647 * -128
+-2147483647 * -128
+quote -2147483647 * -127
+-2147483647 * -127
+quote -2147483647 * 255
+-2147483647 * 255
+quote -2147483647 * 256
+-2147483647 * 256
+quote -2147483647 * 65535
+-2147483647 * 65535
+quote -2147483647 * 65536
+-2147483647 * 65536
+quote -2147483647 * 4294967295
+-2147483647 * 4294967295
+quote -2147483647 * 4294967296
+-2147483647 * 4294967296
+quote -2147483647 * 18446744073709551615
+-2147483647 * 18446744073709551615
+quote -2147483647 * 18446744073709551616
+-2147483647 * 18446744073709551616
+quote -2147483647 * 340282366920938463463374607431768211455
+-2147483647 * 340282366920938463463374607431768211455
+quote -2147483647 * 340282366920938463463374607431768211456
+-2147483647 * 340282366920938463463374607431768211456
+quote -32768 * -170141183460469231731687303715884105728
+-32768 * -170141183460469231731687303715884105728
+quote -32768 * -170141183460469231731687303715884105727
+-32768 * -170141183460469231731687303715884105727
+quote -32768 * -9223372036854775808
+-32768 * -9223372036854775808
+quote -32768 * -9223372036854775807
+-32768 * -9223372036854775807
+quote -32768 * -2147483648
+-32768 * -2147483648
+quote -32768 * -2147483647
+-32768 * -2147483647
+quote -32768 * -32768
+-32768 * -32768
+quote -32768 * -32767
+-32768 * -32767
+quote -32768 * -128
+-32768 * -128
+quote -32768 * -127
+-32768 * -127
+quote -32768 * 255
+-32768 * 255
+quote -32768 * 256
+-32768 * 256
+quote -32768 * 65535
+-32768 * 65535
+quote -32768 * 65536
+-32768 * 65536
+quote -32768 * 4294967295
+-32768 * 4294967295
+quote -32768 * 4294967296
+-32768 * 4294967296
+quote -32768 * 18446744073709551615
+-32768 * 18446744073709551615
+quote -32768 * 18446744073709551616
+-32768 * 18446744073709551616
+quote -32768 * 340282366920938463463374607431768211455
+-32768 * 340282366920938463463374607431768211455
+quote -32768 * 340282366920938463463374607431768211456
+-32768 * 340282366920938463463374607431768211456
+quote -32767 * -170141183460469231731687303715884105728
+-32767 * -170141183460469231731687303715884105728
+quote -32767 * -170141183460469231731687303715884105727
+-32767 * -170141183460469231731687303715884105727
+quote -32767 * -9223372036854775808
+-32767 * -9223372036854775808
+quote -32767 * -9223372036854775807
+-32767 * -9223372036854775807
+quote -32767 * -2147483648
+-32767 * -2147483648
+quote -32767 * -2147483647
+-32767 * -2147483647
+quote -32767 * -32768
+-32767 * -32768
+quote -32767 * -32767
+-32767 * -32767
+quote -32767 * -128
+-32767 * -128
+quote -32767 * -127
+-32767 * -127
+quote -32767 * 255
+-32767 * 255
+quote -32767 * 256
+-32767 * 256
+quote -32767 * 65535
+-32767 * 65535
+quote -32767 * 65536
+-32767 * 65536
+quote -32767 * 4294967295
+-32767 * 4294967295
+quote -32767 * 4294967296
+-32767 * 4294967296
+quote -32767 * 18446744073709551615
+-32767 * 18446744073709551615
+quote -32767 * 18446744073709551616
+-32767 * 18446744073709551616
+quote -32767 * 340282366920938463463374607431768211455
+-32767 * 340282366920938463463374607431768211455
+quote -32767 * 340282366920938463463374607431768211456
+-32767 * 340282366920938463463374607431768211456
+quote -128 * -170141183460469231731687303715884105728
+-128 * -170141183460469231731687303715884105728
+quote -128 * -170141183460469231731687303715884105727
+-128 * -170141183460469231731687303715884105727
+quote -128 * -9223372036854775808
+-128 * -9223372036854775808
+quote -128 * -9223372036854775807
+-128 * -9223372036854775807
+quote -128 * -2147483648
+-128 * -2147483648
+quote -128 * -2147483647
+-128 * -2147483647
+quote -128 * -32768
+-128 * -32768
+quote -128 * -32767
+-128 * -32767
+quote -128 * -128
+-128 * -128
+quote -128 * -127
+-128 * -127
+quote -128 * 255
+-128 * 255
+quote -128 * 256
+-128 * 256
+quote -128 * 65535
+-128 * 65535
+quote -128 * 65536
+-128 * 65536
+quote -128 * 4294967295
+-128 * 4294967295
+quote -128 * 4294967296
+-128 * 4294967296
+quote -128 * 18446744073709551615
+-128 * 18446744073709551615
+quote -128 * 18446744073709551616
+-128 * 18446744073709551616
+quote -128 * 340282366920938463463374607431768211455
+-128 * 340282366920938463463374607431768211455
+quote -128 * 340282366920938463463374607431768211456
+-128 * 340282366920938463463374607431768211456
+quote -127 * -170141183460469231731687303715884105728
+-127 * -170141183460469231731687303715884105728
+quote -127 * -170141183460469231731687303715884105727
+-127 * -170141183460469231731687303715884105727
+quote -127 * -9223372036854775808
+-127 * -9223372036854775808
+quote -127 * -9223372036854775807
+-127 * -9223372036854775807
+quote -127 * -2147483648
+-127 * -2147483648
+quote -127 * -2147483647
+-127 * -2147483647
+quote -127 * -32768
+-127 * -32768
+quote -127 * -32767
+-127 * -32767
+quote -127 * -128
+-127 * -128
+quote -127 * -127
+-127 * -127
+quote -127 * 255
+-127 * 255
+quote -127 * 256
+-127 * 256
+quote -127 * 65535
+-127 * 65535
+quote -127 * 65536
+-127 * 65536
+quote -127 * 4294967295
+-127 * 4294967295
+quote -127 * 4294967296
+-127 * 4294967296
+quote -127 * 18446744073709551615
+-127 * 18446744073709551615
+quote -127 * 18446744073709551616
+-127 * 18446744073709551616
+quote -127 * 340282366920938463463374607431768211455
+-127 * 340282366920938463463374607431768211455
+quote -127 * 340282366920938463463374607431768211456
+-127 * 340282366920938463463374607431768211456
+quote 255 * -170141183460469231731687303715884105728
+255 * -170141183460469231731687303715884105728
+quote 255 * -170141183460469231731687303715884105727
+255 * -170141183460469231731687303715884105727
+quote 255 * -9223372036854775808
+255 * -9223372036854775808
+quote 255 * -9223372036854775807
+255 * -9223372036854775807
+quote 255 * -2147483648
+255 * -2147483648
+quote 255 * -2147483647
+255 * -2147483647
+quote 255 * -32768
+255 * -32768
+quote 255 * -32767
+255 * -32767
+quote 255 * -128
+255 * -128
+quote 255 * -127
+255 * -127
+quote 255 * 255
+255 * 255
+quote 255 * 256
+255 * 256
+quote 255 * 65535
+255 * 65535
+quote 255 * 65536
+255 * 65536
+quote 255 * 4294967295
+255 * 4294967295
+quote 255 * 4294967296
+255 * 4294967296
+quote 255 * 18446744073709551615
+255 * 18446744073709551615
+quote 255 * 18446744073709551616
+255 * 18446744073709551616
+quote 255 * 340282366920938463463374607431768211455
+255 * 340282366920938463463374607431768211455
+quote 255 * 340282366920938463463374607431768211456
+255 * 340282366920938463463374607431768211456
+quote 256 * -170141183460469231731687303715884105728
+256 * -170141183460469231731687303715884105728
+quote 256 * -170141183460469231731687303715884105727
+256 * -170141183460469231731687303715884105727
+quote 256 * -9223372036854775808
+256 * -9223372036854775808
+quote 256 * -9223372036854775807
+256 * -9223372036854775807
+quote 256 * -2147483648
+256 * -2147483648
+quote 256 * -2147483647
+256 * -2147483647
+quote 256 * -32768
+256 * -32768
+quote 256 * -32767
+256 * -32767
+quote 256 * -128
+256 * -128
+quote 256 * -127
+256 * -127
+quote 256 * 255
+256 * 255
+quote 256 * 256
+256 * 256
+quote 256 * 65535
+256 * 65535
+quote 256 * 65536
+256 * 65536
+quote 256 * 4294967295
+256 * 4294967295
+quote 256 * 4294967296
+256 * 4294967296
+quote 256 * 18446744073709551615
+256 * 18446744073709551615
+quote 256 * 18446744073709551616
+256 * 18446744073709551616
+quote 256 * 340282366920938463463374607431768211455
+256 * 340282366920938463463374607431768211455
+quote 256 * 340282366920938463463374607431768211456
+256 * 340282366920938463463374607431768211456
+quote 65535 * -170141183460469231731687303715884105728
+65535 * -170141183460469231731687303715884105728
+quote 65535 * -170141183460469231731687303715884105727
+65535 * -170141183460469231731687303715884105727
+quote 65535 * -9223372036854775808
+65535 * -9223372036854775808
+quote 65535 * -9223372036854775807
+65535 * -9223372036854775807
+quote 65535 * -2147483648
+65535 * -2147483648
+quote 65535 * -2147483647
+65535 * -2147483647
+quote 65535 * -32768
+65535 * -32768
+quote 65535 * -32767
+65535 * -32767
+quote 65535 * -128
+65535 * -128
+quote 65535 * -127
+65535 * -127
+quote 65535 * 255
+65535 * 255
+quote 65535 * 256
+65535 * 256
+quote 65535 * 65535
+65535 * 65535
+quote 65535 * 65536
+65535 * 65536
+quote 65535 * 4294967295
+65535 * 4294967295
+quote 65535 * 4294967296
+65535 * 4294967296
+quote 65535 * 18446744073709551615
+65535 * 18446744073709551615
+quote 65535 * 18446744073709551616
+65535 * 18446744073709551616
+quote 65535 * 340282366920938463463374607431768211455
+65535 * 340282366920938463463374607431768211455
+quote 65535 * 340282366920938463463374607431768211456
+65535 * 340282366920938463463374607431768211456
+quote 65536 * -170141183460469231731687303715884105728
+65536 * -170141183460469231731687303715884105728
+quote 65536 * -170141183460469231731687303715884105727
+65536 * -170141183460469231731687303715884105727
+quote 65536 * -9223372036854775808
+65536 * -9223372036854775808
+quote 65536 * -9223372036854775807
+65536 * -9223372036854775807
+quote 65536 * -2147483648
+65536 * -2147483648
+quote 65536 * -2147483647
+65536 * -2147483647
+quote 65536 * -32768
+65536 * -32768
+quote 65536 * -32767
+65536 * -32767
+quote 65536 * -128
+65536 * -128
+quote 65536 * -127
+65536 * -127
+quote 65536 * 255
+65536 * 255
+quote 65536 * 256
+65536 * 256
+quote 65536 * 65535
+65536 * 65535
+quote 65536 * 65536
+65536 * 65536
+quote 65536 * 4294967295
+65536 * 4294967295
+quote 65536 * 4294967296
+65536 * 4294967296
+quote 65536 * 18446744073709551615
+65536 * 18446744073709551615
+quote 65536 * 18446744073709551616
+65536 * 18446744073709551616
+quote 65536 * 340282366920938463463374607431768211455
+65536 * 340282366920938463463374607431768211455
+quote 65536 * 340282366920938463463374607431768211456
+65536 * 340282366920938463463374607431768211456
+quote 4294967295 * -170141183460469231731687303715884105728
+4294967295 * -170141183460469231731687303715884105728
+quote 4294967295 * -170141183460469231731687303715884105727
+4294967295 * -170141183460469231731687303715884105727
+quote 4294967295 * -9223372036854775808
+4294967295 * -9223372036854775808
+quote 4294967295 * -9223372036854775807
+4294967295 * -9223372036854775807
+quote 4294967295 * -2147483648
+4294967295 * -2147483648
+quote 4294967295 * -2147483647
+4294967295 * -2147483647
+quote 4294967295 * -32768
+4294967295 * -32768
+quote 4294967295 * -32767
+4294967295 * -32767
+quote 4294967295 * -128
+4294967295 * -128
+quote 4294967295 * -127
+4294967295 * -127
+quote 4294967295 * 255
+4294967295 * 255
+quote 4294967295 * 256
+4294967295 * 256
+quote 4294967295 * 65535
+4294967295 * 65535
+quote 4294967295 * 65536
+4294967295 * 65536
+quote 4294967295 * 4294967295
+4294967295 * 4294967295
+quote 4294967295 * 4294967296
+4294967295 * 4294967296
+quote 4294967295 * 18446744073709551615
+4294967295 * 18446744073709551615
+quote 4294967295 * 18446744073709551616
+4294967295 * 18446744073709551616
+quote 4294967295 * 340282366920938463463374607431768211455
+4294967295 * 340282366920938463463374607431768211455
+quote 4294967295 * 340282366920938463463374607431768211456
+4294967295 * 340282366920938463463374607431768211456
+quote 4294967296 * -170141183460469231731687303715884105728
+4294967296 * -170141183460469231731687303715884105728
+quote 4294967296 * -170141183460469231731687303715884105727
+4294967296 * -170141183460469231731687303715884105727
+quote 4294967296 * -9223372036854775808
+4294967296 * -9223372036854775808
+quote 4294967296 * -9223372036854775807
+4294967296 * -9223372036854775807
+quote 4294967296 * -2147483648
+4294967296 * -2147483648
+quote 4294967296 * -2147483647
+4294967296 * -2147483647
+quote 4294967296 * -32768
+4294967296 * -32768
+quote 4294967296 * -32767
+4294967296 * -32767
+quote 4294967296 * -128
+4294967296 * -128
+quote 4294967296 * -127
+4294967296 * -127
+quote 4294967296 * 255
+4294967296 * 255
+quote 4294967296 * 256
+4294967296 * 256
+quote 4294967296 * 65535
+4294967296 * 65535
+quote 4294967296 * 65536
+4294967296 * 65536
+quote 4294967296 * 4294967295
+4294967296 * 4294967295
+quote 4294967296 * 4294967296
+4294967296 * 4294967296
+quote 4294967296 * 18446744073709551615
+4294967296 * 18446744073709551615
+quote 4294967296 * 18446744073709551616
+4294967296 * 18446744073709551616
+quote 4294967296 * 340282366920938463463374607431768211455
+4294967296 * 340282366920938463463374607431768211455
+quote 4294967296 * 340282366920938463463374607431768211456
+4294967296 * 340282366920938463463374607431768211456
+quote 18446744073709551615 * -170141183460469231731687303715884105728
+18446744073709551615 * -170141183460469231731687303715884105728
+quote 18446744073709551615 * -170141183460469231731687303715884105727
+18446744073709551615 * -170141183460469231731687303715884105727
+quote 18446744073709551615 * -9223372036854775808
+18446744073709551615 * -9223372036854775808
+quote 18446744073709551615 * -9223372036854775807
+18446744073709551615 * -9223372036854775807
+quote 18446744073709551615 * -2147483648
+18446744073709551615 * -2147483648
+quote 18446744073709551615 * -2147483647
+18446744073709551615 * -2147483647
+quote 18446744073709551615 * -32768
+18446744073709551615 * -32768
+quote 18446744073709551615 * -32767
+18446744073709551615 * -32767
+quote 18446744073709551615 * -128
+18446744073709551615 * -128
+quote 18446744073709551615 * -127
+18446744073709551615 * -127
+quote 18446744073709551615 * 255
+18446744073709551615 * 255
+quote 18446744073709551615 * 256
+18446744073709551615 * 256
+quote 18446744073709551615 * 65535
+18446744073709551615 * 65535
+quote 18446744073709551615 * 65536
+18446744073709551615 * 65536
+quote 18446744073709551615 * 4294967295
+18446744073709551615 * 4294967295
+quote 18446744073709551615 * 4294967296
+18446744073709551615 * 4294967296
+quote 18446744073709551615 * 18446744073709551615
+18446744073709551615 * 18446744073709551615
+quote 18446744073709551615 * 18446744073709551616
+18446744073709551615 * 18446744073709551616
+quote 18446744073709551615 * 340282366920938463463374607431768211455
+18446744073709551615 * 340282366920938463463374607431768211455
+quote 18446744073709551615 * 340282366920938463463374607431768211456
+18446744073709551615 * 340282366920938463463374607431768211456
+quote 18446744073709551616 * -170141183460469231731687303715884105728
+18446744073709551616 * -170141183460469231731687303715884105728
+quote 18446744073709551616 * -170141183460469231731687303715884105727
+18446744073709551616 * -170141183460469231731687303715884105727
+quote 18446744073709551616 * -9223372036854775808
+18446744073709551616 * -9223372036854775808
+quote 18446744073709551616 * -9223372036854775807
+18446744073709551616 * -9223372036854775807
+quote 18446744073709551616 * -2147483648
+18446744073709551616 * -2147483648
+quote 18446744073709551616 * -2147483647
+18446744073709551616 * -2147483647
+quote 18446744073709551616 * -32768
+18446744073709551616 * -32768
+quote 18446744073709551616 * -32767
+18446744073709551616 * -32767
+quote 18446744073709551616 * -128
+18446744073709551616 * -128
+quote 18446744073709551616 * -127
+18446744073709551616 * -127
+quote 18446744073709551616 * 255
+18446744073709551616 * 255
+quote 18446744073709551616 * 256
+18446744073709551616 * 256
+quote 18446744073709551616 * 65535
+18446744073709551616 * 65535
+quote 18446744073709551616 * 65536
+18446744073709551616 * 65536
+quote 18446744073709551616 * 4294967295
+18446744073709551616 * 4294967295
+quote 18446744073709551616 * 4294967296
+18446744073709551616 * 4294967296
+quote 18446744073709551616 * 18446744073709551615
+18446744073709551616 * 18446744073709551615
+quote 18446744073709551616 * 18446744073709551616
+18446744073709551616 * 18446744073709551616
+quote 18446744073709551616 * 340282366920938463463374607431768211455
+18446744073709551616 * 340282366920938463463374607431768211455
+quote 18446744073709551616 * 340282366920938463463374607431768211456
+18446744073709551616 * 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211455 * -170141183460469231731687303715884105728
+340282366920938463463374607431768211455 * -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211455 * -170141183460469231731687303715884105727
+340282366920938463463374607431768211455 * -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211455 * -9223372036854775808
+340282366920938463463374607431768211455 * -9223372036854775808
+quote 340282366920938463463374607431768211455 * -9223372036854775807
+340282366920938463463374607431768211455 * -9223372036854775807
+quote 340282366920938463463374607431768211455 * -2147483648
+340282366920938463463374607431768211455 * -2147483648
+quote 340282366920938463463374607431768211455 * -2147483647
+340282366920938463463374607431768211455 * -2147483647
+quote 340282366920938463463374607431768211455 * -32768
+340282366920938463463374607431768211455 * -32768
+quote 340282366920938463463374607431768211455 * -32767
+340282366920938463463374607431768211455 * -32767
+quote 340282366920938463463374607431768211455 * -128
+340282366920938463463374607431768211455 * -128
+quote 340282366920938463463374607431768211455 * -127
+340282366920938463463374607431768211455 * -127
+quote 340282366920938463463374607431768211455 * 255
+340282366920938463463374607431768211455 * 255
+quote 340282366920938463463374607431768211455 * 256
+340282366920938463463374607431768211455 * 256
+quote 340282366920938463463374607431768211455 * 65535
+340282366920938463463374607431768211455 * 65535
+quote 340282366920938463463374607431768211455 * 65536
+340282366920938463463374607431768211455 * 65536
+quote 340282366920938463463374607431768211455 * 4294967295
+340282366920938463463374607431768211455 * 4294967295
+quote 340282366920938463463374607431768211455 * 4294967296
+340282366920938463463374607431768211455 * 4294967296
+quote 340282366920938463463374607431768211455 * 18446744073709551615
+340282366920938463463374607431768211455 * 18446744073709551615
+quote 340282366920938463463374607431768211455 * 18446744073709551616
+340282366920938463463374607431768211455 * 18446744073709551616
+quote 340282366920938463463374607431768211455 * 340282366920938463463374607431768211455
+340282366920938463463374607431768211455 * 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211455 * 340282366920938463463374607431768211456
+340282366920938463463374607431768211455 * 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211456 * -170141183460469231731687303715884105728
+340282366920938463463374607431768211456 * -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211456 * -170141183460469231731687303715884105727
+340282366920938463463374607431768211456 * -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211456 * -9223372036854775808
+340282366920938463463374607431768211456 * -9223372036854775808
+quote 340282366920938463463374607431768211456 * -9223372036854775807
+340282366920938463463374607431768211456 * -9223372036854775807
+quote 340282366920938463463374607431768211456 * -2147483648
+340282366920938463463374607431768211456 * -2147483648
+quote 340282366920938463463374607431768211456 * -2147483647
+340282366920938463463374607431768211456 * -2147483647
+quote 340282366920938463463374607431768211456 * -32768
+340282366920938463463374607431768211456 * -32768
+quote 340282366920938463463374607431768211456 * -32767
+340282366920938463463374607431768211456 * -32767
+quote 340282366920938463463374607431768211456 * -128
+340282366920938463463374607431768211456 * -128
+quote 340282366920938463463374607431768211456 * -127
+340282366920938463463374607431768211456 * -127
+quote 340282366920938463463374607431768211456 * 255
+340282366920938463463374607431768211456 * 255
+quote 340282366920938463463374607431768211456 * 256
+340282366920938463463374607431768211456 * 256
+quote 340282366920938463463374607431768211456 * 65535
+340282366920938463463374607431768211456 * 65535
+quote 340282366920938463463374607431768211456 * 65536
+340282366920938463463374607431768211456 * 65536
+quote 340282366920938463463374607431768211456 * 4294967295
+340282366920938463463374607431768211456 * 4294967295
+quote 340282366920938463463374607431768211456 * 4294967296
+340282366920938463463374607431768211456 * 4294967296
+quote 340282366920938463463374607431768211456 * 18446744073709551615
+340282366920938463463374607431768211456 * 18446744073709551615
+quote 340282366920938463463374607431768211456 * 18446744073709551616
+340282366920938463463374607431768211456 * 18446744073709551616
+quote 340282366920938463463374607431768211456 * 340282366920938463463374607431768211455
+340282366920938463463374607431768211456 * 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211456 * 340282366920938463463374607431768211456
+340282366920938463463374607431768211456 * 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_mul_2.out.expected b/test/ic3/integer_mul_2.out.expected
new file mode 100644
index 0000000..f8e913d
--- /dev/null
+++ b/test/ic3/integer_mul_2.out.expected
@@ -0,0 +1,800 @@
+-170141183460469231731687303715884105728 * -170141183460469231731687303715884105728
+28948022309329048855892746252171976963317496166410141009864396001978282409984
+-170141183460469231731687303715884105728 * -170141183460469231731687303715884105727
+28948022309329048855892746252171976963147354982949671778132708698262398304256
+-170141183460469231731687303715884105728 * -9223372036854775808
+1569275433846670190958947355801916604025588861116008628224
+-170141183460469231731687303715884105728 * -9223372036854775807
+1569275433846670190788806172341447372293901557400124522496
+-170141183460469231731687303715884105728 * -2147483648
+365375409332725729550921208179070754913983135744
+-170141183460469231731687303715884105728 * -2147483647
+365375409162584546090451976447383451198099030016
+-170141183460469231731687303715884105728 * -32768
+5575186299632655785383929568162090376495104
+-170141183460469231731687303715884105728 * -32767
+5575016158449195316152197880858374492389376
+-170141183460469231731687303715884105728 * -128
+21778071482940061661655974875633165533184
+-170141183460469231731687303715884105728 * -127
+21607930299479592429924287571917281427456
+-170141183460469231731687303715884105728 * 255
+-43386001782419654091580262447550446960640
+-170141183460469231731687303715884105728 * 256
+-43556142965880123323311949751266331066368
+-170141183460469231731687303715884105728 * 65535
+-11150202458081851101536127449020464868884480
+-170141183460469231731687303715884105728 * 65536
+-11150372599265311570767859136324180752990208
+-170141183460469231731687303715884105728 * 4294967295
+-730750818495310275641373184626454206112082165760
+-170141183460469231731687303715884105728 * 4294967296
+-730750818665451459101842416358141509827966271488
+-170141183460469231731687303715884105728 * 18446744073709551615
+-3138550867693340381747753528143363976319490418516133150720
+-170141183460469231731687303715884105728 * 18446744073709551616
+-3138550867693340381917894711603833208051177722232017256448
+-170141183460469231731687303715884105728 * 340282366920938463463374607431768211455
+-57896044618658097711785492504343953926464851149359812787997104700240680714240
+-170141183460469231731687303715884105728 * 340282366920938463463374607431768211456
+-57896044618658097711785492504343953926634992332820282019728792003956564819968
+-170141183460469231731687303715884105727 * -170141183460469231731687303715884105728
+28948022309329048855892746252171976963147354982949671778132708698262398304256
+-170141183460469231731687303715884105727 * -170141183460469231731687303715884105727
+28948022309329048855892746252171976962977213799489202546401021394546514198529
+-170141183460469231731687303715884105727 * -9223372036854775808
+1569275433846670190958947355801916604016365489079153852416
+-170141183460469231731687303715884105727 * -9223372036854775807
+1569275433846670190788806172341447372284678185363269746689
+-170141183460469231731687303715884105727 * -2147483648
+365375409332725729550921208179070754911835652096
+-170141183460469231731687303715884105727 * -2147483647
+365375409162584546090451976447383451195951546369
+-170141183460469231731687303715884105727 * -32768
+5575186299632655785383929568162090376462336
+-170141183460469231731687303715884105727 * -32767
+5575016158449195316152197880858374492356609
+-170141183460469231731687303715884105727 * -128
+21778071482940061661655974875633165533056
+-170141183460469231731687303715884105727 * -127
+21607930299479592429924287571917281427329
+-170141183460469231731687303715884105727 * 255
+-43386001782419654091580262447550446960385
+-170141183460469231731687303715884105727 * 256
+-43556142965880123323311949751266331066112
+-170141183460469231731687303715884105727 * 65535
+-11150202458081851101536127449020464868818945
+-170141183460469231731687303715884105727 * 65536
+-11150372599265311570767859136324180752924672
+-170141183460469231731687303715884105727 * 4294967295
+-730750818495310275641373184626454206107787198465
+-170141183460469231731687303715884105727 * 4294967296
+-730750818665451459101842416358141509823671304192
+-170141183460469231731687303715884105727 * 18446744073709551615
+-3138550867693340381747753528143363976301043674442423599105
+-170141183460469231731687303715884105727 * 18446744073709551616
+-3138550867693340381917894711603833208032730978158307704832
+-170141183460469231731687303715884105727 * 340282366920938463463374607431768211455
+-57896044618658097711785492504343953926124568782438874324533730092808912502785
+-170141183460469231731687303715884105727 * 340282366920938463463374607431768211456
+-57896044618658097711785492504343953926294709965899343556265417396524796608512
+-9223372036854775808 * -170141183460469231731687303715884105728
+1569275433846670190958947355801916604025588861116008628224
+-9223372036854775808 * -170141183460469231731687303715884105727
+1569275433846670190958947355801916604016365489079153852416
+-9223372036854775808 * -9223372036854775808
+85070591730234615865843651857942052864
+-9223372036854775808 * -9223372036854775807
+85070591730234615856620279821087277056
+-9223372036854775808 * -2147483648
+19807040628566084398385987584
+-9223372036854775808 * -2147483647
+19807040619342712361531211776
+-9223372036854775808 * -32768
+302231454903657293676544
+-9223372036854775808 * -32767
+302222231531620438900736
+-9223372036854775808 * -128
+1180591620717411303424
+-9223372036854775808 * -127
+1171368248680556527616
+-9223372036854775808 * 255
+-2351959869397967831040
+-9223372036854775808 * 256
+-2361183241434822606848
+-9223372036854775808 * 65535
+-604453686435277732577280
+-9223372036854775808 * 65536
+-604462909807314587353088
+-9223372036854775808 * 4294967295
+-39614081247908796759917199360
+-9223372036854775808 * 4294967296
+-39614081257132168796771975168
+-9223372036854775808 * 18446744073709551615
+-170141183460469231722463931679029329920
+-9223372036854775808 * 18446744073709551616
+-170141183460469231731687303715884105728
+-9223372036854775808 * 340282366920938463463374607431768211455
+-3138550867693340381917894711603833208041954350195162480640
+-9223372036854775808 * 340282366920938463463374607431768211456
+-3138550867693340381917894711603833208051177722232017256448
+-9223372036854775807 * -170141183460469231731687303715884105728
+1569275433846670190788806172341447372293901557400124522496
+-9223372036854775807 * -170141183460469231731687303715884105727
+1569275433846670190788806172341447372284678185363269746689
+-9223372036854775807 * -9223372036854775808
+85070591730234615856620279821087277056
+-9223372036854775807 * -9223372036854775807
+85070591730234615847396907784232501249
+-9223372036854775807 * -2147483648
+19807040628566084396238503936
+-9223372036854775807 * -2147483647
+19807040619342712359383728129
+-9223372036854775807 * -32768
+302231454903657293643776
+-9223372036854775807 * -32767
+302222231531620438867969
+-9223372036854775807 * -128
+1180591620717411303296
+-9223372036854775807 * -127
+1171368248680556527489
+-9223372036854775807 * 255
+-2351959869397967830785
+-9223372036854775807 * 256
+-2361183241434822606592
+-9223372036854775807 * 65535
+-604453686435277732511745
+-9223372036854775807 * 65536
+-604462909807314587287552
+-9223372036854775807 * 4294967295
+-39614081247908796755622232065
+-9223372036854775807 * 4294967296
+-39614081257132168792477007872
+-9223372036854775807 * 18446744073709551615
+-170141183460469231704017187605319778305
+-9223372036854775807 * 18446744073709551616
+-170141183460469231713240559642174554112
+-9223372036854775807 * 340282366920938463463374607431768211455
+-3138550867693340381577612344682894744578579742763394269185
+-9223372036854775807 * 340282366920938463463374607431768211456
+-3138550867693340381577612344682894744587803114800249044992
+-2147483648 * -170141183460469231731687303715884105728
+365375409332725729550921208179070754913983135744
+-2147483648 * -170141183460469231731687303715884105727
+365375409332725729550921208179070754911835652096
+-2147483648 * -9223372036854775808
+19807040628566084398385987584
+-2147483648 * -9223372036854775807
+19807040628566084396238503936
+-2147483648 * -2147483648
+4611686018427387904
+-2147483648 * -2147483647
+4611686016279904256
+-2147483648 * -32768
+70368744177664
+-2147483648 * -32767
+70366596694016
+-2147483648 * -128
+274877906944
+-2147483648 * -127
+272730423296
+-2147483648 * 255
+-547608330240
+-2147483648 * 256
+-549755813888
+-2147483648 * 65535
+-140735340871680
+-2147483648 * 65536
+-140737488355328
+-2147483648 * 4294967295
+-9223372034707292160
+-2147483648 * 4294967296
+-9223372036854775808
+-2147483648 * 18446744073709551615
+-39614081257132168794624491520
+-2147483648 * 18446744073709551616
+-39614081257132168796771975168
+-2147483648 * 340282366920938463463374607431768211455
+-730750818665451459101842416358141509825818787840
+-2147483648 * 340282366920938463463374607431768211456
+-730750818665451459101842416358141509827966271488
+-2147483647 * -170141183460469231731687303715884105728
+365375409162584546090451976447383451198099030016
+-2147483647 * -170141183460469231731687303715884105727
+365375409162584546090451976447383451195951546369
+-2147483647 * -9223372036854775808
+19807040619342712361531211776
+-2147483647 * -9223372036854775807
+19807040619342712359383728129
+-2147483647 * -2147483648
+4611686016279904256
+-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
+-2147483647 * 18446744073709551615
+-39614081238685424720914939905
+-2147483647 * 18446744073709551616
+-39614081238685424723062423552
+-2147483647 * 340282366920938463463374607431768211455
+-730750818325169092180903952894766902394050576385
+-2147483647 * 340282366920938463463374607431768211456
+-730750818325169092180903952894766902396198060032
+-32768 * -170141183460469231731687303715884105728
+5575186299632655785383929568162090376495104
+-32768 * -170141183460469231731687303715884105727
+5575186299632655785383929568162090376462336
+-32768 * -9223372036854775808
+302231454903657293676544
+-32768 * -9223372036854775807
+302231454903657293643776
+-32768 * -2147483648
+70368744177664
+-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
+-32768 * 18446744073709551615
+-604462909807314587320320
+-32768 * 18446744073709551616
+-604462909807314587353088
+-32768 * 340282366920938463463374607431768211455
+-11150372599265311570767859136324180752957440
+-32768 * 340282366920938463463374607431768211456
+-11150372599265311570767859136324180752990208
+-32767 * -170141183460469231731687303715884105728
+5575016158449195316152197880858374492389376
+-32767 * -170141183460469231731687303715884105727
+5575016158449195316152197880858374492356609
+-32767 * -9223372036854775808
+302222231531620438900736
+-32767 * -9223372036854775807
+302222231531620438867969
+-32767 * -2147483648
+70366596694016
+-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
+-32767 * 18446744073709551615
+-604444463063240877768705
+-32767 * 18446744073709551616
+-604444463063240877801472
+-32767 * 340282366920938463463374607431768211455
+-11150032316898390632304395761716748984745985
+-32767 * 340282366920938463463374607431768211456
+-11150032316898390632304395761716748984778752
+-128 * -170141183460469231731687303715884105728
+21778071482940061661655974875633165533184
+-128 * -170141183460469231731687303715884105727
+21778071482940061661655974875633165533056
+-128 * -9223372036854775808
+1180591620717411303424
+-128 * -9223372036854775807
+1180591620717411303296
+-128 * -2147483648
+274877906944
+-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
+-128 * 18446744073709551615
+-2361183241434822606720
+-128 * 18446744073709551616
+-2361183241434822606848
+-128 * 340282366920938463463374607431768211455
+-43556142965880123323311949751266331066240
+-128 * 340282366920938463463374607431768211456
+-43556142965880123323311949751266331066368
+-127 * -170141183460469231731687303715884105728
+21607930299479592429924287571917281427456
+-127 * -170141183460469231731687303715884105727
+21607930299479592429924287571917281427329
+-127 * -9223372036854775808
+1171368248680556527616
+-127 * -9223372036854775807
+1171368248680556527489
+-127 * -2147483648
+272730423296
+-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
+-127 * 18446744073709551615
+-2342736497361113055105
+-127 * 18446744073709551616
+-2342736497361113055232
+-127 * 340282366920938463463374607431768211455
+-43215860598959184859848575143834562854785
+-127 * 340282366920938463463374607431768211456
+-43215860598959184859848575143834562854912
+255 * -170141183460469231731687303715884105728
+-43386001782419654091580262447550446960640
+255 * -170141183460469231731687303715884105727
+-43386001782419654091580262447550446960385
+255 * -9223372036854775808
+-2351959869397967831040
+255 * -9223372036854775807
+-2351959869397967830785
+255 * -2147483648
+-547608330240
+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
+255 * 18446744073709551615
+4703919738795935661825
+255 * 18446744073709551616
+4703919738795935662080
+255 * 340282366920938463463374607431768211455
+86772003564839308183160524895100893921025
+255 * 340282366920938463463374607431768211456
+86772003564839308183160524895100893921280
+256 * -170141183460469231731687303715884105728
+-43556142965880123323311949751266331066368
+256 * -170141183460469231731687303715884105727
+-43556142965880123323311949751266331066112
+256 * -9223372036854775808
+-2361183241434822606848
+256 * -9223372036854775807
+-2361183241434822606592
+256 * -2147483648
+-549755813888
+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
+256 * 18446744073709551615
+4722366482869645213440
+256 * 18446744073709551616
+4722366482869645213696
+256 * 340282366920938463463374607431768211455
+87112285931760246646623899502532662132480
+256 * 340282366920938463463374607431768211456
+87112285931760246646623899502532662132736
+65535 * -170141183460469231731687303715884105728
+-11150202458081851101536127449020464868884480
+65535 * -170141183460469231731687303715884105727
+-11150202458081851101536127449020464868818945
+65535 * -9223372036854775808
+-604453686435277732577280
+65535 * -9223372036854775807
+-604453686435277732511745
+65535 * -2147483648
+-140735340871680
+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
+65535 * 18446744073709551615
+1208907372870555465089025
+65535 * 18446744073709551616
+1208907372870555465154560
+65535 * 340282366920938463463374607431768211455
+22300404916163702203072254898040929737703425
+65535 * 340282366920938463463374607431768211456
+22300404916163702203072254898040929737768960
+65536 * -170141183460469231731687303715884105728
+-11150372599265311570767859136324180752990208
+65536 * -170141183460469231731687303715884105727
+-11150372599265311570767859136324180752924672
+65536 * -9223372036854775808
+-604462909807314587353088
+65536 * -9223372036854775807
+-604462909807314587287552
+65536 * -2147483648
+-140737488355328
+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
+65536 * 18446744073709551615
+1208925819614629174640640
+65536 * 18446744073709551616
+1208925819614629174706176
+65536 * 340282366920938463463374607431768211455
+22300745198530623141535718272648361505914880
+65536 * 340282366920938463463374607431768211456
+22300745198530623141535718272648361505980416
+4294967295 * -170141183460469231731687303715884105728
+-730750818495310275641373184626454206112082165760
+4294967295 * -170141183460469231731687303715884105727
+-730750818495310275641373184626454206107787198465
+4294967295 * -9223372036854775808
+-39614081247908796759917199360
+4294967295 * -9223372036854775807
+-39614081247908796755622232065
+4294967295 * -2147483648
+-9223372034707292160
+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
+4294967295 * 18446744073709551615
+79228162495817593515539431425
+4294967295 * 18446744073709551616
+79228162495817593519834398720
+4294967295 * 340282366920938463463374607431768211455
+1461501636990620551282746369252908412219869364225
+4294967295 * 340282366920938463463374607431768211456
+1461501636990620551282746369252908412224164331520
+4294967296 * -170141183460469231731687303715884105728
+-730750818665451459101842416358141509827966271488
+4294967296 * -170141183460469231731687303715884105727
+-730750818665451459101842416358141509823671304192
+4294967296 * -9223372036854775808
+-39614081257132168796771975168
+4294967296 * -9223372036854775807
+-39614081257132168792477007872
+4294967296 * -2147483648
+-9223372036854775808
+4294967296 * -2147483647
+-9223372032559808512
+4294967296 * -32768
+-140737488355328
+4294967296 * -32767
+-140733193388032
+4294967296 * -128
+-549755813888
+4294967296 * -127
+-545460846592
+4294967296 * 255
+1095216660480
+4294967296 * 256
+1099511627776
+4294967296 * 65535
+281470681743360
+4294967296 * 65536
+281474976710656
+4294967296 * 4294967295
+18446744069414584320
+4294967296 * 4294967296
+18446744073709551616
+4294967296 * 18446744073709551615
+79228162514264337589248983040
+4294967296 * 18446744073709551616
+79228162514264337593543950336
+4294967296 * 340282366920938463463374607431768211455
+1461501637330902918203684832716283019651637575680
+4294967296 * 340282366920938463463374607431768211456
+1461501637330902918203684832716283019655932542976
+18446744073709551615 * -170141183460469231731687303715884105728
+-3138550867693340381747753528143363976319490418516133150720
+18446744073709551615 * -170141183460469231731687303715884105727
+-3138550867693340381747753528143363976301043674442423599105
+18446744073709551615 * -9223372036854775808
+-170141183460469231722463931679029329920
+18446744073709551615 * -9223372036854775807
+-170141183460469231704017187605319778305
+18446744073709551615 * -2147483648
+-39614081257132168794624491520
+18446744073709551615 * -2147483647
+-39614081238685424720914939905
+18446744073709551615 * -32768
+-604462909807314587320320
+18446744073709551615 * -32767
+-604444463063240877768705
+18446744073709551615 * -128
+-2361183241434822606720
+18446744073709551615 * -127
+-2342736497361113055105
+18446744073709551615 * 255
+4703919738795935661825
+18446744073709551615 * 256
+4722366482869645213440
+18446744073709551615 * 65535
+1208907372870555465089025
+18446744073709551615 * 65536
+1208925819614629174640640
+18446744073709551615 * 4294967295
+79228162495817593515539431425
+18446744073709551615 * 4294967296
+79228162514264337589248983040
+18446744073709551615 * 18446744073709551615
+340282366920938463426481119284349108225
+18446744073709551615 * 18446744073709551616
+340282366920938463444927863358058659840
+18446744073709551615 * 340282366920938463463374607431768211455
+6277101735386680763495507056286727952620534092958556749825
+18446744073709551615 * 340282366920938463463374607431768211456
+6277101735386680763495507056286727952638980837032266301440
+18446744073709551616 * -170141183460469231731687303715884105728
+-3138550867693340381917894711603833208051177722232017256448
+18446744073709551616 * -170141183460469231731687303715884105727
+-3138550867693340381917894711603833208032730978158307704832
+18446744073709551616 * -9223372036854775808
+-170141183460469231731687303715884105728
+18446744073709551616 * -9223372036854775807
+-170141183460469231713240559642174554112
+18446744073709551616 * -2147483648
+-39614081257132168796771975168
+18446744073709551616 * -2147483647
+-39614081238685424723062423552
+18446744073709551616 * -32768
+-604462909807314587353088
+18446744073709551616 * -32767
+-604444463063240877801472
+18446744073709551616 * -128
+-2361183241434822606848
+18446744073709551616 * -127
+-2342736497361113055232
+18446744073709551616 * 255
+4703919738795935662080
+18446744073709551616 * 256
+4722366482869645213696
+18446744073709551616 * 65535
+1208907372870555465154560
+18446744073709551616 * 65536
+1208925819614629174706176
+18446744073709551616 * 4294967295
+79228162495817593519834398720
+18446744073709551616 * 4294967296
+79228162514264337593543950336
+18446744073709551616 * 18446744073709551615
+340282366920938463444927863358058659840
+18446744073709551616 * 18446744073709551616
+340282366920938463463374607431768211456
+18446744073709551616 * 340282366920938463463374607431768211455
+6277101735386680763835789423207666416083908700390324961280
+18446744073709551616 * 340282366920938463463374607431768211456
+6277101735386680763835789423207666416102355444464034512896
+340282366920938463463374607431768211455 * -170141183460469231731687303715884105728
+-57896044618658097711785492504343953926464851149359812787997104700240680714240
+340282366920938463463374607431768211455 * -170141183460469231731687303715884105727
+-57896044618658097711785492504343953926124568782438874324533730092808912502785
+340282366920938463463374607431768211455 * -9223372036854775808
+-3138550867693340381917894711603833208041954350195162480640
+340282366920938463463374607431768211455 * -9223372036854775807
+-3138550867693340381577612344682894744578579742763394269185
+340282366920938463463374607431768211455 * -2147483648
+-730750818665451459101842416358141509825818787840
+340282366920938463463374607431768211455 * -2147483647
+-730750818325169092180903952894766902394050576385
+340282366920938463463374607431768211455 * -32768
+-11150372599265311570767859136324180752957440
+340282366920938463463374607431768211455 * -32767
+-11150032316898390632304395761716748984745985
+340282366920938463463374607431768211455 * -128
+-43556142965880123323311949751266331066240
+340282366920938463463374607431768211455 * -127
+-43215860598959184859848575143834562854785
+340282366920938463463374607431768211455 * 255
+86772003564839308183160524895100893921025
+340282366920938463463374607431768211455 * 256
+87112285931760246646623899502532662132480
+340282366920938463463374607431768211455 * 65535
+22300404916163702203072254898040929737703425
+340282366920938463463374607431768211455 * 65536
+22300745198530623141535718272648361505914880
+340282366920938463463374607431768211455 * 4294967295
+1461501636990620551282746369252908412219869364225
+340282366920938463463374607431768211455 * 4294967296
+1461501637330902918203684832716283019651637575680
+340282366920938463463374607431768211455 * 18446744073709551615
+6277101735386680763495507056286727952620534092958556749825
+340282366920938463463374607431768211455 * 18446744073709551616
+6277101735386680763835789423207666416083908700390324961280
+340282366920938463463374607431768211455 * 340282366920938463463374607431768211455
+115792089237316195423570985008687907852589419931798687112530834793049593217025
+340282366920938463463374607431768211455 * 340282366920938463463374607431768211456
+115792089237316195423570985008687907852929702298719625575994209400481361428480
+340282366920938463463374607431768211456 * -170141183460469231731687303715884105728
+-57896044618658097711785492504343953926634992332820282019728792003956564819968
+340282366920938463463374607431768211456 * -170141183460469231731687303715884105727
+-57896044618658097711785492504343953926294709965899343556265417396524796608512
+340282366920938463463374607431768211456 * -9223372036854775808
+-3138550867693340381917894711603833208051177722232017256448
+340282366920938463463374607431768211456 * -9223372036854775807
+-3138550867693340381577612344682894744587803114800249044992
+340282366920938463463374607431768211456 * -2147483648
+-730750818665451459101842416358141509827966271488
+340282366920938463463374607431768211456 * -2147483647
+-730750818325169092180903952894766902396198060032
+340282366920938463463374607431768211456 * -32768
+-11150372599265311570767859136324180752990208
+340282366920938463463374607431768211456 * -32767
+-11150032316898390632304395761716748984778752
+340282366920938463463374607431768211456 * -128
+-43556142965880123323311949751266331066368
+340282366920938463463374607431768211456 * -127
+-43215860598959184859848575143834562854912
+340282366920938463463374607431768211456 * 255
+86772003564839308183160524895100893921280
+340282366920938463463374607431768211456 * 256
+87112285931760246646623899502532662132736
+340282366920938463463374607431768211456 * 65535
+22300404916163702203072254898040929737768960
+340282366920938463463374607431768211456 * 65536
+22300745198530623141535718272648361505980416
+340282366920938463463374607431768211456 * 4294967295
+1461501636990620551282746369252908412224164331520
+340282366920938463463374607431768211456 * 4294967296
+1461501637330902918203684832716283019655932542976
+340282366920938463463374607431768211456 * 18446744073709551615
+6277101735386680763495507056286727952638980837032266301440
+340282366920938463463374607431768211456 * 18446744073709551616
+6277101735386680763835789423207666416102355444464034512896
+340282366920938463463374607431768211456 * 340282366920938463463374607431768211455
+115792089237316195423570985008687907852929702298719625575994209400481361428480
+340282366920938463463374607431768211456 * 340282366920938463463374607431768211456
+115792089237316195423570985008687907853269984665640564039457584007913129639936
diff --git a/test/ic3/integer_mul_2.ret.expected b/test/ic3/integer_mul_2.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_mul_2.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_sub.in b/test/ic3/integer_sub.in
deleted file mode 100644
index a54e659..0000000
--- a/test/ic3/integer_sub.in
+++ /dev/null
@@ -1,800 +0,0 @@
-quote -170141183460469231731687303715884105728 - -170141183460469231731687303715884105728
--170141183460469231731687303715884105728 - -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105728 - -170141183460469231731687303715884105727
--170141183460469231731687303715884105728 - -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105728 - -9223372036854775808
--170141183460469231731687303715884105728 - -9223372036854775808
-quote -170141183460469231731687303715884105728 - -9223372036854775807
--170141183460469231731687303715884105728 - -9223372036854775807
-quote -170141183460469231731687303715884105728 - -2147483648
--170141183460469231731687303715884105728 - -2147483648
-quote -170141183460469231731687303715884105728 - -2147483647
--170141183460469231731687303715884105728 - -2147483647
-quote -170141183460469231731687303715884105728 - -32768
--170141183460469231731687303715884105728 - -32768
-quote -170141183460469231731687303715884105728 - -32767
--170141183460469231731687303715884105728 - -32767
-quote -170141183460469231731687303715884105728 - -128
--170141183460469231731687303715884105728 - -128
-quote -170141183460469231731687303715884105728 - -127
--170141183460469231731687303715884105728 - -127
-quote -170141183460469231731687303715884105728 - 255
--170141183460469231731687303715884105728 - 255
-quote -170141183460469231731687303715884105728 - 256
--170141183460469231731687303715884105728 - 256
-quote -170141183460469231731687303715884105728 - 65535
--170141183460469231731687303715884105728 - 65535
-quote -170141183460469231731687303715884105728 - 65536
--170141183460469231731687303715884105728 - 65536
-quote -170141183460469231731687303715884105728 - 4294967295
--170141183460469231731687303715884105728 - 4294967295
-quote -170141183460469231731687303715884105728 - 4294967296
--170141183460469231731687303715884105728 - 4294967296
-quote -170141183460469231731687303715884105728 - 18446744073709551615
--170141183460469231731687303715884105728 - 18446744073709551615
-quote -170141183460469231731687303715884105728 - 18446744073709551616
--170141183460469231731687303715884105728 - 18446744073709551616
-quote -170141183460469231731687303715884105728 - 340282366920938463463374607431768211455
--170141183460469231731687303715884105728 - 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105728 - 340282366920938463463374607431768211456
--170141183460469231731687303715884105728 - 340282366920938463463374607431768211456
-quote -170141183460469231731687303715884105727 - -170141183460469231731687303715884105728
--170141183460469231731687303715884105727 - -170141183460469231731687303715884105728
-quote -170141183460469231731687303715884105727 - -170141183460469231731687303715884105727
--170141183460469231731687303715884105727 - -170141183460469231731687303715884105727
-quote -170141183460469231731687303715884105727 - -9223372036854775808
--170141183460469231731687303715884105727 - -9223372036854775808
-quote -170141183460469231731687303715884105727 - -9223372036854775807
--170141183460469231731687303715884105727 - -9223372036854775807
-quote -170141183460469231731687303715884105727 - -2147483648
--170141183460469231731687303715884105727 - -2147483648
-quote -170141183460469231731687303715884105727 - -2147483647
--170141183460469231731687303715884105727 - -2147483647
-quote -170141183460469231731687303715884105727 - -32768
--170141183460469231731687303715884105727 - -32768
-quote -170141183460469231731687303715884105727 - -32767
--170141183460469231731687303715884105727 - -32767
-quote -170141183460469231731687303715884105727 - -128
--170141183460469231731687303715884105727 - -128
-quote -170141183460469231731687303715884105727 - -127
--170141183460469231731687303715884105727 - -127
-quote -170141183460469231731687303715884105727 - 255
--170141183460469231731687303715884105727 - 255
-quote -170141183460469231731687303715884105727 - 256
--170141183460469231731687303715884105727 - 256
-quote -170141183460469231731687303715884105727 - 65535
--170141183460469231731687303715884105727 - 65535
-quote -170141183460469231731687303715884105727 - 65536
--170141183460469231731687303715884105727 - 65536
-quote -170141183460469231731687303715884105727 - 4294967295
--170141183460469231731687303715884105727 - 4294967295
-quote -170141183460469231731687303715884105727 - 4294967296
--170141183460469231731687303715884105727 - 4294967296
-quote -170141183460469231731687303715884105727 - 18446744073709551615
--170141183460469231731687303715884105727 - 18446744073709551615
-quote -170141183460469231731687303715884105727 - 18446744073709551616
--170141183460469231731687303715884105727 - 18446744073709551616
-quote -170141183460469231731687303715884105727 - 340282366920938463463374607431768211455
--170141183460469231731687303715884105727 - 340282366920938463463374607431768211455
-quote -170141183460469231731687303715884105727 - 340282366920938463463374607431768211456
--170141183460469231731687303715884105727 - 340282366920938463463374607431768211456
-quote -9223372036854775808 - -170141183460469231731687303715884105728
--9223372036854775808 - -170141183460469231731687303715884105728
-quote -9223372036854775808 - -170141183460469231731687303715884105727
--9223372036854775808 - -170141183460469231731687303715884105727
-quote -9223372036854775808 - -9223372036854775808
--9223372036854775808 - -9223372036854775808
-quote -9223372036854775808 - -9223372036854775807
--9223372036854775808 - -9223372036854775807
-quote -9223372036854775808 - -2147483648
--9223372036854775808 - -2147483648
-quote -9223372036854775808 - -2147483647
--9223372036854775808 - -2147483647
-quote -9223372036854775808 - -32768
--9223372036854775808 - -32768
-quote -9223372036854775808 - -32767
--9223372036854775808 - -32767
-quote -9223372036854775808 - -128
--9223372036854775808 - -128
-quote -9223372036854775808 - -127
--9223372036854775808 - -127
-quote -9223372036854775808 - 255
--9223372036854775808 - 255
-quote -9223372036854775808 - 256
--9223372036854775808 - 256
-quote -9223372036854775808 - 65535
--9223372036854775808 - 65535
-quote -9223372036854775808 - 65536
--9223372036854775808 - 65536
-quote -9223372036854775808 - 4294967295
--9223372036854775808 - 4294967295
-quote -9223372036854775808 - 4294967296
--9223372036854775808 - 4294967296
-quote -9223372036854775808 - 18446744073709551615
--9223372036854775808 - 18446744073709551615
-quote -9223372036854775808 - 18446744073709551616
--9223372036854775808 - 18446744073709551616
-quote -9223372036854775808 - 340282366920938463463374607431768211455
--9223372036854775808 - 340282366920938463463374607431768211455
-quote -9223372036854775808 - 340282366920938463463374607431768211456
--9223372036854775808 - 340282366920938463463374607431768211456
-quote -9223372036854775807 - -170141183460469231731687303715884105728
--9223372036854775807 - -170141183460469231731687303715884105728
-quote -9223372036854775807 - -170141183460469231731687303715884105727
--9223372036854775807 - -170141183460469231731687303715884105727
-quote -9223372036854775807 - -9223372036854775808
--9223372036854775807 - -9223372036854775808
-quote -9223372036854775807 - -9223372036854775807
--9223372036854775807 - -9223372036854775807
-quote -9223372036854775807 - -2147483648
--9223372036854775807 - -2147483648
-quote -9223372036854775807 - -2147483647
--9223372036854775807 - -2147483647
-quote -9223372036854775807 - -32768
--9223372036854775807 - -32768
-quote -9223372036854775807 - -32767
--9223372036854775807 - -32767
-quote -9223372036854775807 - -128
--9223372036854775807 - -128
-quote -9223372036854775807 - -127
--9223372036854775807 - -127
-quote -9223372036854775807 - 255
--9223372036854775807 - 255
-quote -9223372036854775807 - 256
--9223372036854775807 - 256
-quote -9223372036854775807 - 65535
--9223372036854775807 - 65535
-quote -9223372036854775807 - 65536
--9223372036854775807 - 65536
-quote -9223372036854775807 - 4294967295
--9223372036854775807 - 4294967295
-quote -9223372036854775807 - 4294967296
--9223372036854775807 - 4294967296
-quote -9223372036854775807 - 18446744073709551615
--9223372036854775807 - 18446744073709551615
-quote -9223372036854775807 - 18446744073709551616
--9223372036854775807 - 18446744073709551616
-quote -9223372036854775807 - 340282366920938463463374607431768211455
--9223372036854775807 - 340282366920938463463374607431768211455
-quote -9223372036854775807 - 340282366920938463463374607431768211456
--9223372036854775807 - 340282366920938463463374607431768211456
-quote -2147483648 - -170141183460469231731687303715884105728
--2147483648 - -170141183460469231731687303715884105728
-quote -2147483648 - -170141183460469231731687303715884105727
--2147483648 - -170141183460469231731687303715884105727
-quote -2147483648 - -9223372036854775808
--2147483648 - -9223372036854775808
-quote -2147483648 - -9223372036854775807
--2147483648 - -9223372036854775807
-quote -2147483648 - -2147483648
--2147483648 - -2147483648
-quote -2147483648 - -2147483647
--2147483648 - -2147483647
-quote -2147483648 - -32768
--2147483648 - -32768
-quote -2147483648 - -32767
--2147483648 - -32767
-quote -2147483648 - -128
--2147483648 - -128
-quote -2147483648 - -127
--2147483648 - -127
-quote -2147483648 - 255
--2147483648 - 255
-quote -2147483648 - 256
--2147483648 - 256
-quote -2147483648 - 65535
--2147483648 - 65535
-quote -2147483648 - 65536
--2147483648 - 65536
-quote -2147483648 - 4294967295
--2147483648 - 4294967295
-quote -2147483648 - 4294967296
--2147483648 - 4294967296
-quote -2147483648 - 18446744073709551615
--2147483648 - 18446744073709551615
-quote -2147483648 - 18446744073709551616
--2147483648 - 18446744073709551616
-quote -2147483648 - 340282366920938463463374607431768211455
--2147483648 - 340282366920938463463374607431768211455
-quote -2147483648 - 340282366920938463463374607431768211456
--2147483648 - 340282366920938463463374607431768211456
-quote -2147483647 - -170141183460469231731687303715884105728
--2147483647 - -170141183460469231731687303715884105728
-quote -2147483647 - -170141183460469231731687303715884105727
--2147483647 - -170141183460469231731687303715884105727
-quote -2147483647 - -9223372036854775808
--2147483647 - -9223372036854775808
-quote -2147483647 - -9223372036854775807
--2147483647 - -9223372036854775807
-quote -2147483647 - -2147483648
--2147483647 - -2147483648
-quote -2147483647 - -2147483647
--2147483647 - -2147483647
-quote -2147483647 - -32768
--2147483647 - -32768
-quote -2147483647 - -32767
--2147483647 - -32767
-quote -2147483647 - -128
--2147483647 - -128
-quote -2147483647 - -127
--2147483647 - -127
-quote -2147483647 - 255
--2147483647 - 255
-quote -2147483647 - 256
--2147483647 - 256
-quote -2147483647 - 65535
--2147483647 - 65535
-quote -2147483647 - 65536
--2147483647 - 65536
-quote -2147483647 - 4294967295
--2147483647 - 4294967295
-quote -2147483647 - 4294967296
--2147483647 - 4294967296
-quote -2147483647 - 18446744073709551615
--2147483647 - 18446744073709551615
-quote -2147483647 - 18446744073709551616
--2147483647 - 18446744073709551616
-quote -2147483647 - 340282366920938463463374607431768211455
--2147483647 - 340282366920938463463374607431768211455
-quote -2147483647 - 340282366920938463463374607431768211456
--2147483647 - 340282366920938463463374607431768211456
-quote -32768 - -170141183460469231731687303715884105728
--32768 - -170141183460469231731687303715884105728
-quote -32768 - -170141183460469231731687303715884105727
--32768 - -170141183460469231731687303715884105727
-quote -32768 - -9223372036854775808
--32768 - -9223372036854775808
-quote -32768 - -9223372036854775807
--32768 - -9223372036854775807
-quote -32768 - -2147483648
--32768 - -2147483648
-quote -32768 - -2147483647
--32768 - -2147483647
-quote -32768 - -32768
--32768 - -32768
-quote -32768 - -32767
--32768 - -32767
-quote -32768 - -128
--32768 - -128
-quote -32768 - -127
--32768 - -127
-quote -32768 - 255
--32768 - 255
-quote -32768 - 256
--32768 - 256
-quote -32768 - 65535
--32768 - 65535
-quote -32768 - 65536
--32768 - 65536
-quote -32768 - 4294967295
--32768 - 4294967295
-quote -32768 - 4294967296
--32768 - 4294967296
-quote -32768 - 18446744073709551615
--32768 - 18446744073709551615
-quote -32768 - 18446744073709551616
--32768 - 18446744073709551616
-quote -32768 - 340282366920938463463374607431768211455
--32768 - 340282366920938463463374607431768211455
-quote -32768 - 340282366920938463463374607431768211456
--32768 - 340282366920938463463374607431768211456
-quote -32767 - -170141183460469231731687303715884105728
--32767 - -170141183460469231731687303715884105728
-quote -32767 - -170141183460469231731687303715884105727
--32767 - -170141183460469231731687303715884105727
-quote -32767 - -9223372036854775808
--32767 - -9223372036854775808
-quote -32767 - -9223372036854775807
--32767 - -9223372036854775807
-quote -32767 - -2147483648
--32767 - -2147483648
-quote -32767 - -2147483647
--32767 - -2147483647
-quote -32767 - -32768
--32767 - -32768
-quote -32767 - -32767
--32767 - -32767
-quote -32767 - -128
--32767 - -128
-quote -32767 - -127
--32767 - -127
-quote -32767 - 255
--32767 - 255
-quote -32767 - 256
--32767 - 256
-quote -32767 - 65535
--32767 - 65535
-quote -32767 - 65536
--32767 - 65536
-quote -32767 - 4294967295
--32767 - 4294967295
-quote -32767 - 4294967296
--32767 - 4294967296
-quote -32767 - 18446744073709551615
--32767 - 18446744073709551615
-quote -32767 - 18446744073709551616
--32767 - 18446744073709551616
-quote -32767 - 340282366920938463463374607431768211455
--32767 - 340282366920938463463374607431768211455
-quote -32767 - 340282366920938463463374607431768211456
--32767 - 340282366920938463463374607431768211456
-quote -128 - -170141183460469231731687303715884105728
--128 - -170141183460469231731687303715884105728
-quote -128 - -170141183460469231731687303715884105727
--128 - -170141183460469231731687303715884105727
-quote -128 - -9223372036854775808
--128 - -9223372036854775808
-quote -128 - -9223372036854775807
--128 - -9223372036854775807
-quote -128 - -2147483648
--128 - -2147483648
-quote -128 - -2147483647
--128 - -2147483647
-quote -128 - -32768
--128 - -32768
-quote -128 - -32767
--128 - -32767
-quote -128 - -128
--128 - -128
-quote -128 - -127
--128 - -127
-quote -128 - 255
--128 - 255
-quote -128 - 256
--128 - 256
-quote -128 - 65535
--128 - 65535
-quote -128 - 65536
--128 - 65536
-quote -128 - 4294967295
--128 - 4294967295
-quote -128 - 4294967296
--128 - 4294967296
-quote -128 - 18446744073709551615
--128 - 18446744073709551615
-quote -128 - 18446744073709551616
--128 - 18446744073709551616
-quote -128 - 340282366920938463463374607431768211455
--128 - 340282366920938463463374607431768211455
-quote -128 - 340282366920938463463374607431768211456
--128 - 340282366920938463463374607431768211456
-quote -127 - -170141183460469231731687303715884105728
--127 - -170141183460469231731687303715884105728
-quote -127 - -170141183460469231731687303715884105727
--127 - -170141183460469231731687303715884105727
-quote -127 - -9223372036854775808
--127 - -9223372036854775808
-quote -127 - -9223372036854775807
--127 - -9223372036854775807
-quote -127 - -2147483648
--127 - -2147483648
-quote -127 - -2147483647
--127 - -2147483647
-quote -127 - -32768
--127 - -32768
-quote -127 - -32767
--127 - -32767
-quote -127 - -128
--127 - -128
-quote -127 - -127
--127 - -127
-quote -127 - 255
--127 - 255
-quote -127 - 256
--127 - 256
-quote -127 - 65535
--127 - 65535
-quote -127 - 65536
--127 - 65536
-quote -127 - 4294967295
--127 - 4294967295
-quote -127 - 4294967296
--127 - 4294967296
-quote -127 - 18446744073709551615
--127 - 18446744073709551615
-quote -127 - 18446744073709551616
--127 - 18446744073709551616
-quote -127 - 340282366920938463463374607431768211455
--127 - 340282366920938463463374607431768211455
-quote -127 - 340282366920938463463374607431768211456
--127 - 340282366920938463463374607431768211456
-quote 255 - -170141183460469231731687303715884105728
-255 - -170141183460469231731687303715884105728
-quote 255 - -170141183460469231731687303715884105727
-255 - -170141183460469231731687303715884105727
-quote 255 - -9223372036854775808
-255 - -9223372036854775808
-quote 255 - -9223372036854775807
-255 - -9223372036854775807
-quote 255 - -2147483648
-255 - -2147483648
-quote 255 - -2147483647
-255 - -2147483647
-quote 255 - -32768
-255 - -32768
-quote 255 - -32767
-255 - -32767
-quote 255 - -128
-255 - -128
-quote 255 - -127
-255 - -127
-quote 255 - 255
-255 - 255
-quote 255 - 256
-255 - 256
-quote 255 - 65535
-255 - 65535
-quote 255 - 65536
-255 - 65536
-quote 255 - 4294967295
-255 - 4294967295
-quote 255 - 4294967296
-255 - 4294967296
-quote 255 - 18446744073709551615
-255 - 18446744073709551615
-quote 255 - 18446744073709551616
-255 - 18446744073709551616
-quote 255 - 340282366920938463463374607431768211455
-255 - 340282366920938463463374607431768211455
-quote 255 - 340282366920938463463374607431768211456
-255 - 340282366920938463463374607431768211456
-quote 256 - -170141183460469231731687303715884105728
-256 - -170141183460469231731687303715884105728
-quote 256 - -170141183460469231731687303715884105727
-256 - -170141183460469231731687303715884105727
-quote 256 - -9223372036854775808
-256 - -9223372036854775808
-quote 256 - -9223372036854775807
-256 - -9223372036854775807
-quote 256 - -2147483648
-256 - -2147483648
-quote 256 - -2147483647
-256 - -2147483647
-quote 256 - -32768
-256 - -32768
-quote 256 - -32767
-256 - -32767
-quote 256 - -128
-256 - -128
-quote 256 - -127
-256 - -127
-quote 256 - 255
-256 - 255
-quote 256 - 256
-256 - 256
-quote 256 - 65535
-256 - 65535
-quote 256 - 65536
-256 - 65536
-quote 256 - 4294967295
-256 - 4294967295
-quote 256 - 4294967296
-256 - 4294967296
-quote 256 - 18446744073709551615
-256 - 18446744073709551615
-quote 256 - 18446744073709551616
-256 - 18446744073709551616
-quote 256 - 340282366920938463463374607431768211455
-256 - 340282366920938463463374607431768211455
-quote 256 - 340282366920938463463374607431768211456
-256 - 340282366920938463463374607431768211456
-quote 65535 - -170141183460469231731687303715884105728
-65535 - -170141183460469231731687303715884105728
-quote 65535 - -170141183460469231731687303715884105727
-65535 - -170141183460469231731687303715884105727
-quote 65535 - -9223372036854775808
-65535 - -9223372036854775808
-quote 65535 - -9223372036854775807
-65535 - -9223372036854775807
-quote 65535 - -2147483648
-65535 - -2147483648
-quote 65535 - -2147483647
-65535 - -2147483647
-quote 65535 - -32768
-65535 - -32768
-quote 65535 - -32767
-65535 - -32767
-quote 65535 - -128
-65535 - -128
-quote 65535 - -127
-65535 - -127
-quote 65535 - 255
-65535 - 255
-quote 65535 - 256
-65535 - 256
-quote 65535 - 65535
-65535 - 65535
-quote 65535 - 65536
-65535 - 65536
-quote 65535 - 4294967295
-65535 - 4294967295
-quote 65535 - 4294967296
-65535 - 4294967296
-quote 65535 - 18446744073709551615
-65535 - 18446744073709551615
-quote 65535 - 18446744073709551616
-65535 - 18446744073709551616
-quote 65535 - 340282366920938463463374607431768211455
-65535 - 340282366920938463463374607431768211455
-quote 65535 - 340282366920938463463374607431768211456
-65535 - 340282366920938463463374607431768211456
-quote 65536 - -170141183460469231731687303715884105728
-65536 - -170141183460469231731687303715884105728
-quote 65536 - -170141183460469231731687303715884105727
-65536 - -170141183460469231731687303715884105727
-quote 65536 - -9223372036854775808
-65536 - -9223372036854775808
-quote 65536 - -9223372036854775807
-65536 - -9223372036854775807
-quote 65536 - -2147483648
-65536 - -2147483648
-quote 65536 - -2147483647
-65536 - -2147483647
-quote 65536 - -32768
-65536 - -32768
-quote 65536 - -32767
-65536 - -32767
-quote 65536 - -128
-65536 - -128
-quote 65536 - -127
-65536 - -127
-quote 65536 - 255
-65536 - 255
-quote 65536 - 256
-65536 - 256
-quote 65536 - 65535
-65536 - 65535
-quote 65536 - 65536
-65536 - 65536
-quote 65536 - 4294967295
-65536 - 4294967295
-quote 65536 - 4294967296
-65536 - 4294967296
-quote 65536 - 18446744073709551615
-65536 - 18446744073709551615
-quote 65536 - 18446744073709551616
-65536 - 18446744073709551616
-quote 65536 - 340282366920938463463374607431768211455
-65536 - 340282366920938463463374607431768211455
-quote 65536 - 340282366920938463463374607431768211456
-65536 - 340282366920938463463374607431768211456
-quote 4294967295 - -170141183460469231731687303715884105728
-4294967295 - -170141183460469231731687303715884105728
-quote 4294967295 - -170141183460469231731687303715884105727
-4294967295 - -170141183460469231731687303715884105727
-quote 4294967295 - -9223372036854775808
-4294967295 - -9223372036854775808
-quote 4294967295 - -9223372036854775807
-4294967295 - -9223372036854775807
-quote 4294967295 - -2147483648
-4294967295 - -2147483648
-quote 4294967295 - -2147483647
-4294967295 - -2147483647
-quote 4294967295 - -32768
-4294967295 - -32768
-quote 4294967295 - -32767
-4294967295 - -32767
-quote 4294967295 - -128
-4294967295 - -128
-quote 4294967295 - -127
-4294967295 - -127
-quote 4294967295 - 255
-4294967295 - 255
-quote 4294967295 - 256
-4294967295 - 256
-quote 4294967295 - 65535
-4294967295 - 65535
-quote 4294967295 - 65536
-4294967295 - 65536
-quote 4294967295 - 4294967295
-4294967295 - 4294967295
-quote 4294967295 - 4294967296
-4294967295 - 4294967296
-quote 4294967295 - 18446744073709551615
-4294967295 - 18446744073709551615
-quote 4294967295 - 18446744073709551616
-4294967295 - 18446744073709551616
-quote 4294967295 - 340282366920938463463374607431768211455
-4294967295 - 340282366920938463463374607431768211455
-quote 4294967295 - 340282366920938463463374607431768211456
-4294967295 - 340282366920938463463374607431768211456
-quote 4294967296 - -170141183460469231731687303715884105728
-4294967296 - -170141183460469231731687303715884105728
-quote 4294967296 - -170141183460469231731687303715884105727
-4294967296 - -170141183460469231731687303715884105727
-quote 4294967296 - -9223372036854775808
-4294967296 - -9223372036854775808
-quote 4294967296 - -9223372036854775807
-4294967296 - -9223372036854775807
-quote 4294967296 - -2147483648
-4294967296 - -2147483648
-quote 4294967296 - -2147483647
-4294967296 - -2147483647
-quote 4294967296 - -32768
-4294967296 - -32768
-quote 4294967296 - -32767
-4294967296 - -32767
-quote 4294967296 - -128
-4294967296 - -128
-quote 4294967296 - -127
-4294967296 - -127
-quote 4294967296 - 255
-4294967296 - 255
-quote 4294967296 - 256
-4294967296 - 256
-quote 4294967296 - 65535
-4294967296 - 65535
-quote 4294967296 - 65536
-4294967296 - 65536
-quote 4294967296 - 4294967295
-4294967296 - 4294967295
-quote 4294967296 - 4294967296
-4294967296 - 4294967296
-quote 4294967296 - 18446744073709551615
-4294967296 - 18446744073709551615
-quote 4294967296 - 18446744073709551616
-4294967296 - 18446744073709551616
-quote 4294967296 - 340282366920938463463374607431768211455
-4294967296 - 340282366920938463463374607431768211455
-quote 4294967296 - 340282366920938463463374607431768211456
-4294967296 - 340282366920938463463374607431768211456
-quote 18446744073709551615 - -170141183460469231731687303715884105728
-18446744073709551615 - -170141183460469231731687303715884105728
-quote 18446744073709551615 - -170141183460469231731687303715884105727
-18446744073709551615 - -170141183460469231731687303715884105727
-quote 18446744073709551615 - -9223372036854775808
-18446744073709551615 - -9223372036854775808
-quote 18446744073709551615 - -9223372036854775807
-18446744073709551615 - -9223372036854775807
-quote 18446744073709551615 - -2147483648
-18446744073709551615 - -2147483648
-quote 18446744073709551615 - -2147483647
-18446744073709551615 - -2147483647
-quote 18446744073709551615 - -32768
-18446744073709551615 - -32768
-quote 18446744073709551615 - -32767
-18446744073709551615 - -32767
-quote 18446744073709551615 - -128
-18446744073709551615 - -128
-quote 18446744073709551615 - -127
-18446744073709551615 - -127
-quote 18446744073709551615 - 255
-18446744073709551615 - 255
-quote 18446744073709551615 - 256
-18446744073709551615 - 256
-quote 18446744073709551615 - 65535
-18446744073709551615 - 65535
-quote 18446744073709551615 - 65536
-18446744073709551615 - 65536
-quote 18446744073709551615 - 4294967295
-18446744073709551615 - 4294967295
-quote 18446744073709551615 - 4294967296
-18446744073709551615 - 4294967296
-quote 18446744073709551615 - 18446744073709551615
-18446744073709551615 - 18446744073709551615
-quote 18446744073709551615 - 18446744073709551616
-18446744073709551615 - 18446744073709551616
-quote 18446744073709551615 - 340282366920938463463374607431768211455
-18446744073709551615 - 340282366920938463463374607431768211455
-quote 18446744073709551615 - 340282366920938463463374607431768211456
-18446744073709551615 - 340282366920938463463374607431768211456
-quote 18446744073709551616 - -170141183460469231731687303715884105728
-18446744073709551616 - -170141183460469231731687303715884105728
-quote 18446744073709551616 - -170141183460469231731687303715884105727
-18446744073709551616 - -170141183460469231731687303715884105727
-quote 18446744073709551616 - -9223372036854775808
-18446744073709551616 - -9223372036854775808
-quote 18446744073709551616 - -9223372036854775807
-18446744073709551616 - -9223372036854775807
-quote 18446744073709551616 - -2147483648
-18446744073709551616 - -2147483648
-quote 18446744073709551616 - -2147483647
-18446744073709551616 - -2147483647
-quote 18446744073709551616 - -32768
-18446744073709551616 - -32768
-quote 18446744073709551616 - -32767
-18446744073709551616 - -32767
-quote 18446744073709551616 - -128
-18446744073709551616 - -128
-quote 18446744073709551616 - -127
-18446744073709551616 - -127
-quote 18446744073709551616 - 255
-18446744073709551616 - 255
-quote 18446744073709551616 - 256
-18446744073709551616 - 256
-quote 18446744073709551616 - 65535
-18446744073709551616 - 65535
-quote 18446744073709551616 - 65536
-18446744073709551616 - 65536
-quote 18446744073709551616 - 4294967295
-18446744073709551616 - 4294967295
-quote 18446744073709551616 - 4294967296
-18446744073709551616 - 4294967296
-quote 18446744073709551616 - 18446744073709551615
-18446744073709551616 - 18446744073709551615
-quote 18446744073709551616 - 18446744073709551616
-18446744073709551616 - 18446744073709551616
-quote 18446744073709551616 - 340282366920938463463374607431768211455
-18446744073709551616 - 340282366920938463463374607431768211455
-quote 18446744073709551616 - 340282366920938463463374607431768211456
-18446744073709551616 - 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211455 - -170141183460469231731687303715884105728
-340282366920938463463374607431768211455 - -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211455 - -170141183460469231731687303715884105727
-340282366920938463463374607431768211455 - -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211455 - -9223372036854775808
-340282366920938463463374607431768211455 - -9223372036854775808
-quote 340282366920938463463374607431768211455 - -9223372036854775807
-340282366920938463463374607431768211455 - -9223372036854775807
-quote 340282366920938463463374607431768211455 - -2147483648
-340282366920938463463374607431768211455 - -2147483648
-quote 340282366920938463463374607431768211455 - -2147483647
-340282366920938463463374607431768211455 - -2147483647
-quote 340282366920938463463374607431768211455 - -32768
-340282366920938463463374607431768211455 - -32768
-quote 340282366920938463463374607431768211455 - -32767
-340282366920938463463374607431768211455 - -32767
-quote 340282366920938463463374607431768211455 - -128
-340282366920938463463374607431768211455 - -128
-quote 340282366920938463463374607431768211455 - -127
-340282366920938463463374607431768211455 - -127
-quote 340282366920938463463374607431768211455 - 255
-340282366920938463463374607431768211455 - 255
-quote 340282366920938463463374607431768211455 - 256
-340282366920938463463374607431768211455 - 256
-quote 340282366920938463463374607431768211455 - 65535
-340282366920938463463374607431768211455 - 65535
-quote 340282366920938463463374607431768211455 - 65536
-340282366920938463463374607431768211455 - 65536
-quote 340282366920938463463374607431768211455 - 4294967295
-340282366920938463463374607431768211455 - 4294967295
-quote 340282366920938463463374607431768211455 - 4294967296
-340282366920938463463374607431768211455 - 4294967296
-quote 340282366920938463463374607431768211455 - 18446744073709551615
-340282366920938463463374607431768211455 - 18446744073709551615
-quote 340282366920938463463374607431768211455 - 18446744073709551616
-340282366920938463463374607431768211455 - 18446744073709551616
-quote 340282366920938463463374607431768211455 - 340282366920938463463374607431768211455
-340282366920938463463374607431768211455 - 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211455 - 340282366920938463463374607431768211456
-340282366920938463463374607431768211455 - 340282366920938463463374607431768211456
-quote 340282366920938463463374607431768211456 - -170141183460469231731687303715884105728
-340282366920938463463374607431768211456 - -170141183460469231731687303715884105728
-quote 340282366920938463463374607431768211456 - -170141183460469231731687303715884105727
-340282366920938463463374607431768211456 - -170141183460469231731687303715884105727
-quote 340282366920938463463374607431768211456 - -9223372036854775808
-340282366920938463463374607431768211456 - -9223372036854775808
-quote 340282366920938463463374607431768211456 - -9223372036854775807
-340282366920938463463374607431768211456 - -9223372036854775807
-quote 340282366920938463463374607431768211456 - -2147483648
-340282366920938463463374607431768211456 - -2147483648
-quote 340282366920938463463374607431768211456 - -2147483647
-340282366920938463463374607431768211456 - -2147483647
-quote 340282366920938463463374607431768211456 - -32768
-340282366920938463463374607431768211456 - -32768
-quote 340282366920938463463374607431768211456 - -32767
-340282366920938463463374607431768211456 - -32767
-quote 340282366920938463463374607431768211456 - -128
-340282366920938463463374607431768211456 - -128
-quote 340282366920938463463374607431768211456 - -127
-340282366920938463463374607431768211456 - -127
-quote 340282366920938463463374607431768211456 - 255
-340282366920938463463374607431768211456 - 255
-quote 340282366920938463463374607431768211456 - 256
-340282366920938463463374607431768211456 - 256
-quote 340282366920938463463374607431768211456 - 65535
-340282366920938463463374607431768211456 - 65535
-quote 340282366920938463463374607431768211456 - 65536
-340282366920938463463374607431768211456 - 65536
-quote 340282366920938463463374607431768211456 - 4294967295
-340282366920938463463374607431768211456 - 4294967295
-quote 340282366920938463463374607431768211456 - 4294967296
-340282366920938463463374607431768211456 - 4294967296
-quote 340282366920938463463374607431768211456 - 18446744073709551615
-340282366920938463463374607431768211456 - 18446744073709551615
-quote 340282366920938463463374607431768211456 - 18446744073709551616
-340282366920938463463374607431768211456 - 18446744073709551616
-quote 340282366920938463463374607431768211456 - 340282366920938463463374607431768211455
-340282366920938463463374607431768211456 - 340282366920938463463374607431768211455
-quote 340282366920938463463374607431768211456 - 340282366920938463463374607431768211456
-340282366920938463463374607431768211456 - 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_sub.out.expected b/test/ic3/integer_sub.out.expected
deleted file mode 100644
index c6a58ea..0000000
--- a/test/ic3/integer_sub.out.expected
+++ /dev/null
@@ -1,800 +0,0 @@
--170141183460469231731687303715884105728 - -170141183460469231731687303715884105728
-0
--170141183460469231731687303715884105728 - -170141183460469231731687303715884105727
--1
--170141183460469231731687303715884105728 - -9223372036854775808
--170141183460469231722463931679029329920
--170141183460469231731687303715884105728 - -9223372036854775807
--170141183460469231722463931679029329921
--170141183460469231731687303715884105728 - -2147483648
--170141183460469231731687303713736622080
--170141183460469231731687303715884105728 - -2147483647
--170141183460469231731687303713736622081
--170141183460469231731687303715884105728 - -32768
--170141183460469231731687303715884072960
--170141183460469231731687303715884105728 - -32767
--170141183460469231731687303715884072961
--170141183460469231731687303715884105728 - -128
--170141183460469231731687303715884105600
--170141183460469231731687303715884105728 - -127
--170141183460469231731687303715884105601
--170141183460469231731687303715884105728 - 255
--170141183460469231731687303715884105983
--170141183460469231731687303715884105728 - 256
--170141183460469231731687303715884105984
--170141183460469231731687303715884105728 - 65535
--170141183460469231731687303715884171263
--170141183460469231731687303715884105728 - 65536
--170141183460469231731687303715884171264
--170141183460469231731687303715884105728 - 4294967295
--170141183460469231731687303720179073023
--170141183460469231731687303715884105728 - 4294967296
--170141183460469231731687303720179073024
--170141183460469231731687303715884105728 - 18446744073709551615
--170141183460469231750134047789593657343
--170141183460469231731687303715884105728 - 18446744073709551616
--170141183460469231750134047789593657344
--170141183460469231731687303715884105728 - 340282366920938463463374607431768211455
--510423550381407695195061911147652317183
--170141183460469231731687303715884105728 - 340282366920938463463374607431768211456
--510423550381407695195061911147652317184
--170141183460469231731687303715884105727 - -170141183460469231731687303715884105728
-1
--170141183460469231731687303715884105727 - -170141183460469231731687303715884105727
-0
--170141183460469231731687303715884105727 - -9223372036854775808
--170141183460469231722463931679029329919
--170141183460469231731687303715884105727 - -9223372036854775807
--170141183460469231722463931679029329920
--170141183460469231731687303715884105727 - -2147483648
--170141183460469231731687303713736622079
--170141183460469231731687303715884105727 - -2147483647
--170141183460469231731687303713736622080
--170141183460469231731687303715884105727 - -32768
--170141183460469231731687303715884072959
--170141183460469231731687303715884105727 - -32767
--170141183460469231731687303715884072960
--170141183460469231731687303715884105727 - -128
--170141183460469231731687303715884105599
--170141183460469231731687303715884105727 - -127
--170141183460469231731687303715884105600
--170141183460469231731687303715884105727 - 255
--170141183460469231731687303715884105982
--170141183460469231731687303715884105727 - 256
--170141183460469231731687303715884105983
--170141183460469231731687303715884105727 - 65535
--170141183460469231731687303715884171262
--170141183460469231731687303715884105727 - 65536
--170141183460469231731687303715884171263
--170141183460469231731687303715884105727 - 4294967295
--170141183460469231731687303720179073022
--170141183460469231731687303715884105727 - 4294967296
--170141183460469231731687303720179073023
--170141183460469231731687303715884105727 - 18446744073709551615
--170141183460469231750134047789593657342
--170141183460469231731687303715884105727 - 18446744073709551616
--170141183460469231750134047789593657343
--170141183460469231731687303715884105727 - 340282366920938463463374607431768211455
--510423550381407695195061911147652317182
--170141183460469231731687303715884105727 - 340282366920938463463374607431768211456
--510423550381407695195061911147652317183
--9223372036854775808 - -170141183460469231731687303715884105728
-170141183460469231722463931679029329920
--9223372036854775808 - -170141183460469231731687303715884105727
-170141183460469231722463931679029329919
--9223372036854775808 - -9223372036854775808
-0
--9223372036854775808 - -9223372036854775807
--1
--9223372036854775808 - -2147483648
--9223372034707292160
--9223372036854775808 - -2147483647
--9223372034707292161
--9223372036854775808 - -32768
--9223372036854743040
--9223372036854775808 - -32767
--9223372036854743041
--9223372036854775808 - -128
--9223372036854775680
--9223372036854775808 - -127
--9223372036854775681
--9223372036854775808 - 255
--9223372036854776063
--9223372036854775808 - 256
--9223372036854776064
--9223372036854775808 - 65535
--9223372036854841343
--9223372036854775808 - 65536
--9223372036854841344
--9223372036854775808 - 4294967295
--9223372041149743103
--9223372036854775808 - 4294967296
--9223372041149743104
--9223372036854775808 - 18446744073709551615
--27670116110564327423
--9223372036854775808 - 18446744073709551616
--27670116110564327424
--9223372036854775808 - 340282366920938463463374607431768211455
--340282366920938463472597979468622987263
--9223372036854775808 - 340282366920938463463374607431768211456
--340282366920938463472597979468622987264
--9223372036854775807 - -170141183460469231731687303715884105728
-170141183460469231722463931679029329921
--9223372036854775807 - -170141183460469231731687303715884105727
-170141183460469231722463931679029329920
--9223372036854775807 - -9223372036854775808
-1
--9223372036854775807 - -9223372036854775807
-0
--9223372036854775807 - -2147483648
--9223372034707292159
--9223372036854775807 - -2147483647
--9223372034707292160
--9223372036854775807 - -32768
--9223372036854743039
--9223372036854775807 - -32767
--9223372036854743040
--9223372036854775807 - -128
--9223372036854775679
--9223372036854775807 - -127
--9223372036854775680
--9223372036854775807 - 255
--9223372036854776062
--9223372036854775807 - 256
--9223372036854776063
--9223372036854775807 - 65535
--9223372036854841342
--9223372036854775807 - 65536
--9223372036854841343
--9223372036854775807 - 4294967295
--9223372041149743102
--9223372036854775807 - 4294967296
--9223372041149743103
--9223372036854775807 - 18446744073709551615
--27670116110564327422
--9223372036854775807 - 18446744073709551616
--27670116110564327423
--9223372036854775807 - 340282366920938463463374607431768211455
--340282366920938463472597979468622987262
--9223372036854775807 - 340282366920938463463374607431768211456
--340282366920938463472597979468622987263
--2147483648 - -170141183460469231731687303715884105728
-170141183460469231731687303713736622080
--2147483648 - -170141183460469231731687303715884105727
-170141183460469231731687303713736622079
--2147483648 - -9223372036854775808
-9223372034707292160
--2147483648 - -9223372036854775807
-9223372034707292159
--2147483648 - -2147483648
-0
--2147483648 - -2147483647
--1
--2147483648 - -32768
--2147450880
--2147483648 - -32767
--2147450881
--2147483648 - -128
--2147483520
--2147483648 - -127
--2147483521
--2147483648 - 255
--2147483903
--2147483648 - 256
--2147483904
--2147483648 - 65535
--2147549183
--2147483648 - 65536
--2147549184
--2147483648 - 4294967295
--6442450943
--2147483648 - 4294967296
--6442450944
--2147483648 - 18446744073709551615
--18446744075857035263
--2147483648 - 18446744073709551616
--18446744075857035264
--2147483648 - 340282366920938463463374607431768211455
--340282366920938463463374607433915695103
--2147483648 - 340282366920938463463374607431768211456
--340282366920938463463374607433915695104
--2147483647 - -170141183460469231731687303715884105728
-170141183460469231731687303713736622081
--2147483647 - -170141183460469231731687303715884105727
-170141183460469231731687303713736622080
--2147483647 - -9223372036854775808
-9223372034707292161
--2147483647 - -9223372036854775807
-9223372034707292160
--2147483647 - -2147483648
-1
--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
--2147483647 - 18446744073709551615
--18446744075857035262
--2147483647 - 18446744073709551616
--18446744075857035263
--2147483647 - 340282366920938463463374607431768211455
--340282366920938463463374607433915695102
--2147483647 - 340282366920938463463374607431768211456
--340282366920938463463374607433915695103
--32768 - -170141183460469231731687303715884105728
-170141183460469231731687303715884072960
--32768 - -170141183460469231731687303715884105727
-170141183460469231731687303715884072959
--32768 - -9223372036854775808
-9223372036854743040
--32768 - -9223372036854775807
-9223372036854743039
--32768 - -2147483648
-2147450880
--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
--32768 - 18446744073709551615
--18446744073709584383
--32768 - 18446744073709551616
--18446744073709584384
--32768 - 340282366920938463463374607431768211455
--340282366920938463463374607431768244223
--32768 - 340282366920938463463374607431768211456
--340282366920938463463374607431768244224
--32767 - -170141183460469231731687303715884105728
-170141183460469231731687303715884072961
--32767 - -170141183460469231731687303715884105727
-170141183460469231731687303715884072960
--32767 - -9223372036854775808
-9223372036854743041
--32767 - -9223372036854775807
-9223372036854743040
--32767 - -2147483648
-2147450881
--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
--32767 - 18446744073709551615
--18446744073709584382
--32767 - 18446744073709551616
--18446744073709584383
--32767 - 340282366920938463463374607431768211455
--340282366920938463463374607431768244222
--32767 - 340282366920938463463374607431768211456
--340282366920938463463374607431768244223
--128 - -170141183460469231731687303715884105728
-170141183460469231731687303715884105600
--128 - -170141183460469231731687303715884105727
-170141183460469231731687303715884105599
--128 - -9223372036854775808
-9223372036854775680
--128 - -9223372036854775807
-9223372036854775679
--128 - -2147483648
-2147483520
--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
--128 - 18446744073709551615
--18446744073709551743
--128 - 18446744073709551616
--18446744073709551744
--128 - 340282366920938463463374607431768211455
--340282366920938463463374607431768211583
--128 - 340282366920938463463374607431768211456
--340282366920938463463374607431768211584
--127 - -170141183460469231731687303715884105728
-170141183460469231731687303715884105601
--127 - -170141183460469231731687303715884105727
-170141183460469231731687303715884105600
--127 - -9223372036854775808
-9223372036854775681
--127 - -9223372036854775807
-9223372036854775680
--127 - -2147483648
-2147483521
--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
--127 - 18446744073709551615
--18446744073709551742
--127 - 18446744073709551616
--18446744073709551743
--127 - 340282366920938463463374607431768211455
--340282366920938463463374607431768211582
--127 - 340282366920938463463374607431768211456
--340282366920938463463374607431768211583
-255 - -170141183460469231731687303715884105728
-170141183460469231731687303715884105983
-255 - -170141183460469231731687303715884105727
-170141183460469231731687303715884105982
-255 - -9223372036854775808
-9223372036854776063
-255 - -9223372036854775807
-9223372036854776062
-255 - -2147483648
-2147483903
-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
-255 - 18446744073709551615
--18446744073709551360
-255 - 18446744073709551616
--18446744073709551361
-255 - 340282366920938463463374607431768211455
--340282366920938463463374607431768211200
-255 - 340282366920938463463374607431768211456
--340282366920938463463374607431768211201
-256 - -170141183460469231731687303715884105728
-170141183460469231731687303715884105984
-256 - -170141183460469231731687303715884105727
-170141183460469231731687303715884105983
-256 - -9223372036854775808
-9223372036854776064
-256 - -9223372036854775807
-9223372036854776063
-256 - -2147483648
-2147483904
-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
-256 - 18446744073709551615
--18446744073709551359
-256 - 18446744073709551616
--18446744073709551360
-256 - 340282366920938463463374607431768211455
--340282366920938463463374607431768211199
-256 - 340282366920938463463374607431768211456
--340282366920938463463374607431768211200
-65535 - -170141183460469231731687303715884105728
-170141183460469231731687303715884171263
-65535 - -170141183460469231731687303715884105727
-170141183460469231731687303715884171262
-65535 - -9223372036854775808
-9223372036854841343
-65535 - -9223372036854775807
-9223372036854841342
-65535 - -2147483648
-2147549183
-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
-65535 - 18446744073709551615
--18446744073709486080
-65535 - 18446744073709551616
--18446744073709486081
-65535 - 340282366920938463463374607431768211455
--340282366920938463463374607431768145920
-65535 - 340282366920938463463374607431768211456
--340282366920938463463374607431768145921
-65536 - -170141183460469231731687303715884105728
-170141183460469231731687303715884171264
-65536 - -170141183460469231731687303715884105727
-170141183460469231731687303715884171263
-65536 - -9223372036854775808
-9223372036854841344
-65536 - -9223372036854775807
-9223372036854841343
-65536 - -2147483648
-2147549184
-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
-65536 - 18446744073709551615
--18446744073709486079
-65536 - 18446744073709551616
--18446744073709486080
-65536 - 340282366920938463463374607431768211455
--340282366920938463463374607431768145919
-65536 - 340282366920938463463374607431768211456
--340282366920938463463374607431768145920
-4294967295 - -170141183460469231731687303715884105728
-170141183460469231731687303720179073023
-4294967295 - -170141183460469231731687303715884105727
-170141183460469231731687303720179073022
-4294967295 - -9223372036854775808
-9223372041149743103
-4294967295 - -9223372036854775807
-9223372041149743102
-4294967295 - -2147483648
-6442450943
-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
-4294967295 - 18446744073709551615
--18446744069414584320
-4294967295 - 18446744073709551616
--18446744069414584321
-4294967295 - 340282366920938463463374607431768211455
--340282366920938463463374607427473244160
-4294967295 - 340282366920938463463374607431768211456
--340282366920938463463374607427473244161
-4294967296 - -170141183460469231731687303715884105728
-170141183460469231731687303720179073024
-4294967296 - -170141183460469231731687303715884105727
-170141183460469231731687303720179073023
-4294967296 - -9223372036854775808
-9223372041149743104
-4294967296 - -9223372036854775807
-9223372041149743103
-4294967296 - -2147483648
-6442450944
-4294967296 - -2147483647
-6442450943
-4294967296 - -32768
-4295000064
-4294967296 - -32767
-4295000063
-4294967296 - -128
-4294967424
-4294967296 - -127
-4294967423
-4294967296 - 255
-4294967041
-4294967296 - 256
-4294967040
-4294967296 - 65535
-4294901761
-4294967296 - 65536
-4294901760
-4294967296 - 4294967295
-1
-4294967296 - 4294967296
-0
-4294967296 - 18446744073709551615
--18446744069414584319
-4294967296 - 18446744073709551616
--18446744069414584320
-4294967296 - 340282366920938463463374607431768211455
--340282366920938463463374607427473244159
-4294967296 - 340282366920938463463374607431768211456
--340282366920938463463374607427473244160
-18446744073709551615 - -170141183460469231731687303715884105728
-170141183460469231750134047789593657343
-18446744073709551615 - -170141183460469231731687303715884105727
-170141183460469231750134047789593657342
-18446744073709551615 - -9223372036854775808
-27670116110564327423
-18446744073709551615 - -9223372036854775807
-27670116110564327422
-18446744073709551615 - -2147483648
-18446744075857035263
-18446744073709551615 - -2147483647
-18446744075857035262
-18446744073709551615 - -32768
-18446744073709584383
-18446744073709551615 - -32767
-18446744073709584382
-18446744073709551615 - -128
-18446744073709551743
-18446744073709551615 - -127
-18446744073709551742
-18446744073709551615 - 255
-18446744073709551360
-18446744073709551615 - 256
-18446744073709551359
-18446744073709551615 - 65535
-18446744073709486080
-18446744073709551615 - 65536
-18446744073709486079
-18446744073709551615 - 4294967295
-18446744069414584320
-18446744073709551615 - 4294967296
-18446744069414584319
-18446744073709551615 - 18446744073709551615
-0
-18446744073709551615 - 18446744073709551616
--1
-18446744073709551615 - 340282366920938463463374607431768211455
--340282366920938463444927863358058659840
-18446744073709551615 - 340282366920938463463374607431768211456
--340282366920938463444927863358058659841
-18446744073709551616 - -170141183460469231731687303715884105728
-170141183460469231750134047789593657344
-18446744073709551616 - -170141183460469231731687303715884105727
-170141183460469231750134047789593657343
-18446744073709551616 - -9223372036854775808
-27670116110564327424
-18446744073709551616 - -9223372036854775807
-27670116110564327423
-18446744073709551616 - -2147483648
-18446744075857035264
-18446744073709551616 - -2147483647
-18446744075857035263
-18446744073709551616 - -32768
-18446744073709584384
-18446744073709551616 - -32767
-18446744073709584383
-18446744073709551616 - -128
-18446744073709551744
-18446744073709551616 - -127
-18446744073709551743
-18446744073709551616 - 255
-18446744073709551361
-18446744073709551616 - 256
-18446744073709551360
-18446744073709551616 - 65535
-18446744073709486081
-18446744073709551616 - 65536
-18446744073709486080
-18446744073709551616 - 4294967295
-18446744069414584321
-18446744073709551616 - 4294967296
-18446744069414584320
-18446744073709551616 - 18446744073709551615
-1
-18446744073709551616 - 18446744073709551616
-0
-18446744073709551616 - 340282366920938463463374607431768211455
--340282366920938463444927863358058659839
-18446744073709551616 - 340282366920938463463374607431768211456
--340282366920938463444927863358058659840
-340282366920938463463374607431768211455 - -170141183460469231731687303715884105728
-510423550381407695195061911147652317183
-340282366920938463463374607431768211455 - -170141183460469231731687303715884105727
-510423550381407695195061911147652317182
-340282366920938463463374607431768211455 - -9223372036854775808
-340282366920938463472597979468622987263
-340282366920938463463374607431768211455 - -9223372036854775807
-340282366920938463472597979468622987262
-340282366920938463463374607431768211455 - -2147483648
-340282366920938463463374607433915695103
-340282366920938463463374607431768211455 - -2147483647
-340282366920938463463374607433915695102
-340282366920938463463374607431768211455 - -32768
-340282366920938463463374607431768244223
-340282366920938463463374607431768211455 - -32767
-340282366920938463463374607431768244222
-340282366920938463463374607431768211455 - -128
-340282366920938463463374607431768211583
-340282366920938463463374607431768211455 - -127
-340282366920938463463374607431768211582
-340282366920938463463374607431768211455 - 255
-340282366920938463463374607431768211200
-340282366920938463463374607431768211455 - 256
-340282366920938463463374607431768211199
-340282366920938463463374607431768211455 - 65535
-340282366920938463463374607431768145920
-340282366920938463463374607431768211455 - 65536
-340282366920938463463374607431768145919
-340282366920938463463374607431768211455 - 4294967295
-340282366920938463463374607427473244160
-340282366920938463463374607431768211455 - 4294967296
-340282366920938463463374607427473244159
-340282366920938463463374607431768211455 - 18446744073709551615
-340282366920938463444927863358058659840
-340282366920938463463374607431768211455 - 18446744073709551616
-340282366920938463444927863358058659839
-340282366920938463463374607431768211455 - 340282366920938463463374607431768211455
-0
-340282366920938463463374607431768211455 - 340282366920938463463374607431768211456
--1
-340282366920938463463374607431768211456 - -170141183460469231731687303715884105728
-510423550381407695195061911147652317184
-340282366920938463463374607431768211456 - -170141183460469231731687303715884105727
-510423550381407695195061911147652317183
-340282366920938463463374607431768211456 - -9223372036854775808
-340282366920938463472597979468622987264
-340282366920938463463374607431768211456 - -9223372036854775807
-340282366920938463472597979468622987263
-340282366920938463463374607431768211456 - -2147483648
-340282366920938463463374607433915695104
-340282366920938463463374607431768211456 - -2147483647
-340282366920938463463374607433915695103
-340282366920938463463374607431768211456 - -32768
-340282366920938463463374607431768244224
-340282366920938463463374607431768211456 - -32767
-340282366920938463463374607431768244223
-340282366920938463463374607431768211456 - -128
-340282366920938463463374607431768211584
-340282366920938463463374607431768211456 - -127
-340282366920938463463374607431768211583
-340282366920938463463374607431768211456 - 255
-340282366920938463463374607431768211201
-340282366920938463463374607431768211456 - 256
-340282366920938463463374607431768211200
-340282366920938463463374607431768211456 - 65535
-340282366920938463463374607431768145921
-340282366920938463463374607431768211456 - 65536
-340282366920938463463374607431768145920
-340282366920938463463374607431768211456 - 4294967295
-340282366920938463463374607427473244161
-340282366920938463463374607431768211456 - 4294967296
-340282366920938463463374607427473244160
-340282366920938463463374607431768211456 - 18446744073709551615
-340282366920938463444927863358058659841
-340282366920938463463374607431768211456 - 18446744073709551616
-340282366920938463444927863358058659840
-340282366920938463463374607431768211456 - 340282366920938463463374607431768211455
-1
-340282366920938463463374607431768211456 - 340282366920938463463374607431768211456
-0
diff --git a/test/ic3/integer_sub.ret.expected b/test/ic3/integer_sub.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/integer_sub.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/integer_sub_1.in b/test/ic3/integer_sub_1.in
new file mode 100644
index 0000000..452712a
--- /dev/null
+++ b/test/ic3/integer_sub_1.in
@@ -0,0 +1,40 @@
+quote - -170141183460469231731687303715884105728
+- -170141183460469231731687303715884105728
+quote - -170141183460469231731687303715884105727
+- -170141183460469231731687303715884105727
+quote - -9223372036854775808
+- -9223372036854775808
+quote - -9223372036854775807
+- -9223372036854775807
+quote - -2147483648
+- -2147483648
+quote - -2147483647
+- -2147483647
+quote - -32768
+- -32768
+quote - -32767
+- -32767
+quote - -128
+- -128
+quote - -127
+- -127
+quote - 255
+- 255
+quote - 256
+- 256
+quote - 65535
+- 65535
+quote - 65536
+- 65536
+quote - 4294967295
+- 4294967295
+quote - 4294967296
+- 4294967296
+quote - 18446744073709551615
+- 18446744073709551615
+quote - 18446744073709551616
+- 18446744073709551616
+quote - 340282366920938463463374607431768211455
+- 340282366920938463463374607431768211455
+quote - 340282366920938463463374607431768211456
+- 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_sub_1.out.expected b/test/ic3/integer_sub_1.out.expected
new file mode 100644
index 0000000..643657f
--- /dev/null
+++ b/test/ic3/integer_sub_1.out.expected
@@ -0,0 +1,40 @@
+- -170141183460469231731687303715884105728
+170141183460469231731687303715884105728
+- -170141183460469231731687303715884105727
+170141183460469231731687303715884105727
+- -9223372036854775808
+9223372036854775808
+- -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
+- 18446744073709551615
+-18446744073709551615
+- 18446744073709551616
+-18446744073709551616
+- 340282366920938463463374607431768211455
+-340282366920938463463374607431768211455
+- 340282366920938463463374607431768211456
+-340282366920938463463374607431768211456
diff --git a/test/ic3/integer_sub_1.ret.expected b/test/ic3/integer_sub_1.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_sub_1.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_sub_2.in b/test/ic3/integer_sub_2.in
new file mode 100644
index 0000000..a54e659
--- /dev/null
+++ b/test/ic3/integer_sub_2.in
@@ -0,0 +1,800 @@
+quote -170141183460469231731687303715884105728 - -170141183460469231731687303715884105728
+-170141183460469231731687303715884105728 - -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105728 - -170141183460469231731687303715884105727
+-170141183460469231731687303715884105728 - -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105728 - -9223372036854775808
+-170141183460469231731687303715884105728 - -9223372036854775808
+quote -170141183460469231731687303715884105728 - -9223372036854775807
+-170141183460469231731687303715884105728 - -9223372036854775807
+quote -170141183460469231731687303715884105728 - -2147483648
+-170141183460469231731687303715884105728 - -2147483648
+quote -170141183460469231731687303715884105728 - -2147483647
+-170141183460469231731687303715884105728 - -2147483647
+quote -170141183460469231731687303715884105728 - -32768
+-170141183460469231731687303715884105728 - -32768
+quote -170141183460469231731687303715884105728 - -32767
+-170141183460469231731687303715884105728 - -32767
+quote -170141183460469231731687303715884105728 - -128
+-170141183460469231731687303715884105728 - -128
+quote -170141183460469231731687303715884105728 - -127
+-170141183460469231731687303715884105728 - -127
+quote -170141183460469231731687303715884105728 - 255
+-170141183460469231731687303715884105728 - 255
+quote -170141183460469231731687303715884105728 - 256
+-170141183460469231731687303715884105728 - 256
+quote -170141183460469231731687303715884105728 - 65535
+-170141183460469231731687303715884105728 - 65535
+quote -170141183460469231731687303715884105728 - 65536
+-170141183460469231731687303715884105728 - 65536
+quote -170141183460469231731687303715884105728 - 4294967295
+-170141183460469231731687303715884105728 - 4294967295
+quote -170141183460469231731687303715884105728 - 4294967296
+-170141183460469231731687303715884105728 - 4294967296
+quote -170141183460469231731687303715884105728 - 18446744073709551615
+-170141183460469231731687303715884105728 - 18446744073709551615
+quote -170141183460469231731687303715884105728 - 18446744073709551616
+-170141183460469231731687303715884105728 - 18446744073709551616
+quote -170141183460469231731687303715884105728 - 340282366920938463463374607431768211455
+-170141183460469231731687303715884105728 - 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105728 - 340282366920938463463374607431768211456
+-170141183460469231731687303715884105728 - 340282366920938463463374607431768211456
+quote -170141183460469231731687303715884105727 - -170141183460469231731687303715884105728
+-170141183460469231731687303715884105727 - -170141183460469231731687303715884105728
+quote -170141183460469231731687303715884105727 - -170141183460469231731687303715884105727
+-170141183460469231731687303715884105727 - -170141183460469231731687303715884105727
+quote -170141183460469231731687303715884105727 - -9223372036854775808
+-170141183460469231731687303715884105727 - -9223372036854775808
+quote -170141183460469231731687303715884105727 - -9223372036854775807
+-170141183460469231731687303715884105727 - -9223372036854775807
+quote -170141183460469231731687303715884105727 - -2147483648
+-170141183460469231731687303715884105727 - -2147483648
+quote -170141183460469231731687303715884105727 - -2147483647
+-170141183460469231731687303715884105727 - -2147483647
+quote -170141183460469231731687303715884105727 - -32768
+-170141183460469231731687303715884105727 - -32768
+quote -170141183460469231731687303715884105727 - -32767
+-170141183460469231731687303715884105727 - -32767
+quote -170141183460469231731687303715884105727 - -128
+-170141183460469231731687303715884105727 - -128
+quote -170141183460469231731687303715884105727 - -127
+-170141183460469231731687303715884105727 - -127
+quote -170141183460469231731687303715884105727 - 255
+-170141183460469231731687303715884105727 - 255
+quote -170141183460469231731687303715884105727 - 256
+-170141183460469231731687303715884105727 - 256
+quote -170141183460469231731687303715884105727 - 65535
+-170141183460469231731687303715884105727 - 65535
+quote -170141183460469231731687303715884105727 - 65536
+-170141183460469231731687303715884105727 - 65536
+quote -170141183460469231731687303715884105727 - 4294967295
+-170141183460469231731687303715884105727 - 4294967295
+quote -170141183460469231731687303715884105727 - 4294967296
+-170141183460469231731687303715884105727 - 4294967296
+quote -170141183460469231731687303715884105727 - 18446744073709551615
+-170141183460469231731687303715884105727 - 18446744073709551615
+quote -170141183460469231731687303715884105727 - 18446744073709551616
+-170141183460469231731687303715884105727 - 18446744073709551616
+quote -170141183460469231731687303715884105727 - 340282366920938463463374607431768211455
+-170141183460469231731687303715884105727 - 340282366920938463463374607431768211455
+quote -170141183460469231731687303715884105727 - 340282366920938463463374607431768211456
+-170141183460469231731687303715884105727 - 340282366920938463463374607431768211456
+quote -9223372036854775808 - -170141183460469231731687303715884105728
+-9223372036854775808 - -170141183460469231731687303715884105728
+quote -9223372036854775808 - -170141183460469231731687303715884105727
+-9223372036854775808 - -170141183460469231731687303715884105727
+quote -9223372036854775808 - -9223372036854775808
+-9223372036854775808 - -9223372036854775808
+quote -9223372036854775808 - -9223372036854775807
+-9223372036854775808 - -9223372036854775807
+quote -9223372036854775808 - -2147483648
+-9223372036854775808 - -2147483648
+quote -9223372036854775808 - -2147483647
+-9223372036854775808 - -2147483647
+quote -9223372036854775808 - -32768
+-9223372036854775808 - -32768
+quote -9223372036854775808 - -32767
+-9223372036854775808 - -32767
+quote -9223372036854775808 - -128
+-9223372036854775808 - -128
+quote -9223372036854775808 - -127
+-9223372036854775808 - -127
+quote -9223372036854775808 - 255
+-9223372036854775808 - 255
+quote -9223372036854775808 - 256
+-9223372036854775808 - 256
+quote -9223372036854775808 - 65535
+-9223372036854775808 - 65535
+quote -9223372036854775808 - 65536
+-9223372036854775808 - 65536
+quote -9223372036854775808 - 4294967295
+-9223372036854775808 - 4294967295
+quote -9223372036854775808 - 4294967296
+-9223372036854775808 - 4294967296
+quote -9223372036854775808 - 18446744073709551615
+-9223372036854775808 - 18446744073709551615
+quote -9223372036854775808 - 18446744073709551616
+-9223372036854775808 - 18446744073709551616
+quote -9223372036854775808 - 340282366920938463463374607431768211455
+-9223372036854775808 - 340282366920938463463374607431768211455
+quote -9223372036854775808 - 340282366920938463463374607431768211456
+-9223372036854775808 - 340282366920938463463374607431768211456
+quote -9223372036854775807 - -170141183460469231731687303715884105728
+-9223372036854775807 - -170141183460469231731687303715884105728
+quote -9223372036854775807 - -170141183460469231731687303715884105727
+-9223372036854775807 - -170141183460469231731687303715884105727
+quote -9223372036854775807 - -9223372036854775808
+-9223372036854775807 - -9223372036854775808
+quote -9223372036854775807 - -9223372036854775807
+-9223372036854775807 - -9223372036854775807
+quote -9223372036854775807 - -2147483648
+-9223372036854775807 - -2147483648
+quote -9223372036854775807 - -2147483647
+-9223372036854775807 - -2147483647
+quote -9223372036854775807 - -32768
+-9223372036854775807 - -32768
+quote -9223372036854775807 - -32767
+-9223372036854775807 - -32767
+quote -9223372036854775807 - -128
+-9223372036854775807 - -128
+quote -9223372036854775807 - -127
+-9223372036854775807 - -127
+quote -9223372036854775807 - 255
+-9223372036854775807 - 255
+quote -9223372036854775807 - 256
+-9223372036854775807 - 256
+quote -9223372036854775807 - 65535
+-9223372036854775807 - 65535
+quote -9223372036854775807 - 65536
+-9223372036854775807 - 65536
+quote -9223372036854775807 - 4294967295
+-9223372036854775807 - 4294967295
+quote -9223372036854775807 - 4294967296
+-9223372036854775807 - 4294967296
+quote -9223372036854775807 - 18446744073709551615
+-9223372036854775807 - 18446744073709551615
+quote -9223372036854775807 - 18446744073709551616
+-9223372036854775807 - 18446744073709551616
+quote -9223372036854775807 - 340282366920938463463374607431768211455
+-9223372036854775807 - 340282366920938463463374607431768211455
+quote -9223372036854775807 - 340282366920938463463374607431768211456
+-9223372036854775807 - 340282366920938463463374607431768211456
+quote -2147483648 - -170141183460469231731687303715884105728
+-2147483648 - -170141183460469231731687303715884105728
+quote -2147483648 - -170141183460469231731687303715884105727
+-2147483648 - -170141183460469231731687303715884105727
+quote -2147483648 - -9223372036854775808
+-2147483648 - -9223372036854775808
+quote -2147483648 - -9223372036854775807
+-2147483648 - -9223372036854775807
+quote -2147483648 - -2147483648
+-2147483648 - -2147483648
+quote -2147483648 - -2147483647
+-2147483648 - -2147483647
+quote -2147483648 - -32768
+-2147483648 - -32768
+quote -2147483648 - -32767
+-2147483648 - -32767
+quote -2147483648 - -128
+-2147483648 - -128
+quote -2147483648 - -127
+-2147483648 - -127
+quote -2147483648 - 255
+-2147483648 - 255
+quote -2147483648 - 256
+-2147483648 - 256
+quote -2147483648 - 65535
+-2147483648 - 65535
+quote -2147483648 - 65536
+-2147483648 - 65536
+quote -2147483648 - 4294967295
+-2147483648 - 4294967295
+quote -2147483648 - 4294967296
+-2147483648 - 4294967296
+quote -2147483648 - 18446744073709551615
+-2147483648 - 18446744073709551615
+quote -2147483648 - 18446744073709551616
+-2147483648 - 18446744073709551616
+quote -2147483648 - 340282366920938463463374607431768211455
+-2147483648 - 340282366920938463463374607431768211455
+quote -2147483648 - 340282366920938463463374607431768211456
+-2147483648 - 340282366920938463463374607431768211456
+quote -2147483647 - -170141183460469231731687303715884105728
+-2147483647 - -170141183460469231731687303715884105728
+quote -2147483647 - -170141183460469231731687303715884105727
+-2147483647 - -170141183460469231731687303715884105727
+quote -2147483647 - -9223372036854775808
+-2147483647 - -9223372036854775808
+quote -2147483647 - -9223372036854775807
+-2147483647 - -9223372036854775807
+quote -2147483647 - -2147483648
+-2147483647 - -2147483648
+quote -2147483647 - -2147483647
+-2147483647 - -2147483647
+quote -2147483647 - -32768
+-2147483647 - -32768
+quote -2147483647 - -32767
+-2147483647 - -32767
+quote -2147483647 - -128
+-2147483647 - -128
+quote -2147483647 - -127
+-2147483647 - -127
+quote -2147483647 - 255
+-2147483647 - 255
+quote -2147483647 - 256
+-2147483647 - 256
+quote -2147483647 - 65535
+-2147483647 - 65535
+quote -2147483647 - 65536
+-2147483647 - 65536
+quote -2147483647 - 4294967295
+-2147483647 - 4294967295
+quote -2147483647 - 4294967296
+-2147483647 - 4294967296
+quote -2147483647 - 18446744073709551615
+-2147483647 - 18446744073709551615
+quote -2147483647 - 18446744073709551616
+-2147483647 - 18446744073709551616
+quote -2147483647 - 340282366920938463463374607431768211455
+-2147483647 - 340282366920938463463374607431768211455
+quote -2147483647 - 340282366920938463463374607431768211456
+-2147483647 - 340282366920938463463374607431768211456
+quote -32768 - -170141183460469231731687303715884105728
+-32768 - -170141183460469231731687303715884105728
+quote -32768 - -170141183460469231731687303715884105727
+-32768 - -170141183460469231731687303715884105727
+quote -32768 - -9223372036854775808
+-32768 - -9223372036854775808
+quote -32768 - -9223372036854775807
+-32768 - -9223372036854775807
+quote -32768 - -2147483648
+-32768 - -2147483648
+quote -32768 - -2147483647
+-32768 - -2147483647
+quote -32768 - -32768
+-32768 - -32768
+quote -32768 - -32767
+-32768 - -32767
+quote -32768 - -128
+-32768 - -128
+quote -32768 - -127
+-32768 - -127
+quote -32768 - 255
+-32768 - 255
+quote -32768 - 256
+-32768 - 256
+quote -32768 - 65535
+-32768 - 65535
+quote -32768 - 65536
+-32768 - 65536
+quote -32768 - 4294967295
+-32768 - 4294967295
+quote -32768 - 4294967296
+-32768 - 4294967296
+quote -32768 - 18446744073709551615
+-32768 - 18446744073709551615
+quote -32768 - 18446744073709551616
+-32768 - 18446744073709551616
+quote -32768 - 340282366920938463463374607431768211455
+-32768 - 340282366920938463463374607431768211455
+quote -32768 - 340282366920938463463374607431768211456
+-32768 - 340282366920938463463374607431768211456
+quote -32767 - -170141183460469231731687303715884105728
+-32767 - -170141183460469231731687303715884105728
+quote -32767 - -170141183460469231731687303715884105727
+-32767 - -170141183460469231731687303715884105727
+quote -32767 - -9223372036854775808
+-32767 - -9223372036854775808
+quote -32767 - -9223372036854775807
+-32767 - -9223372036854775807
+quote -32767 - -2147483648
+-32767 - -2147483648
+quote -32767 - -2147483647
+-32767 - -2147483647
+quote -32767 - -32768
+-32767 - -32768
+quote -32767 - -32767
+-32767 - -32767
+quote -32767 - -128
+-32767 - -128
+quote -32767 - -127
+-32767 - -127
+quote -32767 - 255
+-32767 - 255
+quote -32767 - 256
+-32767 - 256
+quote -32767 - 65535
+-32767 - 65535
+quote -32767 - 65536
+-32767 - 65536
+quote -32767 - 4294967295
+-32767 - 4294967295
+quote -32767 - 4294967296
+-32767 - 4294967296
+quote -32767 - 18446744073709551615
+-32767 - 18446744073709551615
+quote -32767 - 18446744073709551616
+-32767 - 18446744073709551616
+quote -32767 - 340282366920938463463374607431768211455
+-32767 - 340282366920938463463374607431768211455
+quote -32767 - 340282366920938463463374607431768211456
+-32767 - 340282366920938463463374607431768211456
+quote -128 - -170141183460469231731687303715884105728
+-128 - -170141183460469231731687303715884105728
+quote -128 - -170141183460469231731687303715884105727
+-128 - -170141183460469231731687303715884105727
+quote -128 - -9223372036854775808
+-128 - -9223372036854775808
+quote -128 - -9223372036854775807
+-128 - -9223372036854775807
+quote -128 - -2147483648
+-128 - -2147483648
+quote -128 - -2147483647
+-128 - -2147483647
+quote -128 - -32768
+-128 - -32768
+quote -128 - -32767
+-128 - -32767
+quote -128 - -128
+-128 - -128
+quote -128 - -127
+-128 - -127
+quote -128 - 255
+-128 - 255
+quote -128 - 256
+-128 - 256
+quote -128 - 65535
+-128 - 65535
+quote -128 - 65536
+-128 - 65536
+quote -128 - 4294967295
+-128 - 4294967295
+quote -128 - 4294967296
+-128 - 4294967296
+quote -128 - 18446744073709551615
+-128 - 18446744073709551615
+quote -128 - 18446744073709551616
+-128 - 18446744073709551616
+quote -128 - 340282366920938463463374607431768211455
+-128 - 340282366920938463463374607431768211455
+quote -128 - 340282366920938463463374607431768211456
+-128 - 340282366920938463463374607431768211456
+quote -127 - -170141183460469231731687303715884105728
+-127 - -170141183460469231731687303715884105728
+quote -127 - -170141183460469231731687303715884105727
+-127 - -170141183460469231731687303715884105727
+quote -127 - -9223372036854775808
+-127 - -9223372036854775808
+quote -127 - -9223372036854775807
+-127 - -9223372036854775807
+quote -127 - -2147483648
+-127 - -2147483648
+quote -127 - -2147483647
+-127 - -2147483647
+quote -127 - -32768
+-127 - -32768
+quote -127 - -32767
+-127 - -32767
+quote -127 - -128
+-127 - -128
+quote -127 - -127
+-127 - -127
+quote -127 - 255
+-127 - 255
+quote -127 - 256
+-127 - 256
+quote -127 - 65535
+-127 - 65535
+quote -127 - 65536
+-127 - 65536
+quote -127 - 4294967295
+-127 - 4294967295
+quote -127 - 4294967296
+-127 - 4294967296
+quote -127 - 18446744073709551615
+-127 - 18446744073709551615
+quote -127 - 18446744073709551616
+-127 - 18446744073709551616
+quote -127 - 340282366920938463463374607431768211455
+-127 - 340282366920938463463374607431768211455
+quote -127 - 340282366920938463463374607431768211456
+-127 - 340282366920938463463374607431768211456
+quote 255 - -170141183460469231731687303715884105728
+255 - -170141183460469231731687303715884105728
+quote 255 - -170141183460469231731687303715884105727
+255 - -170141183460469231731687303715884105727
+quote 255 - -9223372036854775808
+255 - -9223372036854775808
+quote 255 - -9223372036854775807
+255 - -9223372036854775807
+quote 255 - -2147483648
+255 - -2147483648
+quote 255 - -2147483647
+255 - -2147483647
+quote 255 - -32768
+255 - -32768
+quote 255 - -32767
+255 - -32767
+quote 255 - -128
+255 - -128
+quote 255 - -127
+255 - -127
+quote 255 - 255
+255 - 255
+quote 255 - 256
+255 - 256
+quote 255 - 65535
+255 - 65535
+quote 255 - 65536
+255 - 65536
+quote 255 - 4294967295
+255 - 4294967295
+quote 255 - 4294967296
+255 - 4294967296
+quote 255 - 18446744073709551615
+255 - 18446744073709551615
+quote 255 - 18446744073709551616
+255 - 18446744073709551616
+quote 255 - 340282366920938463463374607431768211455
+255 - 340282366920938463463374607431768211455
+quote 255 - 340282366920938463463374607431768211456
+255 - 340282366920938463463374607431768211456
+quote 256 - -170141183460469231731687303715884105728
+256 - -170141183460469231731687303715884105728
+quote 256 - -170141183460469231731687303715884105727
+256 - -170141183460469231731687303715884105727
+quote 256 - -9223372036854775808
+256 - -9223372036854775808
+quote 256 - -9223372036854775807
+256 - -9223372036854775807
+quote 256 - -2147483648
+256 - -2147483648
+quote 256 - -2147483647
+256 - -2147483647
+quote 256 - -32768
+256 - -32768
+quote 256 - -32767
+256 - -32767
+quote 256 - -128
+256 - -128
+quote 256 - -127
+256 - -127
+quote 256 - 255
+256 - 255
+quote 256 - 256
+256 - 256
+quote 256 - 65535
+256 - 65535
+quote 256 - 65536
+256 - 65536
+quote 256 - 4294967295
+256 - 4294967295
+quote 256 - 4294967296
+256 - 4294967296
+quote 256 - 18446744073709551615
+256 - 18446744073709551615
+quote 256 - 18446744073709551616
+256 - 18446744073709551616
+quote 256 - 340282366920938463463374607431768211455
+256 - 340282366920938463463374607431768211455
+quote 256 - 340282366920938463463374607431768211456
+256 - 340282366920938463463374607431768211456
+quote 65535 - -170141183460469231731687303715884105728
+65535 - -170141183460469231731687303715884105728
+quote 65535 - -170141183460469231731687303715884105727
+65535 - -170141183460469231731687303715884105727
+quote 65535 - -9223372036854775808
+65535 - -9223372036854775808
+quote 65535 - -9223372036854775807
+65535 - -9223372036854775807
+quote 65535 - -2147483648
+65535 - -2147483648
+quote 65535 - -2147483647
+65535 - -2147483647
+quote 65535 - -32768
+65535 - -32768
+quote 65535 - -32767
+65535 - -32767
+quote 65535 - -128
+65535 - -128
+quote 65535 - -127
+65535 - -127
+quote 65535 - 255
+65535 - 255
+quote 65535 - 256
+65535 - 256
+quote 65535 - 65535
+65535 - 65535
+quote 65535 - 65536
+65535 - 65536
+quote 65535 - 4294967295
+65535 - 4294967295
+quote 65535 - 4294967296
+65535 - 4294967296
+quote 65535 - 18446744073709551615
+65535 - 18446744073709551615
+quote 65535 - 18446744073709551616
+65535 - 18446744073709551616
+quote 65535 - 340282366920938463463374607431768211455
+65535 - 340282366920938463463374607431768211455
+quote 65535 - 340282366920938463463374607431768211456
+65535 - 340282366920938463463374607431768211456
+quote 65536 - -170141183460469231731687303715884105728
+65536 - -170141183460469231731687303715884105728
+quote 65536 - -170141183460469231731687303715884105727
+65536 - -170141183460469231731687303715884105727
+quote 65536 - -9223372036854775808
+65536 - -9223372036854775808
+quote 65536 - -9223372036854775807
+65536 - -9223372036854775807
+quote 65536 - -2147483648
+65536 - -2147483648
+quote 65536 - -2147483647
+65536 - -2147483647
+quote 65536 - -32768
+65536 - -32768
+quote 65536 - -32767
+65536 - -32767
+quote 65536 - -128
+65536 - -128
+quote 65536 - -127
+65536 - -127
+quote 65536 - 255
+65536 - 255
+quote 65536 - 256
+65536 - 256
+quote 65536 - 65535
+65536 - 65535
+quote 65536 - 65536
+65536 - 65536
+quote 65536 - 4294967295
+65536 - 4294967295
+quote 65536 - 4294967296
+65536 - 4294967296
+quote 65536 - 18446744073709551615
+65536 - 18446744073709551615
+quote 65536 - 18446744073709551616
+65536 - 18446744073709551616
+quote 65536 - 340282366920938463463374607431768211455
+65536 - 340282366920938463463374607431768211455
+quote 65536 - 340282366920938463463374607431768211456
+65536 - 340282366920938463463374607431768211456
+quote 4294967295 - -170141183460469231731687303715884105728
+4294967295 - -170141183460469231731687303715884105728
+quote 4294967295 - -170141183460469231731687303715884105727
+4294967295 - -170141183460469231731687303715884105727
+quote 4294967295 - -9223372036854775808
+4294967295 - -9223372036854775808
+quote 4294967295 - -9223372036854775807
+4294967295 - -9223372036854775807
+quote 4294967295 - -2147483648
+4294967295 - -2147483648
+quote 4294967295 - -2147483647
+4294967295 - -2147483647
+quote 4294967295 - -32768
+4294967295 - -32768
+quote 4294967295 - -32767
+4294967295 - -32767
+quote 4294967295 - -128
+4294967295 - -128
+quote 4294967295 - -127
+4294967295 - -127
+quote 4294967295 - 255
+4294967295 - 255
+quote 4294967295 - 256
+4294967295 - 256
+quote 4294967295 - 65535
+4294967295 - 65535
+quote 4294967295 - 65536
+4294967295 - 65536
+quote 4294967295 - 4294967295
+4294967295 - 4294967295
+quote 4294967295 - 4294967296
+4294967295 - 4294967296
+quote 4294967295 - 18446744073709551615
+4294967295 - 18446744073709551615
+quote 4294967295 - 18446744073709551616
+4294967295 - 18446744073709551616
+quote 4294967295 - 340282366920938463463374607431768211455
+4294967295 - 340282366920938463463374607431768211455
+quote 4294967295 - 340282366920938463463374607431768211456
+4294967295 - 340282366920938463463374607431768211456
+quote 4294967296 - -170141183460469231731687303715884105728
+4294967296 - -170141183460469231731687303715884105728
+quote 4294967296 - -170141183460469231731687303715884105727
+4294967296 - -170141183460469231731687303715884105727
+quote 4294967296 - -9223372036854775808
+4294967296 - -9223372036854775808
+quote 4294967296 - -9223372036854775807
+4294967296 - -9223372036854775807
+quote 4294967296 - -2147483648
+4294967296 - -2147483648
+quote 4294967296 - -2147483647
+4294967296 - -2147483647
+quote 4294967296 - -32768
+4294967296 - -32768
+quote 4294967296 - -32767
+4294967296 - -32767
+quote 4294967296 - -128
+4294967296 - -128
+quote 4294967296 - -127
+4294967296 - -127
+quote 4294967296 - 255
+4294967296 - 255
+quote 4294967296 - 256
+4294967296 - 256
+quote 4294967296 - 65535
+4294967296 - 65535
+quote 4294967296 - 65536
+4294967296 - 65536
+quote 4294967296 - 4294967295
+4294967296 - 4294967295
+quote 4294967296 - 4294967296
+4294967296 - 4294967296
+quote 4294967296 - 18446744073709551615
+4294967296 - 18446744073709551615
+quote 4294967296 - 18446744073709551616
+4294967296 - 18446744073709551616
+quote 4294967296 - 340282366920938463463374607431768211455
+4294967296 - 340282366920938463463374607431768211455
+quote 4294967296 - 340282366920938463463374607431768211456
+4294967296 - 340282366920938463463374607431768211456
+quote 18446744073709551615 - -170141183460469231731687303715884105728
+18446744073709551615 - -170141183460469231731687303715884105728
+quote 18446744073709551615 - -170141183460469231731687303715884105727
+18446744073709551615 - -170141183460469231731687303715884105727
+quote 18446744073709551615 - -9223372036854775808
+18446744073709551615 - -9223372036854775808
+quote 18446744073709551615 - -9223372036854775807
+18446744073709551615 - -9223372036854775807
+quote 18446744073709551615 - -2147483648
+18446744073709551615 - -2147483648
+quote 18446744073709551615 - -2147483647
+18446744073709551615 - -2147483647
+quote 18446744073709551615 - -32768
+18446744073709551615 - -32768
+quote 18446744073709551615 - -32767
+18446744073709551615 - -32767
+quote 18446744073709551615 - -128
+18446744073709551615 - -128
+quote 18446744073709551615 - -127
+18446744073709551615 - -127
+quote 18446744073709551615 - 255
+18446744073709551615 - 255
+quote 18446744073709551615 - 256
+18446744073709551615 - 256
+quote 18446744073709551615 - 65535
+18446744073709551615 - 65535
+quote 18446744073709551615 - 65536
+18446744073709551615 - 65536
+quote 18446744073709551615 - 4294967295
+18446744073709551615 - 4294967295
+quote 18446744073709551615 - 4294967296
+18446744073709551615 - 4294967296
+quote 18446744073709551615 - 18446744073709551615
+18446744073709551615 - 18446744073709551615
+quote 18446744073709551615 - 18446744073709551616
+18446744073709551615 - 18446744073709551616
+quote 18446744073709551615 - 340282366920938463463374607431768211455
+18446744073709551615 - 340282366920938463463374607431768211455
+quote 18446744073709551615 - 340282366920938463463374607431768211456
+18446744073709551615 - 340282366920938463463374607431768211456
+quote 18446744073709551616 - -170141183460469231731687303715884105728
+18446744073709551616 - -170141183460469231731687303715884105728
+quote 18446744073709551616 - -170141183460469231731687303715884105727
+18446744073709551616 - -170141183460469231731687303715884105727
+quote 18446744073709551616 - -9223372036854775808
+18446744073709551616 - -9223372036854775808
+quote 18446744073709551616 - -9223372036854775807
+18446744073709551616 - -9223372036854775807
+quote 18446744073709551616 - -2147483648
+18446744073709551616 - -2147483648
+quote 18446744073709551616 - -2147483647
+18446744073709551616 - -2147483647
+quote 18446744073709551616 - -32768
+18446744073709551616 - -32768
+quote 18446744073709551616 - -32767
+18446744073709551616 - -32767
+quote 18446744073709551616 - -128
+18446744073709551616 - -128
+quote 18446744073709551616 - -127
+18446744073709551616 - -127
+quote 18446744073709551616 - 255
+18446744073709551616 - 255
+quote 18446744073709551616 - 256
+18446744073709551616 - 256
+quote 18446744073709551616 - 65535
+18446744073709551616 - 65535
+quote 18446744073709551616 - 65536
+18446744073709551616 - 65536
+quote 18446744073709551616 - 4294967295
+18446744073709551616 - 4294967295
+quote 18446744073709551616 - 4294967296
+18446744073709551616 - 4294967296
+quote 18446744073709551616 - 18446744073709551615
+18446744073709551616 - 18446744073709551615
+quote 18446744073709551616 - 18446744073709551616
+18446744073709551616 - 18446744073709551616
+quote 18446744073709551616 - 340282366920938463463374607431768211455
+18446744073709551616 - 340282366920938463463374607431768211455
+quote 18446744073709551616 - 340282366920938463463374607431768211456
+18446744073709551616 - 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211455 - -170141183460469231731687303715884105728
+340282366920938463463374607431768211455 - -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211455 - -170141183460469231731687303715884105727
+340282366920938463463374607431768211455 - -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211455 - -9223372036854775808
+340282366920938463463374607431768211455 - -9223372036854775808
+quote 340282366920938463463374607431768211455 - -9223372036854775807
+340282366920938463463374607431768211455 - -9223372036854775807
+quote 340282366920938463463374607431768211455 - -2147483648
+340282366920938463463374607431768211455 - -2147483648
+quote 340282366920938463463374607431768211455 - -2147483647
+340282366920938463463374607431768211455 - -2147483647
+quote 340282366920938463463374607431768211455 - -32768
+340282366920938463463374607431768211455 - -32768
+quote 340282366920938463463374607431768211455 - -32767
+340282366920938463463374607431768211455 - -32767
+quote 340282366920938463463374607431768211455 - -128
+340282366920938463463374607431768211455 - -128
+quote 340282366920938463463374607431768211455 - -127
+340282366920938463463374607431768211455 - -127
+quote 340282366920938463463374607431768211455 - 255
+340282366920938463463374607431768211455 - 255
+quote 340282366920938463463374607431768211455 - 256
+340282366920938463463374607431768211455 - 256
+quote 340282366920938463463374607431768211455 - 65535
+340282366920938463463374607431768211455 - 65535
+quote 340282366920938463463374607431768211455 - 65536
+340282366920938463463374607431768211455 - 65536
+quote 340282366920938463463374607431768211455 - 4294967295
+340282366920938463463374607431768211455 - 4294967295
+quote 340282366920938463463374607431768211455 - 4294967296
+340282366920938463463374607431768211455 - 4294967296
+quote 340282366920938463463374607431768211455 - 18446744073709551615
+340282366920938463463374607431768211455 - 18446744073709551615
+quote 340282366920938463463374607431768211455 - 18446744073709551616
+340282366920938463463374607431768211455 - 18446744073709551616
+quote 340282366920938463463374607431768211455 - 340282366920938463463374607431768211455
+340282366920938463463374607431768211455 - 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211455 - 340282366920938463463374607431768211456
+340282366920938463463374607431768211455 - 340282366920938463463374607431768211456
+quote 340282366920938463463374607431768211456 - -170141183460469231731687303715884105728
+340282366920938463463374607431768211456 - -170141183460469231731687303715884105728
+quote 340282366920938463463374607431768211456 - -170141183460469231731687303715884105727
+340282366920938463463374607431768211456 - -170141183460469231731687303715884105727
+quote 340282366920938463463374607431768211456 - -9223372036854775808
+340282366920938463463374607431768211456 - -9223372036854775808
+quote 340282366920938463463374607431768211456 - -9223372036854775807
+340282366920938463463374607431768211456 - -9223372036854775807
+quote 340282366920938463463374607431768211456 - -2147483648
+340282366920938463463374607431768211456 - -2147483648
+quote 340282366920938463463374607431768211456 - -2147483647
+340282366920938463463374607431768211456 - -2147483647
+quote 340282366920938463463374607431768211456 - -32768
+340282366920938463463374607431768211456 - -32768
+quote 340282366920938463463374607431768211456 - -32767
+340282366920938463463374607431768211456 - -32767
+quote 340282366920938463463374607431768211456 - -128
+340282366920938463463374607431768211456 - -128
+quote 340282366920938463463374607431768211456 - -127
+340282366920938463463374607431768211456 - -127
+quote 340282366920938463463374607431768211456 - 255
+340282366920938463463374607431768211456 - 255
+quote 340282366920938463463374607431768211456 - 256
+340282366920938463463374607431768211456 - 256
+quote 340282366920938463463374607431768211456 - 65535
+340282366920938463463374607431768211456 - 65535
+quote 340282366920938463463374607431768211456 - 65536
+340282366920938463463374607431768211456 - 65536
+quote 340282366920938463463374607431768211456 - 4294967295
+340282366920938463463374607431768211456 - 4294967295
+quote 340282366920938463463374607431768211456 - 4294967296
+340282366920938463463374607431768211456 - 4294967296
+quote 340282366920938463463374607431768211456 - 18446744073709551615
+340282366920938463463374607431768211456 - 18446744073709551615
+quote 340282366920938463463374607431768211456 - 18446744073709551616
+340282366920938463463374607431768211456 - 18446744073709551616
+quote 340282366920938463463374607431768211456 - 340282366920938463463374607431768211455
+340282366920938463463374607431768211456 - 340282366920938463463374607431768211455
+quote 340282366920938463463374607431768211456 - 340282366920938463463374607431768211456
+340282366920938463463374607431768211456 - 340282366920938463463374607431768211456
diff --git a/test/ic3/integer_sub_2.out.expected b/test/ic3/integer_sub_2.out.expected
new file mode 100644
index 0000000..c6a58ea
--- /dev/null
+++ b/test/ic3/integer_sub_2.out.expected
@@ -0,0 +1,800 @@
+-170141183460469231731687303715884105728 - -170141183460469231731687303715884105728
+0
+-170141183460469231731687303715884105728 - -170141183460469231731687303715884105727
+-1
+-170141183460469231731687303715884105728 - -9223372036854775808
+-170141183460469231722463931679029329920
+-170141183460469231731687303715884105728 - -9223372036854775807
+-170141183460469231722463931679029329921
+-170141183460469231731687303715884105728 - -2147483648
+-170141183460469231731687303713736622080
+-170141183460469231731687303715884105728 - -2147483647
+-170141183460469231731687303713736622081
+-170141183460469231731687303715884105728 - -32768
+-170141183460469231731687303715884072960
+-170141183460469231731687303715884105728 - -32767
+-170141183460469231731687303715884072961
+-170141183460469231731687303715884105728 - -128
+-170141183460469231731687303715884105600
+-170141183460469231731687303715884105728 - -127
+-170141183460469231731687303715884105601
+-170141183460469231731687303715884105728 - 255
+-170141183460469231731687303715884105983
+-170141183460469231731687303715884105728 - 256
+-170141183460469231731687303715884105984
+-170141183460469231731687303715884105728 - 65535
+-170141183460469231731687303715884171263
+-170141183460469231731687303715884105728 - 65536
+-170141183460469231731687303715884171264
+-170141183460469231731687303715884105728 - 4294967295
+-170141183460469231731687303720179073023
+-170141183460469231731687303715884105728 - 4294967296
+-170141183460469231731687303720179073024
+-170141183460469231731687303715884105728 - 18446744073709551615
+-170141183460469231750134047789593657343
+-170141183460469231731687303715884105728 - 18446744073709551616
+-170141183460469231750134047789593657344
+-170141183460469231731687303715884105728 - 340282366920938463463374607431768211455
+-510423550381407695195061911147652317183
+-170141183460469231731687303715884105728 - 340282366920938463463374607431768211456
+-510423550381407695195061911147652317184
+-170141183460469231731687303715884105727 - -170141183460469231731687303715884105728
+1
+-170141183460469231731687303715884105727 - -170141183460469231731687303715884105727
+0
+-170141183460469231731687303715884105727 - -9223372036854775808
+-170141183460469231722463931679029329919
+-170141183460469231731687303715884105727 - -9223372036854775807
+-170141183460469231722463931679029329920
+-170141183460469231731687303715884105727 - -2147483648
+-170141183460469231731687303713736622079
+-170141183460469231731687303715884105727 - -2147483647
+-170141183460469231731687303713736622080
+-170141183460469231731687303715884105727 - -32768
+-170141183460469231731687303715884072959
+-170141183460469231731687303715884105727 - -32767
+-170141183460469231731687303715884072960
+-170141183460469231731687303715884105727 - -128
+-170141183460469231731687303715884105599
+-170141183460469231731687303715884105727 - -127
+-170141183460469231731687303715884105600
+-170141183460469231731687303715884105727 - 255
+-170141183460469231731687303715884105982
+-170141183460469231731687303715884105727 - 256
+-170141183460469231731687303715884105983
+-170141183460469231731687303715884105727 - 65535
+-170141183460469231731687303715884171262
+-170141183460469231731687303715884105727 - 65536
+-170141183460469231731687303715884171263
+-170141183460469231731687303715884105727 - 4294967295
+-170141183460469231731687303720179073022
+-170141183460469231731687303715884105727 - 4294967296
+-170141183460469231731687303720179073023
+-170141183460469231731687303715884105727 - 18446744073709551615
+-170141183460469231750134047789593657342
+-170141183460469231731687303715884105727 - 18446744073709551616
+-170141183460469231750134047789593657343
+-170141183460469231731687303715884105727 - 340282366920938463463374607431768211455
+-510423550381407695195061911147652317182
+-170141183460469231731687303715884105727 - 340282366920938463463374607431768211456
+-510423550381407695195061911147652317183
+-9223372036854775808 - -170141183460469231731687303715884105728
+170141183460469231722463931679029329920
+-9223372036854775808 - -170141183460469231731687303715884105727
+170141183460469231722463931679029329919
+-9223372036854775808 - -9223372036854775808
+0
+-9223372036854775808 - -9223372036854775807
+-1
+-9223372036854775808 - -2147483648
+-9223372034707292160
+-9223372036854775808 - -2147483647
+-9223372034707292161
+-9223372036854775808 - -32768
+-9223372036854743040
+-9223372036854775808 - -32767
+-9223372036854743041
+-9223372036854775808 - -128
+-9223372036854775680
+-9223372036854775808 - -127
+-9223372036854775681
+-9223372036854775808 - 255
+-9223372036854776063
+-9223372036854775808 - 256
+-9223372036854776064
+-9223372036854775808 - 65535
+-9223372036854841343
+-9223372036854775808 - 65536
+-9223372036854841344
+-9223372036854775808 - 4294967295
+-9223372041149743103
+-9223372036854775808 - 4294967296
+-9223372041149743104
+-9223372036854775808 - 18446744073709551615
+-27670116110564327423
+-9223372036854775808 - 18446744073709551616
+-27670116110564327424
+-9223372036854775808 - 340282366920938463463374607431768211455
+-340282366920938463472597979468622987263
+-9223372036854775808 - 340282366920938463463374607431768211456
+-340282366920938463472597979468622987264
+-9223372036854775807 - -170141183460469231731687303715884105728
+170141183460469231722463931679029329921
+-9223372036854775807 - -170141183460469231731687303715884105727
+170141183460469231722463931679029329920
+-9223372036854775807 - -9223372036854775808
+1
+-9223372036854775807 - -9223372036854775807
+0
+-9223372036854775807 - -2147483648
+-9223372034707292159
+-9223372036854775807 - -2147483647
+-9223372034707292160
+-9223372036854775807 - -32768
+-9223372036854743039
+-9223372036854775807 - -32767
+-9223372036854743040
+-9223372036854775807 - -128
+-9223372036854775679
+-9223372036854775807 - -127
+-9223372036854775680
+-9223372036854775807 - 255
+-9223372036854776062
+-9223372036854775807 - 256
+-9223372036854776063
+-9223372036854775807 - 65535
+-9223372036854841342
+-9223372036854775807 - 65536
+-9223372036854841343
+-9223372036854775807 - 4294967295
+-9223372041149743102
+-9223372036854775807 - 4294967296
+-9223372041149743103
+-9223372036854775807 - 18446744073709551615
+-27670116110564327422
+-9223372036854775807 - 18446744073709551616
+-27670116110564327423
+-9223372036854775807 - 340282366920938463463374607431768211455
+-340282366920938463472597979468622987262
+-9223372036854775807 - 340282366920938463463374607431768211456
+-340282366920938463472597979468622987263
+-2147483648 - -170141183460469231731687303715884105728
+170141183460469231731687303713736622080
+-2147483648 - -170141183460469231731687303715884105727
+170141183460469231731687303713736622079
+-2147483648 - -9223372036854775808
+9223372034707292160
+-2147483648 - -9223372036854775807
+9223372034707292159
+-2147483648 - -2147483648
+0
+-2147483648 - -2147483647
+-1
+-2147483648 - -32768
+-2147450880
+-2147483648 - -32767
+-2147450881
+-2147483648 - -128
+-2147483520
+-2147483648 - -127
+-2147483521
+-2147483648 - 255
+-2147483903
+-2147483648 - 256
+-2147483904
+-2147483648 - 65535
+-2147549183
+-2147483648 - 65536
+-2147549184
+-2147483648 - 4294967295
+-6442450943
+-2147483648 - 4294967296
+-6442450944
+-2147483648 - 18446744073709551615
+-18446744075857035263
+-2147483648 - 18446744073709551616
+-18446744075857035264
+-2147483648 - 340282366920938463463374607431768211455
+-340282366920938463463374607433915695103
+-2147483648 - 340282366920938463463374607431768211456
+-340282366920938463463374607433915695104
+-2147483647 - -170141183460469231731687303715884105728
+170141183460469231731687303713736622081
+-2147483647 - -170141183460469231731687303715884105727
+170141183460469231731687303713736622080
+-2147483647 - -9223372036854775808
+9223372034707292161
+-2147483647 - -9223372036854775807
+9223372034707292160
+-2147483647 - -2147483648
+1
+-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
+-2147483647 - 18446744073709551615
+-18446744075857035262
+-2147483647 - 18446744073709551616
+-18446744075857035263
+-2147483647 - 340282366920938463463374607431768211455
+-340282366920938463463374607433915695102
+-2147483647 - 340282366920938463463374607431768211456
+-340282366920938463463374607433915695103
+-32768 - -170141183460469231731687303715884105728
+170141183460469231731687303715884072960
+-32768 - -170141183460469231731687303715884105727
+170141183460469231731687303715884072959
+-32768 - -9223372036854775808
+9223372036854743040
+-32768 - -9223372036854775807
+9223372036854743039
+-32768 - -2147483648
+2147450880
+-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
+-32768 - 18446744073709551615
+-18446744073709584383
+-32768 - 18446744073709551616
+-18446744073709584384
+-32768 - 340282366920938463463374607431768211455
+-340282366920938463463374607431768244223
+-32768 - 340282366920938463463374607431768211456
+-340282366920938463463374607431768244224
+-32767 - -170141183460469231731687303715884105728
+170141183460469231731687303715884072961
+-32767 - -170141183460469231731687303715884105727
+170141183460469231731687303715884072960
+-32767 - -9223372036854775808
+9223372036854743041
+-32767 - -9223372036854775807
+9223372036854743040
+-32767 - -2147483648
+2147450881
+-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
+-32767 - 18446744073709551615
+-18446744073709584382
+-32767 - 18446744073709551616
+-18446744073709584383
+-32767 - 340282366920938463463374607431768211455
+-340282366920938463463374607431768244222
+-32767 - 340282366920938463463374607431768211456
+-340282366920938463463374607431768244223
+-128 - -170141183460469231731687303715884105728
+170141183460469231731687303715884105600
+-128 - -170141183460469231731687303715884105727
+170141183460469231731687303715884105599
+-128 - -9223372036854775808
+9223372036854775680
+-128 - -9223372036854775807
+9223372036854775679
+-128 - -2147483648
+2147483520
+-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
+-128 - 18446744073709551615
+-18446744073709551743
+-128 - 18446744073709551616
+-18446744073709551744
+-128 - 340282366920938463463374607431768211455
+-340282366920938463463374607431768211583
+-128 - 340282366920938463463374607431768211456
+-340282366920938463463374607431768211584
+-127 - -170141183460469231731687303715884105728
+170141183460469231731687303715884105601
+-127 - -170141183460469231731687303715884105727
+170141183460469231731687303715884105600
+-127 - -9223372036854775808
+9223372036854775681
+-127 - -9223372036854775807
+9223372036854775680
+-127 - -2147483648
+2147483521
+-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
+-127 - 18446744073709551615
+-18446744073709551742
+-127 - 18446744073709551616
+-18446744073709551743
+-127 - 340282366920938463463374607431768211455
+-340282366920938463463374607431768211582
+-127 - 340282366920938463463374607431768211456
+-340282366920938463463374607431768211583
+255 - -170141183460469231731687303715884105728
+170141183460469231731687303715884105983
+255 - -170141183460469231731687303715884105727
+170141183460469231731687303715884105982
+255 - -9223372036854775808
+9223372036854776063
+255 - -9223372036854775807
+9223372036854776062
+255 - -2147483648
+2147483903
+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
+255 - 18446744073709551615
+-18446744073709551360
+255 - 18446744073709551616
+-18446744073709551361
+255 - 340282366920938463463374607431768211455
+-340282366920938463463374607431768211200
+255 - 340282366920938463463374607431768211456
+-340282366920938463463374607431768211201
+256 - -170141183460469231731687303715884105728
+170141183460469231731687303715884105984
+256 - -170141183460469231731687303715884105727
+170141183460469231731687303715884105983
+256 - -9223372036854775808
+9223372036854776064
+256 - -9223372036854775807
+9223372036854776063
+256 - -2147483648
+2147483904
+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
+256 - 18446744073709551615
+-18446744073709551359
+256 - 18446744073709551616
+-18446744073709551360
+256 - 340282366920938463463374607431768211455
+-340282366920938463463374607431768211199
+256 - 340282366920938463463374607431768211456
+-340282366920938463463374607431768211200
+65535 - -170141183460469231731687303715884105728
+170141183460469231731687303715884171263
+65535 - -170141183460469231731687303715884105727
+170141183460469231731687303715884171262
+65535 - -9223372036854775808
+9223372036854841343
+65535 - -9223372036854775807
+9223372036854841342
+65535 - -2147483648
+2147549183
+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
+65535 - 18446744073709551615
+-18446744073709486080
+65535 - 18446744073709551616
+-18446744073709486081
+65535 - 340282366920938463463374607431768211455
+-340282366920938463463374607431768145920
+65535 - 340282366920938463463374607431768211456
+-340282366920938463463374607431768145921
+65536 - -170141183460469231731687303715884105728
+170141183460469231731687303715884171264
+65536 - -170141183460469231731687303715884105727
+170141183460469231731687303715884171263
+65536 - -9223372036854775808
+9223372036854841344
+65536 - -9223372036854775807
+9223372036854841343
+65536 - -2147483648
+2147549184
+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
+65536 - 18446744073709551615
+-18446744073709486079
+65536 - 18446744073709551616
+-18446744073709486080
+65536 - 340282366920938463463374607431768211455
+-340282366920938463463374607431768145919
+65536 - 340282366920938463463374607431768211456
+-340282366920938463463374607431768145920
+4294967295 - -170141183460469231731687303715884105728
+170141183460469231731687303720179073023
+4294967295 - -170141183460469231731687303715884105727
+170141183460469231731687303720179073022
+4294967295 - -9223372036854775808
+9223372041149743103
+4294967295 - -9223372036854775807
+9223372041149743102
+4294967295 - -2147483648
+6442450943
+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
+4294967295 - 18446744073709551615
+-18446744069414584320
+4294967295 - 18446744073709551616
+-18446744069414584321
+4294967295 - 340282366920938463463374607431768211455
+-340282366920938463463374607427473244160
+4294967295 - 340282366920938463463374607431768211456
+-340282366920938463463374607427473244161
+4294967296 - -170141183460469231731687303715884105728
+170141183460469231731687303720179073024
+4294967296 - -170141183460469231731687303715884105727
+170141183460469231731687303720179073023
+4294967296 - -9223372036854775808
+9223372041149743104
+4294967296 - -9223372036854775807
+9223372041149743103
+4294967296 - -2147483648
+6442450944
+4294967296 - -2147483647
+6442450943
+4294967296 - -32768
+4295000064
+4294967296 - -32767
+4295000063
+4294967296 - -128
+4294967424
+4294967296 - -127
+4294967423
+4294967296 - 255
+4294967041
+4294967296 - 256
+4294967040
+4294967296 - 65535
+4294901761
+4294967296 - 65536
+4294901760
+4294967296 - 4294967295
+1
+4294967296 - 4294967296
+0
+4294967296 - 18446744073709551615
+-18446744069414584319
+4294967296 - 18446744073709551616
+-18446744069414584320
+4294967296 - 340282366920938463463374607431768211455
+-340282366920938463463374607427473244159
+4294967296 - 340282366920938463463374607431768211456
+-340282366920938463463374607427473244160
+18446744073709551615 - -170141183460469231731687303715884105728
+170141183460469231750134047789593657343
+18446744073709551615 - -170141183460469231731687303715884105727
+170141183460469231750134047789593657342
+18446744073709551615 - -9223372036854775808
+27670116110564327423
+18446744073709551615 - -9223372036854775807
+27670116110564327422
+18446744073709551615 - -2147483648
+18446744075857035263
+18446744073709551615 - -2147483647
+18446744075857035262
+18446744073709551615 - -32768
+18446744073709584383
+18446744073709551615 - -32767
+18446744073709584382
+18446744073709551615 - -128
+18446744073709551743
+18446744073709551615 - -127
+18446744073709551742
+18446744073709551615 - 255
+18446744073709551360
+18446744073709551615 - 256
+18446744073709551359
+18446744073709551615 - 65535
+18446744073709486080
+18446744073709551615 - 65536
+18446744073709486079
+18446744073709551615 - 4294967295
+18446744069414584320
+18446744073709551615 - 4294967296
+18446744069414584319
+18446744073709551615 - 18446744073709551615
+0
+18446744073709551615 - 18446744073709551616
+-1
+18446744073709551615 - 340282366920938463463374607431768211455
+-340282366920938463444927863358058659840
+18446744073709551615 - 340282366920938463463374607431768211456
+-340282366920938463444927863358058659841
+18446744073709551616 - -170141183460469231731687303715884105728
+170141183460469231750134047789593657344
+18446744073709551616 - -170141183460469231731687303715884105727
+170141183460469231750134047789593657343
+18446744073709551616 - -9223372036854775808
+27670116110564327424
+18446744073709551616 - -9223372036854775807
+27670116110564327423
+18446744073709551616 - -2147483648
+18446744075857035264
+18446744073709551616 - -2147483647
+18446744075857035263
+18446744073709551616 - -32768
+18446744073709584384
+18446744073709551616 - -32767
+18446744073709584383
+18446744073709551616 - -128
+18446744073709551744
+18446744073709551616 - -127
+18446744073709551743
+18446744073709551616 - 255
+18446744073709551361
+18446744073709551616 - 256
+18446744073709551360
+18446744073709551616 - 65535
+18446744073709486081
+18446744073709551616 - 65536
+18446744073709486080
+18446744073709551616 - 4294967295
+18446744069414584321
+18446744073709551616 - 4294967296
+18446744069414584320
+18446744073709551616 - 18446744073709551615
+1
+18446744073709551616 - 18446744073709551616
+0
+18446744073709551616 - 340282366920938463463374607431768211455
+-340282366920938463444927863358058659839
+18446744073709551616 - 340282366920938463463374607431768211456
+-340282366920938463444927863358058659840
+340282366920938463463374607431768211455 - -170141183460469231731687303715884105728
+510423550381407695195061911147652317183
+340282366920938463463374607431768211455 - -170141183460469231731687303715884105727
+510423550381407695195061911147652317182
+340282366920938463463374607431768211455 - -9223372036854775808
+340282366920938463472597979468622987263
+340282366920938463463374607431768211455 - -9223372036854775807
+340282366920938463472597979468622987262
+340282366920938463463374607431768211455 - -2147483648
+340282366920938463463374607433915695103
+340282366920938463463374607431768211455 - -2147483647
+340282366920938463463374607433915695102
+340282366920938463463374607431768211455 - -32768
+340282366920938463463374607431768244223
+340282366920938463463374607431768211455 - -32767
+340282366920938463463374607431768244222
+340282366920938463463374607431768211455 - -128
+340282366920938463463374607431768211583
+340282366920938463463374607431768211455 - -127
+340282366920938463463374607431768211582
+340282366920938463463374607431768211455 - 255
+340282366920938463463374607431768211200
+340282366920938463463374607431768211455 - 256
+340282366920938463463374607431768211199
+340282366920938463463374607431768211455 - 65535
+340282366920938463463374607431768145920
+340282366920938463463374607431768211455 - 65536
+340282366920938463463374607431768145919
+340282366920938463463374607431768211455 - 4294967295
+340282366920938463463374607427473244160
+340282366920938463463374607431768211455 - 4294967296
+340282366920938463463374607427473244159
+340282366920938463463374607431768211455 - 18446744073709551615
+340282366920938463444927863358058659840
+340282366920938463463374607431768211455 - 18446744073709551616
+340282366920938463444927863358058659839
+340282366920938463463374607431768211455 - 340282366920938463463374607431768211455
+0
+340282366920938463463374607431768211455 - 340282366920938463463374607431768211456
+-1
+340282366920938463463374607431768211456 - -170141183460469231731687303715884105728
+510423550381407695195061911147652317184
+340282366920938463463374607431768211456 - -170141183460469231731687303715884105727
+510423550381407695195061911147652317183
+340282366920938463463374607431768211456 - -9223372036854775808
+340282366920938463472597979468622987264
+340282366920938463463374607431768211456 - -9223372036854775807
+340282366920938463472597979468622987263
+340282366920938463463374607431768211456 - -2147483648
+340282366920938463463374607433915695104
+340282366920938463463374607431768211456 - -2147483647
+340282366920938463463374607433915695103
+340282366920938463463374607431768211456 - -32768
+340282366920938463463374607431768244224
+340282366920938463463374607431768211456 - -32767
+340282366920938463463374607431768244223
+340282366920938463463374607431768211456 - -128
+340282366920938463463374607431768211584
+340282366920938463463374607431768211456 - -127
+340282366920938463463374607431768211583
+340282366920938463463374607431768211456 - 255
+340282366920938463463374607431768211201
+340282366920938463463374607431768211456 - 256
+340282366920938463463374607431768211200
+340282366920938463463374607431768211456 - 65535
+340282366920938463463374607431768145921
+340282366920938463463374607431768211456 - 65536
+340282366920938463463374607431768145920
+340282366920938463463374607431768211456 - 4294967295
+340282366920938463463374607427473244161
+340282366920938463463374607431768211456 - 4294967296
+340282366920938463463374607427473244160
+340282366920938463463374607431768211456 - 18446744073709551615
+340282366920938463444927863358058659841
+340282366920938463463374607431768211456 - 18446744073709551616
+340282366920938463444927863358058659840
+340282366920938463463374607431768211456 - 340282366920938463463374607431768211455
+1
+340282366920938463463374607431768211456 - 340282366920938463463374607431768211456
+0
diff --git a/test/ic3/integer_sub_2.ret.expected b/test/ic3/integer_sub_2.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_sub_2.ret.expected
@@ -0,0 +1 @@
+0