diff --git a/libc3/tag.c b/libc3/tag.c
index 5dd6748..92c8952 100644
--- a/libc3/tag.c
+++ b/libc3/tag.c
@@ -5059,10 +5059,9 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_f64(dest, fmod((f64) a->data.s8, b->data.f64));
case TAG_INTEGER:
integer_init_s8(&tmp, a->data.s8);
- integer_mod(&tmp, &b->data.integer, &tmp2);
- tag_init_s8(dest, integer_to_s8(&tmp2));
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &b->data.integer, &dest->data.integer);
integer_clean(&tmp);
- integer_clean(&tmp2);
return dest;
case TAG_S8:
return tag_init_s8(dest, a->data.s8 % b->data.s8);
@@ -5074,16 +5073,40 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_s8(dest, a->data.s8 % b->data.s64);
case TAG_SW:
return tag_init_s8(dest, a->data.s8 % b->data.sw);
- case TAG_U8:
- return tag_init_s8(dest, a->data.s8 % b->data.u8);
- case TAG_U16:
- return tag_init_s8(dest, a->data.s8 % b->data.u16);
- case TAG_U32:
- return tag_init_s8(dest, a->data.s8 % b->data.u32);
+ case TAG_U8: {
+ s16 i = a->data.s8 % (s16) b->data.u8;
+ if (i < 0)
+ i += b->data.u8;
+ return tag_init_u8(dest, i);
+ }
+ case TAG_U16: {
+ s32 i = a->data.s8 % (s32) b->data.u16;
+ if (i < 0)
+ i += b->data.u16;
+ return tag_init_u16(dest, i);
+ }
+ case TAG_U32: {
+ s64 i = a->data.s8 % (s64) b->data.u32;
+ if (i < 0)
+ i += b->data.u32;
+ return tag_init_u32(dest, i);
+ }
case TAG_U64:
- return tag_init_s8(dest, a->data.s8 % b->data.u64);
+ integer_init_s8(&tmp, a->data.s8);
+ integer_init_u64(&tmp2, b->data.u64);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_UW:
- return tag_init_s8(dest, a->data.s8 % b->data.uw);
+ integer_init_s8(&tmp, a->data.s8);
+ integer_init_uw(&tmp2, b->data.uw);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
default:
goto ko;
}
@@ -5095,10 +5118,9 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_f64(dest, fmod((f64) a->data.s16, b->data.f64));
case TAG_INTEGER:
integer_init_s16(&tmp, a->data.s16);
- integer_mod(&tmp, &b->data.integer, &tmp2);
- tag_init_s16(dest, integer_to_s16(&tmp2));
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &b->data.integer, &dest->data.integer);
integer_clean(&tmp);
- integer_clean(&tmp2);
return dest;
case TAG_S8:
return tag_init_s8(dest, a->data.s16 % b->data.s8);
@@ -5110,16 +5132,40 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_s16(dest, a->data.s16 % b->data.s64);
case TAG_SW:
return tag_init_s16(dest, a->data.s16 % b->data.sw);
- case TAG_U8:
- return tag_init_s16(dest, a->data.s16 % b->data.u8);
- case TAG_U16:
- return tag_init_s16(dest, a->data.s16 % b->data.u16);
- case TAG_U32:
- return tag_init_s16(dest, a->data.s16 % b->data.u32);
+ case TAG_U8: {
+ s16 i = a->data.s16 % (s16) b->data.u8;
+ if (i < 0)
+ i += b->data.u8;
+ return tag_init_u8(dest, i);
+ }
+ case TAG_U16: {
+ s32 i = a->data.s16 % (s32) b->data.u16;
+ if (i < 0)
+ i += b->data.u16;
+ return tag_init_u16(dest, i);
+ }
+ case TAG_U32: {
+ s64 i = a->data.s16 % (s64) b->data.u32;
+ if (i < 0)
+ i += b->data.u32;
+ return tag_init_u32(dest, i);
+ }
case TAG_U64:
- return tag_init_s16(dest, a->data.s16 % b->data.u64);
+ integer_init_s16(&tmp, a->data.s16);
+ integer_init_u64(&tmp2, b->data.u64);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_UW:
- return tag_init_s16(dest, a->data.s16 % b->data.uw);
+ integer_init_s16(&tmp, a->data.s16);
+ integer_init_uw(&tmp2, b->data.uw);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
default:
goto ko;
}
@@ -5131,10 +5177,9 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_f64(dest, fmod((f64) a->data.s32, b->data.f64));
case TAG_INTEGER:
integer_init_s32(&tmp, a->data.s32);
- integer_mod(&tmp, &b->data.integer, &tmp2);
- tag_init_s32(dest, integer_to_s32(&tmp2));
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &b->data.integer, &dest->data.integer);
integer_clean(&tmp);
- integer_clean(&tmp2);
return dest;
case TAG_S8:
return tag_init_s8(dest, a->data.s32 % b->data.s8);
@@ -5143,19 +5188,43 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
case TAG_S32:
return tag_init_s32(dest, a->data.s32 % b->data.s32);
case TAG_S64:
- return tag_init_s32(dest, a->data.s32 % b->data.s64);
+ return tag_init_s64(dest, a->data.s32 % b->data.s64);
case TAG_SW:
- return tag_init_s32(dest, a->data.s32 % b->data.sw);
- case TAG_U8:
- return tag_init_s32(dest, a->data.s32 % b->data.u8);
- case TAG_U16:
- return tag_init_s32(dest, a->data.s32 % b->data.u16);
- case TAG_U32:
- return tag_init_s32(dest, a->data.s32 % b->data.u32);
+ return tag_init_sw(dest, a->data.s32 % b->data.sw);
+ case TAG_U8: {
+ s16 i = a->data.s32 % (s16) b->data.u8;
+ if (i < 0)
+ i += b->data.u8;
+ return tag_init_u8(dest, i);
+ }
+ case TAG_U16: {
+ s32 i = a->data.s32 % (s32) b->data.u16;
+ if (i < 0)
+ i += b->data.u16;
+ return tag_init_u16(dest, i);
+ }
+ case TAG_U32: {
+ s64 i = a->data.s32 % (s64) b->data.u32;
+ if (i < 0)
+ i += b->data.u32;
+ return tag_init_u32(dest, i);
+ }
case TAG_U64:
- return tag_init_s32(dest, a->data.s32 % b->data.u64);
+ integer_init_s32(&tmp, a->data.s32);
+ integer_init_u64(&tmp2, b->data.u64);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_UW:
- return tag_init_s32(dest, a->data.s32 % b->data.uw);
+ integer_init_s32(&tmp, a->data.s32);
+ integer_init_uw(&tmp2, b->data.uw);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
default:
goto ko;
}
@@ -5167,10 +5236,9 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_f64(dest, fmod((f64) a->data.s64, b->data.f64));
case TAG_INTEGER:
integer_init_s64(&tmp, a->data.s64);
- integer_mod(&tmp, &b->data.integer, &tmp2);
- tag_init_s64(dest, integer_to_s64(&tmp2));
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &b->data.integer, &dest->data.integer);
integer_clean(&tmp);
- integer_clean(&tmp2);
return dest;
case TAG_S8:
return tag_init_s8(dest, a->data.s64 % b->data.s8);
@@ -5182,16 +5250,40 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_s64(dest, a->data.s64 % b->data.s64);
case TAG_SW:
return tag_init_sw(dest, a->data.s64 % b->data.sw);
- case TAG_U8:
- return tag_init_s16(dest, a->data.s64 % (s64) b->data.u8);
- case TAG_U16:
- return tag_init_s32(dest, a->data.s64 % (s64) b->data.u16);
- case TAG_U32:
- return tag_init_s64(dest, a->data.s64 % (s64) b->data.u32);
+ case TAG_U8: {
+ s16 i = a->data.s64 % b->data.u8;
+ if (i < 0)
+ i += b->data.u8;
+ return tag_init_u8(dest, i);
+ }
+ case TAG_U16: {
+ s32 i = a->data.s64 % b->data.u16;
+ if (i < 0)
+ i += b->data.u16;
+ return tag_init_u16(dest, i);
+ }
+ case TAG_U32: {
+ s64 i = a->data.s64 % b->data.u32;
+ if (i < 0)
+ i += b->data.u32;
+ return tag_init_u32(dest, i);
+ }
case TAG_U64:
- return tag_init_s64(dest, a->data.s64 % (s64) b->data.u64);
+ integer_init_s64(&tmp, a->data.s64);
+ integer_init_u64(&tmp2, b->data.u64);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_UW:
- return tag_init_s64(dest, a->data.s64 % (s64) b->data.uw);
+ integer_init_s64(&tmp, a->data.s64);
+ integer_init_uw(&tmp2, b->data.uw);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
default:
goto ko;
}
@@ -5218,16 +5310,40 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_sw(dest, a->data.sw % b->data.s64);
case TAG_SW:
return tag_init_sw(dest, a->data.sw % b->data.sw);
- case TAG_U8:
- return tag_init_s16(dest, a->data.sw % b->data.u8);
- case TAG_U16:
- return tag_init_s32(dest, a->data.sw % b->data.u16);
- case TAG_U32:
- return tag_init_sw(dest, a->data.sw % b->data.u32);
+ case TAG_U8: {
+ s16 i = a->data.sw % b->data.u8;
+ if (i < 0)
+ i += b->data.u8;
+ return tag_init_u8(dest, i);
+ }
+ case TAG_U16: {
+ s32 i = a->data.sw % b->data.u16;
+ if (i < 0)
+ i += b->data.u16;
+ return tag_init_u16(dest, i);
+ }
+ case TAG_U32: {
+ s64 i = a->data.sw % b->data.u32;
+ if (i < 0)
+ i += b->data.u32;
+ return tag_init_u32(dest, i);
+ }
case TAG_U64:
- return tag_init_sw(dest, a->data.sw % b->data.u64);
+ integer_init_sw(&tmp, a->data.sw);
+ integer_init_u64(&tmp2, b->data.u64);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_UW:
- return tag_init_sw(dest, a->data.sw % b->data.uw);
+ integer_init_sw(&tmp, a->data.sw);
+ integer_init_uw(&tmp2, b->data.uw);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
default:
goto ko;
}
@@ -5239,21 +5355,44 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_f64(dest, fmod((f64) a->data.u8, b->data.f64));
case TAG_INTEGER:
integer_init_u8(&tmp, a->data.u8);
- integer_mod(&tmp, &b->data.integer, &tmp2);
- tag_init_u8(dest, integer_to_u8(&tmp2));
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &b->data.integer, &dest->data.integer);
integer_clean(&tmp);
- integer_clean(&tmp2);
return dest;
- case TAG_S8:
- return tag_init_s8(dest, a->data.u8 % b->data.s8);
- case TAG_S16:
- return tag_init_s16(dest, a->data.u8 % b->data.s16);
- case TAG_S32:
- return tag_init_s16(dest, a->data.u8 % b->data.s32);
+ case TAG_S8: {
+ s16 i = a->data.u8 % b->data.s8;
+ if (b->data.s8 < 0 && i > 0)
+ i += b->data.s8;
+ return tag_init_s8(dest, i);
+ }
+ case TAG_S16: {
+ s32 i = a->data.u8 % b->data.s16;
+ if (b->data.s16 < 0 && i > 0)
+ i += b->data.s16;
+ return tag_init_s16(dest, i);
+ }
+ case TAG_S32: {
+ s64 i = a->data.u8 % b->data.s32;
+ if (b->data.s32 < 0 && i > 0)
+ i += b->data.s32;
+ return tag_init_s32(dest, i);
+ }
case TAG_S64:
- return tag_init_s16(dest, a->data.u8 % b->data.s64);
+ integer_init_u8(&tmp, a->data.u8);
+ integer_init_s64(&tmp2, b->data.s64);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_SW:
- return tag_init_s16(dest, a->data.u8 % b->data.sw);
+ integer_init_u8(&tmp, a->data.u8);
+ integer_init_sw(&tmp2, b->data.sw);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_U8:
return tag_init_u8(dest, a->data.u8 % b->data.u8);
case TAG_U16:
@@ -5275,21 +5414,44 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_f64(dest, fmod((f64) a->data.u16, b->data.f64));
case TAG_INTEGER:
integer_init_u16(&tmp, a->data.u16);
- integer_mod(&tmp, &b->data.integer, &tmp2);
- tag_init_u16(dest, integer_to_u16(&tmp2));
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &b->data.integer, &dest->data.integer);
integer_clean(&tmp);
- integer_clean(&tmp2);
return dest;
- case TAG_S8:
- return tag_init_s8(dest, a->data.u16 % b->data.s8);
- case TAG_S16:
- return tag_init_s16(dest, a->data.u16 % b->data.s16);
- case TAG_S32:
- return tag_init_s32(dest, a->data.u16 % b->data.s32);
+ case TAG_S8: {
+ s16 i = a->data.u16 % b->data.s8;
+ if (b->data.s8 < 0 && i > 0)
+ i += b->data.s8;
+ return tag_init_s8(dest, i);
+ }
+ case TAG_S16: {
+ s32 i = a->data.u16 % b->data.s16;
+ if (b->data.s16 < 0 && i > 0)
+ i += b->data.s16;
+ return tag_init_s16(dest, i);
+ }
+ case TAG_S32: {
+ s64 i = a->data.u16 % b->data.s32;
+ if (b->data.s32 < 0 && i > 0)
+ i += b->data.s32;
+ return tag_init_s32(dest, i);
+ }
case TAG_S64:
- return tag_init_s32(dest, a->data.u16 % b->data.s64);
+ integer_init_u16(&tmp, a->data.u16);
+ integer_init_s64(&tmp2, b->data.s64);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_SW:
- return tag_init_s32(dest, a->data.u16 % b->data.sw);
+ integer_init_u16(&tmp, a->data.u16);
+ integer_init_sw(&tmp2, b->data.sw);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_U8:
return tag_init_u8(dest, a->data.u16 % b->data.u8);
case TAG_U16:
@@ -5311,21 +5473,44 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_f64(dest, fmod((f64) a->data.u32, b->data.f64));
case TAG_INTEGER:
integer_init_u32(&tmp, a->data.u32);
- integer_mod(&tmp, &b->data.integer, &tmp2);
- tag_init_u32(dest, integer_to_u32(&tmp2));
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &b->data.integer, &dest->data.integer);
integer_clean(&tmp);
- integer_clean(&tmp2);
return dest;
- case TAG_S8:
- return tag_init_s8(dest, a->data.u32 % b->data.s8);
- case TAG_S16:
- return tag_init_s16(dest, a->data.u32 % b->data.s16);
- case TAG_S32:
- return tag_init_s32(dest, a->data.u32 % b->data.s32);
+ case TAG_S8: {
+ s64 i = a->data.u32 % (s64) b->data.s8;
+ if (b->data.s8 < 0 && i > 0)
+ i += b->data.s8;
+ return tag_init_s8(dest, i);
+ }
+ case TAG_S16: {
+ s64 i = a->data.u32 % (s64) b->data.s16;
+ if (b->data.s16 < 0 && i > 0)
+ i += b->data.s16;
+ return tag_init_s16(dest, i);
+ }
+ case TAG_S32: {
+ s64 i = a->data.u32 % (s64) b->data.s32;
+ if (b->data.s32 < 0 && i > 0)
+ i += b->data.s32;
+ return tag_init_s32(dest, i);
+ }
case TAG_S64:
- return tag_init_s64(dest, a->data.u32 % b->data.s64);
+ integer_init_u32(&tmp, a->data.u32);
+ integer_init_s64(&tmp2, b->data.s64);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_SW:
- return tag_init_sw(dest, a->data.u32 % b->data.sw);
+ integer_init_u32(&tmp, a->data.u32);
+ integer_init_sw(&tmp2, b->data.sw);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_U8:
return tag_init_u8(dest, a->data.u32 % b->data.u8);
case TAG_U16:
@@ -5347,10 +5532,9 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_f64(dest, fmod((f64) a->data.u64, b->data.f64));
case TAG_INTEGER:
integer_init_u64(&tmp, a->data.u64);
- integer_mod(&tmp, &b->data.integer, &tmp2);
- tag_init_u64(dest, integer_to_u64(&tmp2));
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &b->data.integer, &dest->data.integer);
integer_clean(&tmp);
- integer_clean(&tmp2);
return dest;
case TAG_S8:
integer_init_u64(&tmp, a->data.u64);
@@ -5368,7 +5552,6 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
integer_clean(&tmp);
integer_clean(&tmp2);
return dest;
- return tag_init_s16(dest, a->data.u64 % b->data.s16);
case TAG_S32:
integer_init_u64(&tmp, a->data.u64);
integer_init_s32(&tmp2, b->data.s32);
@@ -5377,7 +5560,6 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
integer_clean(&tmp);
integer_clean(&tmp2);
return dest;
- return tag_init_s32(dest, a->data.u64 % b->data.s32);
case TAG_S64:
integer_init_u64(&tmp, a->data.u64);
integer_init_s64(&tmp2, b->data.s64);
@@ -5415,21 +5597,50 @@ s_tag * tag_mod (const s_tag *a, const s_tag *b, s_tag *dest)
return tag_init_f64(dest, fmod((f64) a->data.uw, b->data.f64));
case TAG_INTEGER:
integer_init_uw(&tmp, a->data.uw);
- integer_mod(&tmp, &b->data.integer, &tmp2);
- tag_init_uw(dest, integer_to_uw(&tmp2));
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &b->data.integer, &dest->data.integer);
integer_clean(&tmp);
- integer_clean(&tmp2);
return dest;
case TAG_S8:
- return tag_init_s8(dest, a->data.uw % b->data.s8);
+ integer_init_uw(&tmp, a->data.uw);
+ integer_init_s8(&tmp2, b->data.s8);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_S16:
- return tag_init_s16(dest, a->data.uw % b->data.s16);
+ integer_init_uw(&tmp, a->data.uw);
+ integer_init_s16(&tmp2, b->data.s16);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_S32:
- return tag_init_s32(dest, a->data.uw % b->data.s32);
+ integer_init_uw(&tmp, a->data.uw);
+ integer_init_s32(&tmp2, b->data.s32);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_S64:
- return tag_init_s64(dest, a->data.uw % b->data.s64);
+ integer_init_uw(&tmp, a->data.uw);
+ integer_init_s64(&tmp2, b->data.s64);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_SW:
- return tag_init_sw(dest, a->data.uw % b->data.sw);
+ integer_init_uw(&tmp, a->data.uw);
+ integer_init_sw(&tmp2, b->data.sw);
+ dest->type = TAG_INTEGER;
+ integer_mod(&tmp, &tmp2, &dest->data.integer);
+ integer_clean(&tmp);
+ integer_clean(&tmp2);
+ return dest;
case TAG_U8:
return tag_init_u8(dest, a->data.uw % b->data.u8);
case TAG_U16:
diff --git a/test/ic3/array.err.expected b/test/ic3/array.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/array.err.expected
diff --git a/test/ic3/array.in b/test/ic3/array.in
new file mode 100644
index 0000000..31a73eb
--- /dev/null
+++ b/test/ic3/array.in
@@ -0,0 +1,114 @@
+(U8) {0, 1}
+a = (U8) {0, 1}
+quote a[0]
+quote a[1]
+a[0]
+a[1]
+(U8) {{0, 1},
+ {2, 3}}
+b = (U8) {{0, 1},
+ {2, 3}}
+quote b[0][0]
+quote b[0][1]
+quote b[1][0]
+quote b[1][1]
+b[0][0]
+b[0][1]
+b[1][0]
+b[1][1]
+c = (U8) {{{0, 1},
+ {2, 3}},
+ {{4, 5},
+ {6, 7}}}
+quote c[0][0][0]
+quote c[0][0][1]
+quote c[0][1][0]
+quote c[0][1][1]
+quote c[1][0][0]
+quote c[1][0][1]
+quote c[1][1][0]
+quote c[1][1][1]
+c[0][0][0]
+c[0][0][1]
+c[0][1][0]
+c[0][1][1]
+c[1][0][0]
+c[1][0][1]
+c[1][1][0]
+c[1][1][1]
+d = (U8) {{{{0, 1},
+ {2, 3}},
+ {{4, 5},
+ {6, 7}}},
+ {{{8, 9},
+ {10, 11}},
+ {{12, 13},
+ {14, 15}}}}
+quote d[0][0][0][0]
+quote d[0][0][0][1]
+quote d[0][0][1][0]
+quote d[0][0][1][1]
+quote d[0][1][0][0]
+quote d[0][1][0][1]
+quote d[0][1][1][0]
+quote d[0][1][1][1]
+quote d[1][0][0][0]
+quote d[1][0][0][1]
+quote d[1][0][1][0]
+quote d[1][0][1][1]
+quote d[1][1][0][0]
+quote d[1][1][0][1]
+quote d[1][1][1][0]
+quote d[1][1][1][1]
+d[0][0][0][0]
+d[0][0][0][1]
+d[0][0][1][0]
+d[0][0][1][1]
+d[0][1][0][0]
+d[0][1][0][1]
+d[0][1][1][0]
+d[0][1][1][1]
+d[1][0][0][0]
+d[1][0][0][1]
+d[1][0][1][0]
+d[1][0][1][1]
+d[1][1][0][0]
+d[1][1][0][1]
+d[1][1][1][0]
+d[1][1][1][1]
+e = (U8) { 1 + 1 }
+e[0]
+f = (U8) { 1 + 1, 2 + 2 }
+f[0]
+f[1]
+g = (U8) { 1 + 1, 2 + 2, 3 + 3 }
+g[0]
+g[1]
+g[2]
+h = (U8) { 255 + 1, 255 + 2, 255 + 3 }
+h[0]
+h[1]
+h[2]
+i = (U16) { 255 + 1, 255 + 2, 255 + 3 }
+i[0]
+i[1]
+i[2]
+j = (U32) { 255 + 1, 255 + 2, 255 + 3 }
+j[0]
+j[1]
+j[2]
+k = (U64) { 255 + 1, 255 + 2, 255 + 3 }
+k[0]
+k[1]
+k[2]
+quote (Integer) { 1000000000000000000000000000000001,
+ 2000000000000000000000000000000002 }
+l = (Integer) { 1000000000000000000000000000000001,
+ 2000000000000000000000000000000002 }
+l[0]
+l[1]
+quote (List) {(1, 2), (3, 4)}
+(List) {(1, 2), (3, 4)}
+m = (List) {(1, 2), (3, 4)}
+m[0]
+m[1]
diff --git a/test/ic3/array.out.expected b/test/ic3/array.out.expected
new file mode 100644
index 0000000..a510d31
--- /dev/null
+++ b/test/ic3/array.out.expected
@@ -0,0 +1,100 @@
+(U8) {0, 1}
+(U8) {0, 1}
+a[0]
+a[1]
+0
+1
+(U8) {{0, 1}, {2, 3}}
+(U8) {{0, 1}, {2, 3}}
+b[0][0]
+b[0][1]
+b[1][0]
+b[1][1]
+0
+1
+2
+3
+(U8) {{{0, 1}, {2, 3}}, {{4, 5}, {6, 7}}}
+c[0][0][0]
+c[0][0][1]
+c[0][1][0]
+c[0][1][1]
+c[1][0][0]
+c[1][0][1]
+c[1][1][0]
+c[1][1][1]
+0
+1
+2
+3
+4
+5
+6
+7
+(U8) {{{{0, 1}, {2, 3}}, {{4, 5}, {6, 7}}}, {{{8, 9}, {10, 11}}, {{12, 13}, {14, 15}}}}
+d[0][0][0][0]
+d[0][0][0][1]
+d[0][0][1][0]
+d[0][0][1][1]
+d[0][1][0][0]
+d[0][1][0][1]
+d[0][1][1][0]
+d[0][1][1][1]
+d[1][0][0][0]
+d[1][0][0][1]
+d[1][0][1][0]
+d[1][0][1][1]
+d[1][1][0][0]
+d[1][1][0][1]
+d[1][1][1][0]
+d[1][1][1][1]
+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+(U8) {2}
+2
+(U8) {2, 4}
+2
+4
+(U8) {2, 4, 6}
+2
+4
+6
+(U8) {0, 1, 2}
+0
+1
+2
+(U16) {256, 257, 258}
+256
+257
+258
+(U32) {256, 257, 258}
+256
+257
+258
+(U64) {256, 257, 258}
+256
+257
+258
+(Integer) {1000000000000000000000000000000001, 2000000000000000000000000000000002}
+(Integer) {1000000000000000000000000000000001, 2000000000000000000000000000000002}
+1000000000000000000000000000000001
+2000000000000000000000000000000002
+(List) {(1, 2), (3, 4)}
+(List) {(1, 2), (3, 4)}
+(List) {(1, 2), (3, 4)}
+(1, 2)
+(3, 4)
diff --git a/test/ic3/array.ret.expected b/test/ic3/array.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/array.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/bool.err.expected b/test/ic3/bool.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/bool.err.expected
diff --git a/test/ic3/bool.in b/test/ic3/bool.in
new file mode 100644
index 0000000..3015c8c
--- /dev/null
+++ b/test/ic3/bool.in
@@ -0,0 +1,32 @@
+quote true
+true
+quote false
+false
+quote true
+true
+quote false
+false
+quote false && false
+false && false
+quote false && true
+false && true
+quote true && false
+true && false
+quote true && true
+true && true
+quote false || false
+false || false
+quote false || true
+false || true
+quote true || false
+true || false
+quote true || true
+true || true
+quote ! false
+! false
+quote ! true
+! true
+quote ! ! false
+! ! false
+quote ! ! true
+! ! true
diff --git a/test/ic3/bool.out.expected b/test/ic3/bool.out.expected
new file mode 100644
index 0000000..bb8f668
--- /dev/null
+++ b/test/ic3/bool.out.expected
@@ -0,0 +1,32 @@
+true
+true
+false
+false
+true
+true
+false
+false
+false && false
+false
+false && true
+false
+true && false
+false
+true && true
+true
+false || false
+false
+false || true
+true
+true || false
+true
+true || true
+true
+! false
+true
+! true
+false
+! ! false
+false
+! ! true
+true
diff --git a/test/ic3/bool.ret.expected b/test/ic3/bool.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/bool.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/call.err.expected b/test/ic3/call.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/call.err.expected
diff --git a/test/ic3/call.in b/test/ic3/call.in
new file mode 100644
index 0000000..427a171
--- /dev/null
+++ b/test/ic3/call.in
@@ -0,0 +1,13 @@
+quote test()
+quote test(1)
+quote test(1, 2)
+quote test(1, 2, 3)
+quote Test.test()
+quote Test.test(1)
+quote Test.test(1, 2)
+quote Test.test(1, 2, 3)
+quote first((1, 2))
+quote C3.first((1, 2))
+first((1, 2))
+C3.first((2, 3))
+(1 + 2)
diff --git a/test/ic3/call.out.expected b/test/ic3/call.out.expected
new file mode 100644
index 0000000..b9a0bb3
--- /dev/null
+++ b/test/ic3/call.out.expected
@@ -0,0 +1,13 @@
+test()
+test(1)
+test(1, 2)
+test(1, 2, 3)
+Test.test()
+Test.test(1)
+Test.test(1, 2)
+Test.test(1, 2, 3)
+first((1, 2))
+C3.first((1, 2))
+1
+2
+3
diff --git a/test/ic3/call.ret.expected b/test/ic3/call.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/call.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/cast.in b/test/ic3/cast.in
new file mode 100644
index 0000000..e9b3683
--- /dev/null
+++ b/test/ic3/cast.in
@@ -0,0 +1,26 @@
+quote (U8) 0
+(U8) 0
+quote (U8) 1
+(U8) 1
+quote (U8) 255
+(U8) 255
+quote (U8) 256
+(U8) 256
+quote (U16) 256
+(U16) 256
+quote (U16) 65535
+(U16) 65535
+quote (U16) 65536
+(U16) 65536
+quote (U32) 65536
+(U32) 65536
+quote (U32) 4294967296
+(U32) 4294967296
+quote (U64) 4294967296
+(U64) 4294967296
+quote (U64) 18446744073709551616
+(U64) 18446744073709551616
+quote (Integer) 18446744073709551616
+(Integer) 18446744073709551616
+quote (Integer) 340282366920938463463374607431768211455
+(Integer) 340282366920938463463374607431768211455
diff --git a/test/ic3/cast.out.expected b/test/ic3/cast.out.expected
new file mode 100644
index 0000000..bcf07a7
--- /dev/null
+++ b/test/ic3/cast.out.expected
@@ -0,0 +1,26 @@
+(U8) 0
+0
+(U8) 1
+1
+(U8) 255
+255
+(U8) 256
+0
+(U16) 256
+256
+(U16) 65535
+65535
+(U16) 65536
+0
+(U32) 65536
+65536
+(U32) 4294967296
+0
+(U64) 4294967296
+4294967296
+(U64) 18446744073709551616
+0
+(Integer) 18446744073709551616
+18446744073709551616
+(Integer) 340282366920938463463374607431768211455
+340282366920938463463374607431768211455
diff --git a/test/ic3/cast.ret.expected b/test/ic3/cast.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/cast.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/character.err.expected b/test/ic3/character.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/character.err.expected
diff --git a/test/ic3/character.in b/test/ic3/character.in
new file mode 100644
index 0000000..94813fc
--- /dev/null
+++ b/test/ic3/character.in
@@ -0,0 +1,14 @@
+'0'
+'9'
+'A'
+'Z'
+'a'
+'z'
+'Π'
+'ÿ'
+'꒴'
+'𐅀'
+'🎳'
+'😄'
+'🟣'
+'🤩'
diff --git a/test/ic3/character.out.expected b/test/ic3/character.out.expected
new file mode 100644
index 0000000..94813fc
--- /dev/null
+++ b/test/ic3/character.out.expected
@@ -0,0 +1,14 @@
+'0'
+'9'
+'A'
+'Z'
+'a'
+'z'
+'Π'
+'ÿ'
+'꒴'
+'𐅀'
+'🎳'
+'😄'
+'🟣'
+'🤩'
diff --git a/test/ic3/character.ret.expected b/test/ic3/character.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/character.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/comment.err.expected b/test/ic3/comment.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/comment.err.expected
diff --git a/test/ic3/comment.in b/test/ic3/comment.in
new file mode 100644
index 0000000..bddc50e
--- /dev/null
+++ b/test/ic3/comment.in
@@ -0,0 +1,15 @@
+# 0
+# 1
+# 2
+"a"
+# 3
+# 4
+# 5
+"b"
+# 6
+# 7
+# 8
+"c"
+# 9
+# 10
+# 11
\ No newline at end of file
diff --git a/test/ic3/comment.out.expected b/test/ic3/comment.out.expected
new file mode 100644
index 0000000..9df02fe
--- /dev/null
+++ b/test/ic3/comment.out.expected
@@ -0,0 +1,3 @@
+"a"
+"b"
+"c"
diff --git a/test/ic3/comment.ret.expected b/test/ic3/comment.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/comment.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/disabled/array.err.expected b/test/ic3/disabled/array.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/array.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/array.in b/test/ic3/disabled/array.in
deleted file mode 100644
index 31a73eb..0000000
--- a/test/ic3/disabled/array.in
+++ /dev/null
@@ -1,114 +0,0 @@
-(U8) {0, 1}
-a = (U8) {0, 1}
-quote a[0]
-quote a[1]
-a[0]
-a[1]
-(U8) {{0, 1},
- {2, 3}}
-b = (U8) {{0, 1},
- {2, 3}}
-quote b[0][0]
-quote b[0][1]
-quote b[1][0]
-quote b[1][1]
-b[0][0]
-b[0][1]
-b[1][0]
-b[1][1]
-c = (U8) {{{0, 1},
- {2, 3}},
- {{4, 5},
- {6, 7}}}
-quote c[0][0][0]
-quote c[0][0][1]
-quote c[0][1][0]
-quote c[0][1][1]
-quote c[1][0][0]
-quote c[1][0][1]
-quote c[1][1][0]
-quote c[1][1][1]
-c[0][0][0]
-c[0][0][1]
-c[0][1][0]
-c[0][1][1]
-c[1][0][0]
-c[1][0][1]
-c[1][1][0]
-c[1][1][1]
-d = (U8) {{{{0, 1},
- {2, 3}},
- {{4, 5},
- {6, 7}}},
- {{{8, 9},
- {10, 11}},
- {{12, 13},
- {14, 15}}}}
-quote d[0][0][0][0]
-quote d[0][0][0][1]
-quote d[0][0][1][0]
-quote d[0][0][1][1]
-quote d[0][1][0][0]
-quote d[0][1][0][1]
-quote d[0][1][1][0]
-quote d[0][1][1][1]
-quote d[1][0][0][0]
-quote d[1][0][0][1]
-quote d[1][0][1][0]
-quote d[1][0][1][1]
-quote d[1][1][0][0]
-quote d[1][1][0][1]
-quote d[1][1][1][0]
-quote d[1][1][1][1]
-d[0][0][0][0]
-d[0][0][0][1]
-d[0][0][1][0]
-d[0][0][1][1]
-d[0][1][0][0]
-d[0][1][0][1]
-d[0][1][1][0]
-d[0][1][1][1]
-d[1][0][0][0]
-d[1][0][0][1]
-d[1][0][1][0]
-d[1][0][1][1]
-d[1][1][0][0]
-d[1][1][0][1]
-d[1][1][1][0]
-d[1][1][1][1]
-e = (U8) { 1 + 1 }
-e[0]
-f = (U8) { 1 + 1, 2 + 2 }
-f[0]
-f[1]
-g = (U8) { 1 + 1, 2 + 2, 3 + 3 }
-g[0]
-g[1]
-g[2]
-h = (U8) { 255 + 1, 255 + 2, 255 + 3 }
-h[0]
-h[1]
-h[2]
-i = (U16) { 255 + 1, 255 + 2, 255 + 3 }
-i[0]
-i[1]
-i[2]
-j = (U32) { 255 + 1, 255 + 2, 255 + 3 }
-j[0]
-j[1]
-j[2]
-k = (U64) { 255 + 1, 255 + 2, 255 + 3 }
-k[0]
-k[1]
-k[2]
-quote (Integer) { 1000000000000000000000000000000001,
- 2000000000000000000000000000000002 }
-l = (Integer) { 1000000000000000000000000000000001,
- 2000000000000000000000000000000002 }
-l[0]
-l[1]
-quote (List) {(1, 2), (3, 4)}
-(List) {(1, 2), (3, 4)}
-m = (List) {(1, 2), (3, 4)}
-m[0]
-m[1]
diff --git a/test/ic3/disabled/array.out b/test/ic3/disabled/array.out
deleted file mode 100644
index b24bb72..0000000
--- a/test/ic3/disabled/array.out
+++ /dev/null
@@ -1,17 +0,0 @@
-(U8) {0, 1}
-(U8) {0, 1}
-a[0]
-a[1]
-0
-1
-(U8) {{0, 1}, {2, 3}}
-(U8) {{0, 1}, {2, 3}}
-b[0][0]
-b[0][1]
-b[1][0]
-b[1][1]
-0
-1
-2
-3
-(U8) {{{0, 1}, {2, 3}}, {{4, 5}, {6, 7}}}
diff --git a/test/ic3/disabled/array.out.expected b/test/ic3/disabled/array.out.expected
deleted file mode 100644
index a510d31..0000000
--- a/test/ic3/disabled/array.out.expected
+++ /dev/null
@@ -1,100 +0,0 @@
-(U8) {0, 1}
-(U8) {0, 1}
-a[0]
-a[1]
-0
-1
-(U8) {{0, 1}, {2, 3}}
-(U8) {{0, 1}, {2, 3}}
-b[0][0]
-b[0][1]
-b[1][0]
-b[1][1]
-0
-1
-2
-3
-(U8) {{{0, 1}, {2, 3}}, {{4, 5}, {6, 7}}}
-c[0][0][0]
-c[0][0][1]
-c[0][1][0]
-c[0][1][1]
-c[1][0][0]
-c[1][0][1]
-c[1][1][0]
-c[1][1][1]
-0
-1
-2
-3
-4
-5
-6
-7
-(U8) {{{{0, 1}, {2, 3}}, {{4, 5}, {6, 7}}}, {{{8, 9}, {10, 11}}, {{12, 13}, {14, 15}}}}
-d[0][0][0][0]
-d[0][0][0][1]
-d[0][0][1][0]
-d[0][0][1][1]
-d[0][1][0][0]
-d[0][1][0][1]
-d[0][1][1][0]
-d[0][1][1][1]
-d[1][0][0][0]
-d[1][0][0][1]
-d[1][0][1][0]
-d[1][0][1][1]
-d[1][1][0][0]
-d[1][1][0][1]
-d[1][1][1][0]
-d[1][1][1][1]
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-(U8) {2}
-2
-(U8) {2, 4}
-2
-4
-(U8) {2, 4, 6}
-2
-4
-6
-(U8) {0, 1, 2}
-0
-1
-2
-(U16) {256, 257, 258}
-256
-257
-258
-(U32) {256, 257, 258}
-256
-257
-258
-(U64) {256, 257, 258}
-256
-257
-258
-(Integer) {1000000000000000000000000000000001, 2000000000000000000000000000000002}
-(Integer) {1000000000000000000000000000000001, 2000000000000000000000000000000002}
-1000000000000000000000000000000001
-2000000000000000000000000000000002
-(List) {(1, 2), (3, 4)}
-(List) {(1, 2), (3, 4)}
-(List) {(1, 2), (3, 4)}
-(1, 2)
-(3, 4)
diff --git a/test/ic3/disabled/array.ret b/test/ic3/disabled/array.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/array.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/array.ret.expected b/test/ic3/disabled/array.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/array.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/bool.err.expected b/test/ic3/disabled/bool.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/bool.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/bool.in b/test/ic3/disabled/bool.in
deleted file mode 100644
index 3015c8c..0000000
--- a/test/ic3/disabled/bool.in
+++ /dev/null
@@ -1,32 +0,0 @@
-quote true
-true
-quote false
-false
-quote true
-true
-quote false
-false
-quote false && false
-false && false
-quote false && true
-false && true
-quote true && false
-true && false
-quote true && true
-true && true
-quote false || false
-false || false
-quote false || true
-false || true
-quote true || false
-true || false
-quote true || true
-true || true
-quote ! false
-! false
-quote ! true
-! true
-quote ! ! false
-! ! false
-quote ! ! true
-! ! true
diff --git a/test/ic3/disabled/bool.out b/test/ic3/disabled/bool.out
deleted file mode 100644
index bb8f668..0000000
--- a/test/ic3/disabled/bool.out
+++ /dev/null
@@ -1,32 +0,0 @@
-true
-true
-false
-false
-true
-true
-false
-false
-false && false
-false
-false && true
-false
-true && false
-false
-true && true
-true
-false || false
-false
-false || true
-true
-true || false
-true
-true || true
-true
-! false
-true
-! true
-false
-! ! false
-false
-! ! true
-true
diff --git a/test/ic3/disabled/bool.out.expected b/test/ic3/disabled/bool.out.expected
deleted file mode 100644
index bb8f668..0000000
--- a/test/ic3/disabled/bool.out.expected
+++ /dev/null
@@ -1,32 +0,0 @@
-true
-true
-false
-false
-true
-true
-false
-false
-false && false
-false
-false && true
-false
-true && false
-false
-true && true
-true
-false || false
-false
-false || true
-true
-true || false
-true
-true || true
-true
-! false
-true
-! true
-false
-! ! false
-false
-! ! true
-true
diff --git a/test/ic3/disabled/bool.ret b/test/ic3/disabled/bool.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/bool.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/bool.ret.expected b/test/ic3/disabled/bool.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/bool.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/call.err.expected b/test/ic3/disabled/call.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/call.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/call.in b/test/ic3/disabled/call.in
deleted file mode 100644
index 427a171..0000000
--- a/test/ic3/disabled/call.in
+++ /dev/null
@@ -1,13 +0,0 @@
-quote test()
-quote test(1)
-quote test(1, 2)
-quote test(1, 2, 3)
-quote Test.test()
-quote Test.test(1)
-quote Test.test(1, 2)
-quote Test.test(1, 2, 3)
-quote first((1, 2))
-quote C3.first((1, 2))
-first((1, 2))
-C3.first((2, 3))
-(1 + 2)
diff --git a/test/ic3/disabled/call.out b/test/ic3/disabled/call.out
deleted file mode 100644
index b9a0bb3..0000000
--- a/test/ic3/disabled/call.out
+++ /dev/null
@@ -1,13 +0,0 @@
-test()
-test(1)
-test(1, 2)
-test(1, 2, 3)
-Test.test()
-Test.test(1)
-Test.test(1, 2)
-Test.test(1, 2, 3)
-first((1, 2))
-C3.first((1, 2))
-1
-2
-3
diff --git a/test/ic3/disabled/call.out.expected b/test/ic3/disabled/call.out.expected
deleted file mode 100644
index b9a0bb3..0000000
--- a/test/ic3/disabled/call.out.expected
+++ /dev/null
@@ -1,13 +0,0 @@
-test()
-test(1)
-test(1, 2)
-test(1, 2, 3)
-Test.test()
-Test.test(1)
-Test.test(1, 2)
-Test.test(1, 2, 3)
-first((1, 2))
-C3.first((1, 2))
-1
-2
-3
diff --git a/test/ic3/disabled/call.ret b/test/ic3/disabled/call.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/call.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/call.ret.expected b/test/ic3/disabled/call.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/call.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/cast.in b/test/ic3/disabled/cast.in
deleted file mode 100644
index e9b3683..0000000
--- a/test/ic3/disabled/cast.in
+++ /dev/null
@@ -1,26 +0,0 @@
-quote (U8) 0
-(U8) 0
-quote (U8) 1
-(U8) 1
-quote (U8) 255
-(U8) 255
-quote (U8) 256
-(U8) 256
-quote (U16) 256
-(U16) 256
-quote (U16) 65535
-(U16) 65535
-quote (U16) 65536
-(U16) 65536
-quote (U32) 65536
-(U32) 65536
-quote (U32) 4294967296
-(U32) 4294967296
-quote (U64) 4294967296
-(U64) 4294967296
-quote (U64) 18446744073709551616
-(U64) 18446744073709551616
-quote (Integer) 18446744073709551616
-(Integer) 18446744073709551616
-quote (Integer) 340282366920938463463374607431768211455
-(Integer) 340282366920938463463374607431768211455
diff --git a/test/ic3/disabled/cast.out b/test/ic3/disabled/cast.out
deleted file mode 100644
index bcf07a7..0000000
--- a/test/ic3/disabled/cast.out
+++ /dev/null
@@ -1,26 +0,0 @@
-(U8) 0
-0
-(U8) 1
-1
-(U8) 255
-255
-(U8) 256
-0
-(U16) 256
-256
-(U16) 65535
-65535
-(U16) 65536
-0
-(U32) 65536
-65536
-(U32) 4294967296
-0
-(U64) 4294967296
-4294967296
-(U64) 18446744073709551616
-0
-(Integer) 18446744073709551616
-18446744073709551616
-(Integer) 340282366920938463463374607431768211455
-340282366920938463463374607431768211455
diff --git a/test/ic3/disabled/cast.out.expected b/test/ic3/disabled/cast.out.expected
deleted file mode 100644
index bcf07a7..0000000
--- a/test/ic3/disabled/cast.out.expected
+++ /dev/null
@@ -1,26 +0,0 @@
-(U8) 0
-0
-(U8) 1
-1
-(U8) 255
-255
-(U8) 256
-0
-(U16) 256
-256
-(U16) 65535
-65535
-(U16) 65536
-0
-(U32) 65536
-65536
-(U32) 4294967296
-0
-(U64) 4294967296
-4294967296
-(U64) 18446744073709551616
-0
-(Integer) 18446744073709551616
-18446744073709551616
-(Integer) 340282366920938463463374607431768211455
-340282366920938463463374607431768211455
diff --git a/test/ic3/disabled/cast.ret b/test/ic3/disabled/cast.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/cast.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/cast.ret.expected b/test/ic3/disabled/cast.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/cast.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/character.err.expected b/test/ic3/disabled/character.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/character.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/character.in b/test/ic3/disabled/character.in
deleted file mode 100644
index 94813fc..0000000
--- a/test/ic3/disabled/character.in
+++ /dev/null
@@ -1,14 +0,0 @@
-'0'
-'9'
-'A'
-'Z'
-'a'
-'z'
-'Π'
-'ÿ'
-'꒴'
-'𐅀'
-'🎳'
-'😄'
-'🟣'
-'🤩'
diff --git a/test/ic3/disabled/character.out b/test/ic3/disabled/character.out
deleted file mode 100644
index 94813fc..0000000
--- a/test/ic3/disabled/character.out
+++ /dev/null
@@ -1,14 +0,0 @@
-'0'
-'9'
-'A'
-'Z'
-'a'
-'z'
-'Π'
-'ÿ'
-'꒴'
-'𐅀'
-'🎳'
-'😄'
-'🟣'
-'🤩'
diff --git a/test/ic3/disabled/character.out.expected b/test/ic3/disabled/character.out.expected
deleted file mode 100644
index 94813fc..0000000
--- a/test/ic3/disabled/character.out.expected
+++ /dev/null
@@ -1,14 +0,0 @@
-'0'
-'9'
-'A'
-'Z'
-'a'
-'z'
-'Π'
-'ÿ'
-'꒴'
-'𐅀'
-'🎳'
-'😄'
-'🟣'
-'🤩'
diff --git a/test/ic3/disabled/character.ret b/test/ic3/disabled/character.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/character.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/character.ret.expected b/test/ic3/disabled/character.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/character.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/comment.err.expected b/test/ic3/disabled/comment.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/comment.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/comment.in b/test/ic3/disabled/comment.in
deleted file mode 100644
index bddc50e..0000000
--- a/test/ic3/disabled/comment.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# 0
-# 1
-# 2
-"a"
-# 3
-# 4
-# 5
-"b"
-# 6
-# 7
-# 8
-"c"
-# 9
-# 10
-# 11
\ No newline at end of file
diff --git a/test/ic3/disabled/comment.out b/test/ic3/disabled/comment.out
deleted file mode 100644
index 9df02fe..0000000
--- a/test/ic3/disabled/comment.out
+++ /dev/null
@@ -1,3 +0,0 @@
-"a"
-"b"
-"c"
diff --git a/test/ic3/disabled/comment.out.expected b/test/ic3/disabled/comment.out.expected
deleted file mode 100644
index 9df02fe..0000000
--- a/test/ic3/disabled/comment.out.expected
+++ /dev/null
@@ -1,3 +0,0 @@
-"a"
-"b"
-"c"
diff --git a/test/ic3/disabled/comment.ret b/test/ic3/disabled/comment.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/comment.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/comment.ret.expected b/test/ic3/disabled/comment.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/comment.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/equal.err.expected b/test/ic3/disabled/equal.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/equal.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/equal.in b/test/ic3/disabled/equal.in
deleted file mode 100644
index dada6b5..0000000
--- a/test/ic3/disabled/equal.in
+++ /dev/null
@@ -1,4 +0,0 @@
-a = 1
-b = 1
-a = 2
-(a, b) = (1, 2)
diff --git a/test/ic3/disabled/equal.out b/test/ic3/disabled/equal.out
deleted file mode 100644
index b6d8518..0000000
--- a/test/ic3/disabled/equal.out
+++ /dev/null
@@ -1,4 +0,0 @@
-1
-1
-2
-(1, 2)
diff --git a/test/ic3/disabled/equal.out.expected b/test/ic3/disabled/equal.out.expected
deleted file mode 100644
index b6d8518..0000000
--- a/test/ic3/disabled/equal.out.expected
+++ /dev/null
@@ -1,4 +0,0 @@
-1
-1
-2
-(1, 2)
diff --git a/test/ic3/disabled/equal.ret b/test/ic3/disabled/equal.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/equal.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/equal.ret.expected b/test/ic3/disabled/equal.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/equal.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/fn.err.expected b/test/ic3/disabled/fn.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/fn.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/fn.in b/test/ic3/disabled/fn.in
deleted file mode 100644
index 50eeeaa..0000000
--- a/test/ic3/disabled/fn.in
+++ /dev/null
@@ -1,29 +0,0 @@
-quote fn (x) { x }
-quote fn (x, _y) { x }
-quote fn ((x | _y)) { x }
-quote fn {
- (()) { :error }
- ((x | _y)) { x }
- (_) { :error }
-}
-quote fn (x) {
- "Hello, world !"
- x * 2
-}
-a = fn (x) { x }
-a(1)
-b = fn (x, _y) { x }
-b(1, 2)
-c = fn ((x | _y)) { x }
-c((1, 2))
-d = fn {
- (()) { :error }
- ((x | _y)) { x }
- (_) { :error2 }
-}
-d((1, 2))
-e = fn (x) {
- "Hello, world !"
- x * 2
-}
-e(2)
diff --git a/test/ic3/disabled/fn.out b/test/ic3/disabled/fn.out
deleted file mode 100644
index 175d540..0000000
--- a/test/ic3/disabled/fn.out
+++ /dev/null
@@ -1,29 +0,0 @@
-fn (x) { x }
-fn (x, _y) { x }
-fn ((x | _y)) { x }
-fn {
- (()) { :error }
- ((x | _y)) { x }
- (_) { :error }
-}
-fn (x) {
- "Hello, world !"
- x * 2
-}
-fn (x) { x }
-1
-fn (x, _y) { x }
-1
-fn ((x | _y)) { x }
-1
-fn {
- (()) { :error }
- ((x | _y)) { x }
- (_) { :error2 }
-}
-1
-fn (x) {
- "Hello, world !"
- x * 2
-}
-4
diff --git a/test/ic3/disabled/fn.out.expected b/test/ic3/disabled/fn.out.expected
deleted file mode 100644
index 175d540..0000000
--- a/test/ic3/disabled/fn.out.expected
+++ /dev/null
@@ -1,29 +0,0 @@
-fn (x) { x }
-fn (x, _y) { x }
-fn ((x | _y)) { x }
-fn {
- (()) { :error }
- ((x | _y)) { x }
- (_) { :error }
-}
-fn (x) {
- "Hello, world !"
- x * 2
-}
-fn (x) { x }
-1
-fn (x, _y) { x }
-1
-fn ((x | _y)) { x }
-1
-fn {
- (()) { :error }
- ((x | _y)) { x }
- (_) { :error2 }
-}
-1
-fn (x) {
- "Hello, world !"
- x * 2
-}
-4
diff --git a/test/ic3/disabled/fn.ret b/test/ic3/disabled/fn.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/fn.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/fn.ret.expected b/test/ic3/disabled/fn.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/fn.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/function_call.err.expected b/test/ic3/disabled/function_call.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/function_call.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/function_call.out.expected b/test/ic3/disabled/function_call.out.expected
deleted file mode 100644
index 004a0c4..0000000
--- a/test/ic3/disabled/function_call.out.expected
+++ /dev/null
@@ -1,10 +0,0 @@
-fn {...}
-
-8
-16
-8
-16
-16000
-32000
-16000
-32000
diff --git a/test/ic3/disabled/function_call.ret.expected b/test/ic3/disabled/function_call.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/function_call.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/hello.err.expected b/test/ic3/disabled/hello.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/hello.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/hello.in b/test/ic3/disabled/hello.in
deleted file mode 100644
index 68b3cbd..0000000
--- a/test/ic3/disabled/hello.in
+++ /dev/null
@@ -1 +0,0 @@
-"Hello, world !"
diff --git a/test/ic3/disabled/hello.out b/test/ic3/disabled/hello.out
deleted file mode 100644
index 68b3cbd..0000000
--- a/test/ic3/disabled/hello.out
+++ /dev/null
@@ -1 +0,0 @@
-"Hello, world !"
diff --git a/test/ic3/disabled/hello.out.expected b/test/ic3/disabled/hello.out.expected
deleted file mode 100644
index 68b3cbd..0000000
--- a/test/ic3/disabled/hello.out.expected
+++ /dev/null
@@ -1 +0,0 @@
-"Hello, world !"
diff --git a/test/ic3/disabled/hello.ret b/test/ic3/disabled/hello.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/hello.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/hello.ret.expected b/test/ic3/disabled/hello.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/hello.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/ident.err.expected b/test/ic3/disabled/ident.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/ident.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/ident.in b/test/ic3/disabled/ident.in
deleted file mode 100644
index 3d5cd7f..0000000
--- a/test/ic3/disabled/ident.in
+++ /dev/null
@@ -1,28 +0,0 @@
-quote _" "
-quote _"
-"
-quote _"\0"
-quote _"\n"
-quote _"\r"
-quote _"\s"
-quote _"\t"
-quote _"\v"
-quote _0
-quote _9
-quote _A
-quote _Z
-quote a
-quote z
-quote _À
-quote _É
-quote _Ÿ
-quote à
-quote é
-quote ÿ
-quote _Π
-quote ꒴
-quote 𐅀
-quote 🎳
-quote 😄
-quote 🟣
-quote 🤩
diff --git a/test/ic3/disabled/ident.out b/test/ic3/disabled/ident.out
deleted file mode 100644
index d3a5815..0000000
--- a/test/ic3/disabled/ident.out
+++ /dev/null
@@ -1,27 +0,0 @@
-_" "
-_"\n"
-_"\0"
-_"\n"
-_"\r"
-_" "
-_"\t"
-_"\v"
-_0
-_9
-_A
-_Z
-a
-z
-_À
-_É
-_Ÿ
-à
-é
-ÿ
-_Π
-꒴
-𐅀
-🎳
-😄
-🟣
-🤩
diff --git a/test/ic3/disabled/ident.out.expected b/test/ic3/disabled/ident.out.expected
deleted file mode 100644
index d3a5815..0000000
--- a/test/ic3/disabled/ident.out.expected
+++ /dev/null
@@ -1,27 +0,0 @@
-_" "
-_"\n"
-_"\0"
-_"\n"
-_"\r"
-_" "
-_"\t"
-_"\v"
-_0
-_9
-_A
-_Z
-a
-z
-_À
-_É
-_Ÿ
-à
-é
-ÿ
-_Π
-꒴
-𐅀
-🎳
-😄
-🟣
-🤩
diff --git a/test/ic3/disabled/ident.ret b/test/ic3/disabled/ident.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/ident.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/ident.ret.expected b/test/ic3/disabled/ident.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/ident.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer.in b/test/ic3/disabled/integer.in
deleted file mode 100644
index 2cfd636..0000000
--- a/test/ic3/disabled/integer.in
+++ /dev/null
@@ -1,80 +0,0 @@
--0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
--0o2000000000000000000000000000000000000000000
--170141183460469231731687303715884105728
--0x80000000000000000000000000000000
--0b01111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
--0o1777777777777777777777777777777777777777777
--170141183460469231731687303715884105727
--0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
--0b1000000000000000000000000000000000000000000000000000000000000000
--0o1000000000000000000000
--9223372036854775808
--0x8000000000000000
--0b0111111111111111111111111111111111111111111111111111111111111111
--0o0777777777777777777777
--9223372036854775807
--0x7FFFFFFFFFFFFFFF
--0b10000000000000000000000000000000
--0o20000000000
--2147483648
--0x80000000
--0b01111111111111111111111111111111
--0o17777777777
--2147483647
--0x7FFFFFFF
--0b1000000000000000
--0o100000
--32768
--0x8000
--0b111111111111111
--0o77777
--32767
--0x7FFF
--0b10000000
--0o200
--128
--0x80
--0b1111111
--0o177
--127
--0x7F
-0b11111111
-0o377
-255
-0xFF
-0b100000000
-0o400
-256
-0x100
-0b1111111111111111
-0o177777
-65535
-0xFFFF
-0b10000000000000000
-0o200000
-65536
-0x10000
-0b011111111111111111111111111111111
-0o37777777777
-4294967295
-0x0FFFFFFFF
-0b100000000000000000000000000000000
-0o40000000000
-4294967296
-0x100000000
-0b01111111111111111111111111111111111111111111111111111111111111111
-0o1777777777777777777777
-18446744073709551615
-0x0FFFFFFFFFFFFFFFF
-0b10000000000000000000000000000000000000000000000000000000000000000
-0o2000000000000000000000
-18446744073709551616
-0x10000000000000000
-0b011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
-0o3777777777777777777777777777777777777777777
-340282366920938463463374607431768211455
-0x0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-0o4000000000000000000000000000000000000000000
-340282366920938463463374607431768211456
-0x100000000000000000000000000000000
diff --git a/test/ic3/disabled/integer.lisp b/test/ic3/disabled/integer.lisp
deleted file mode 100644
index 2ac7a47..0000000
--- a/test/ic3/disabled/integer.lisp
+++ /dev/null
@@ -1,181 +0,0 @@
-;; c3
-;; Copyright 2022,2023 kmx.io <contact@kmx.io>
-;;
-;; Permission is hereby granted to use this software granted the above
-;; copyright notice and this permission paragraph are included in all
-;; copies and substantial portions of this software.
-;;
-;; THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
-;; PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
-;; AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
-;; THIS SOFTWARE.
-
-(in-package #:cl-user)
-
-(defpackage #:c3.test.ic3.integer
- (:use #:cl)
- (:shadow #:mod))
-
-(in-package #:c3.test.ic3.integer)
-
-(require :positional)
-
-(setf *print-case* :downcase)
-
-(defparameter *ops* '(+ - * / mod < == > ^ & bor))
-
-(defparameter *su* '(s u))
-
-(defparameter *bits* '(8 16 32 64 128))
-
-(defgeneric == (a b))
-
-(defmethod == (a b)
- (= a b))
-
-(defgeneric ^ (a b))
-
-(defmethod ^ ((a integer) (b integer))
- (logxor a b))
-
-(defgeneric & (a b))
-
-(defmethod & ((a integer) (b integer))
- (logand a b))
-
-(defgeneric bor (a b))
-
-(defmethod bor ((a integer) (b integer))
- (logior a b))
-
-(defgeneric mod (a b))
-
-(defmethod mod (a b)
- (let ((c (* (floor (/ a b)) b)))
- (- a c)))
-
-(mod -170141183460469231731687303715884105728 -170141183460469231731687303715884105727)
-
-(defgeneric translate (x))
-
-(defmethod translate ((x integer))
- x)
-
-(defmethod translate ((x number))
- (truncate x))
-
-(defmethod translate ((x (eql 't)))
- "true")
-
-(defmethod translate ((x null))
- "false")
-
-(defun do-numbers (fn)
- (dolist (su *su*)
- (let ((sign (if (eq su 's) -1 1)))
- (dolist (bits (if (eq su 's) (reverse *bits*) *bits*))
- (let ((su-bits (if (eq su 's) (1- bits) bits)))
- (when (< sign 0)
- (funcall fn (* sign (expt 2 su-bits))))
- (funcall fn (* sign (1- (expt 2 su-bits))))
- (when (> sign 0)
- (funcall fn (* sign (expt 2 su-bits)))))))))
-
-(with-open-file (ret #P"integer.ret.expected"
- :direction :output
- :element-type 'character
- :if-exists :supersede)
- (format ret "0~%"))
-
-(with-open-file (expected #P"integer.out.expected"
- :direction :output
- :element-type 'character
- :if-exists :supersede)
- (with-open-file (in #P"integer.in"
- :direction :output
- :element-type 'character
- :if-exists :supersede)
- (do-numbers
- (lambda (a)
- (flet ((output-base (prefix base)
- (format expected "~A~A~%"
- (if (< a 0) "-" "")
- (positional:positional (abs a) 10))
- (format in "~A~A~A~%"
- (if (< a 0) "-" "")
- prefix
- (positional:positional (abs a) base))))
- (output-base "0b" 2)
- (output-base "0o" 8)
- (output-base "" 10)
- (output-base "0x" 16))))))
-
-(defgeneric op-to-str (op))
-
-(defmethod op-to-str ((op (eql '+)))
- "add")
-
-(defmethod op-to-str ((op (eql '-)))
- "sub")
-
-(defmethod op-to-str ((op (eql '*)))
- "mul")
-
-(defmethod op-to-str ((op (eql '/)))
- "div")
-
-(defmethod op-to-str ((op (eql '%)))
- "mod")
-
-(defmethod op-to-str ((op (eql '&)))
- "band")
-
-(defmethod op-to-str ((op (eql '^)))
- "bxor")
-
-(defmethod op-to-str ((op (eql '<)))
- "lt")
-
-(defmethod op-to-str ((op (eql '<=)))
- "lte")
-
-(defmethod op-to-str ((op (eql '==)))
- "eq")
-
-(defmethod op-to-str ((op (eql '>)))
- "gt")
-
-(defmethod op-to-str ((op (eql '>=)))
- "gte")
-
-(defmethod op-to-str (op)
- (string-downcase (symbol-name op)))
-
-(dolist (op *ops*)
- (with-open-file (ret (pathname
- (concatenate
- 'string "integer_" (op-to-str op) ".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"))
- :direction :output
- :element-type 'character
- :if-exists :supersede)
- (with-open-file (in (pathname
- (concatenate
- 'string "integer_" (op-to-str op) ".in"))
- :direction :output
- :element-type 'character
- :if-exists :supersede)
- (do-numbers
- (lambda (a)
- (do-numbers
- (lambda (b)
- (format expected "~A ~A ~A~%" a op b)
- (format expected "~A~%" (translate (funcall op a b)))
- (format in "quote ~A ~A ~A~%" a op b)
- (format in "~A ~A ~A~%" a op b))))))))
diff --git a/test/ic3/disabled/integer.out b/test/ic3/disabled/integer.out
deleted file mode 100644
index b534195..0000000
--- a/test/ic3/disabled/integer.out
+++ /dev/null
@@ -1,80 +0,0 @@
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--9223372036854775808
--9223372036854775808
--9223372036854775808
--9223372036854775808
--9223372036854775807
--9223372036854775807
--9223372036854775807
--9223372036854775807
--2147483648
--2147483648
--2147483648
--2147483648
--2147483647
--2147483647
--2147483647
--2147483647
--32768
--32768
--32768
--32768
--32767
--32767
--32767
--32767
--128
--128
--128
--128
--127
--127
--127
--127
-255
-255
-255
-255
-256
-256
-256
-256
-65535
-65535
-65535
-65535
-65536
-65536
-65536
-65536
-4294967295
-4294967295
-4294967295
-4294967295
-4294967296
-4294967296
-4294967296
-4294967296
-18446744073709551615
-18446744073709551615
-18446744073709551615
-18446744073709551615
-18446744073709551616
-18446744073709551616
-18446744073709551616
-18446744073709551616
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456
diff --git a/test/ic3/disabled/integer.out.expected b/test/ic3/disabled/integer.out.expected
deleted file mode 100644
index b534195..0000000
--- a/test/ic3/disabled/integer.out.expected
+++ /dev/null
@@ -1,80 +0,0 @@
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--170141183460469231731687303715884105728
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--170141183460469231731687303715884105727
--9223372036854775808
--9223372036854775808
--9223372036854775808
--9223372036854775808
--9223372036854775807
--9223372036854775807
--9223372036854775807
--9223372036854775807
--2147483648
--2147483648
--2147483648
--2147483648
--2147483647
--2147483647
--2147483647
--2147483647
--32768
--32768
--32768
--32768
--32767
--32767
--32767
--32767
--128
--128
--128
--128
--127
--127
--127
--127
-255
-255
-255
-255
-256
-256
-256
-256
-65535
-65535
-65535
-65535
-65536
-65536
-65536
-65536
-4294967295
-4294967295
-4294967295
-4294967295
-4294967296
-4294967296
-4294967296
-4294967296
-18446744073709551615
-18446744073709551615
-18446744073709551615
-18446744073709551615
-18446744073709551616
-18446744073709551616
-18446744073709551616
-18446744073709551616
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-340282366920938463463374607431768211455
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456
-340282366920938463463374607431768211456
diff --git a/test/ic3/disabled/integer.ret b/test/ic3/disabled/integer.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer.ret.expected b/test/ic3/disabled/integer.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_add.in b/test/ic3/disabled/integer_add.in
deleted file mode 100644
index bcb8fd3..0000000
--- a/test/ic3/disabled/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/disabled/integer_add.out b/test/ic3/disabled/integer_add.out
deleted file mode 100644
index 3db7f46..0000000
--- a/test/ic3/disabled/integer_add.out
+++ /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/disabled/integer_add.out.expected b/test/ic3/disabled/integer_add.out.expected
deleted file mode 100644
index 3db7f46..0000000
--- a/test/ic3/disabled/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/disabled/integer_add.ret b/test/ic3/disabled/integer_add.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_add.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_add.ret.expected b/test/ic3/disabled/integer_add.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_add.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_band.in b/test/ic3/disabled/integer_band.in
deleted file mode 100644
index 8f04373..0000000
--- a/test/ic3/disabled/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/disabled/integer_band.out b/test/ic3/disabled/integer_band.out
deleted file mode 100644
index 1da02cd..0000000
--- a/test/ic3/disabled/integer_band.out
+++ /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/disabled/integer_band.out.expected b/test/ic3/disabled/integer_band.out.expected
deleted file mode 100644
index 1da02cd..0000000
--- a/test/ic3/disabled/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/disabled/integer_band.ret b/test/ic3/disabled/integer_band.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_band.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_band.ret.expected b/test/ic3/disabled/integer_band.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_band.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_bor.in b/test/ic3/disabled/integer_bor.in
deleted file mode 100644
index c8087db..0000000
--- a/test/ic3/disabled/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/disabled/integer_bor.out b/test/ic3/disabled/integer_bor.out
deleted file mode 100644
index c0fa0ba..0000000
--- a/test/ic3/disabled/integer_bor.out
+++ /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/disabled/integer_bor.out.expected b/test/ic3/disabled/integer_bor.out.expected
deleted file mode 100644
index c0fa0ba..0000000
--- a/test/ic3/disabled/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/disabled/integer_bor.ret b/test/ic3/disabled/integer_bor.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_bor.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_bor.ret.expected b/test/ic3/disabled/integer_bor.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_bor.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_bxor.in b/test/ic3/disabled/integer_bxor.in
deleted file mode 100644
index d6871bf..0000000
--- a/test/ic3/disabled/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/disabled/integer_bxor.out b/test/ic3/disabled/integer_bxor.out
deleted file mode 100644
index 835766b..0000000
--- a/test/ic3/disabled/integer_bxor.out
+++ /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/disabled/integer_bxor.out.expected b/test/ic3/disabled/integer_bxor.out.expected
deleted file mode 100644
index 835766b..0000000
--- a/test/ic3/disabled/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/disabled/integer_bxor.ret b/test/ic3/disabled/integer_bxor.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_bxor.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_bxor.ret.expected b/test/ic3/disabled/integer_bxor.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_bxor.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_div.in b/test/ic3/disabled/integer_div.in
deleted file mode 100644
index 9bf4f54..0000000
--- a/test/ic3/disabled/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/disabled/integer_div.out b/test/ic3/disabled/integer_div.out
deleted file mode 100644
index 02be5ec..0000000
--- a/test/ic3/disabled/integer_div.out
+++ /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/disabled/integer_div.out.expected b/test/ic3/disabled/integer_div.out.expected
deleted file mode 100644
index 02be5ec..0000000
--- a/test/ic3/disabled/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/disabled/integer_div.ret b/test/ic3/disabled/integer_div.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_div.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_div.ret.expected b/test/ic3/disabled/integer_div.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_div.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_eq.in b/test/ic3/disabled/integer_eq.in
deleted file mode 100644
index c966b99..0000000
--- a/test/ic3/disabled/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/disabled/integer_eq.out b/test/ic3/disabled/integer_eq.out
deleted file mode 100644
index 23605cf..0000000
--- a/test/ic3/disabled/integer_eq.out
+++ /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/disabled/integer_eq.out.expected b/test/ic3/disabled/integer_eq.out.expected
deleted file mode 100644
index 23605cf..0000000
--- a/test/ic3/disabled/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/disabled/integer_eq.ret b/test/ic3/disabled/integer_eq.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_eq.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_eq.ret.expected b/test/ic3/disabled/integer_eq.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_eq.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_gt.in b/test/ic3/disabled/integer_gt.in
deleted file mode 100644
index c27a0ab..0000000
--- a/test/ic3/disabled/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/disabled/integer_gt.out b/test/ic3/disabled/integer_gt.out
deleted file mode 100644
index 57daf68..0000000
--- a/test/ic3/disabled/integer_gt.out
+++ /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/disabled/integer_gt.out.expected b/test/ic3/disabled/integer_gt.out.expected
deleted file mode 100644
index 57daf68..0000000
--- a/test/ic3/disabled/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/disabled/integer_gt.ret b/test/ic3/disabled/integer_gt.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_gt.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_gt.ret.expected b/test/ic3/disabled/integer_gt.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_gt.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_lt.in b/test/ic3/disabled/integer_lt.in
deleted file mode 100644
index 89f9c79..0000000
--- a/test/ic3/disabled/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/disabled/integer_lt.out b/test/ic3/disabled/integer_lt.out
deleted file mode 100644
index 1fa364c..0000000
--- a/test/ic3/disabled/integer_lt.out
+++ /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/disabled/integer_lt.out.expected b/test/ic3/disabled/integer_lt.out.expected
deleted file mode 100644
index 1fa364c..0000000
--- a/test/ic3/disabled/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/disabled/integer_lt.ret b/test/ic3/disabled/integer_lt.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_lt.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_lt.ret.expected b/test/ic3/disabled/integer_lt.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_lt.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_mul.in b/test/ic3/disabled/integer_mul.in
deleted file mode 100644
index e58932d..0000000
--- a/test/ic3/disabled/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/disabled/integer_mul.out b/test/ic3/disabled/integer_mul.out
deleted file mode 100644
index f8e913d..0000000
--- a/test/ic3/disabled/integer_mul.out
+++ /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/disabled/integer_mul.out.expected b/test/ic3/disabled/integer_mul.out.expected
deleted file mode 100644
index f8e913d..0000000
--- a/test/ic3/disabled/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/disabled/integer_mul.ret b/test/ic3/disabled/integer_mul.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_mul.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_mul.ret.expected b/test/ic3/disabled/integer_mul.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_mul.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_sub.in b/test/ic3/disabled/integer_sub.in
deleted file mode 100644
index a54e659..0000000
--- a/test/ic3/disabled/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/disabled/integer_sub.out b/test/ic3/disabled/integer_sub.out
deleted file mode 100644
index c6a58ea..0000000
--- a/test/ic3/disabled/integer_sub.out
+++ /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/disabled/integer_sub.out.expected b/test/ic3/disabled/integer_sub.out.expected
deleted file mode 100644
index c6a58ea..0000000
--- a/test/ic3/disabled/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/disabled/integer_sub.ret b/test/ic3/disabled/integer_sub.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_sub.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/integer_sub.ret.expected b/test/ic3/disabled/integer_sub.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/integer_sub.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/list.err.expected b/test/ic3/disabled/list.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/list.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/list.in b/test/ic3/disabled/list.in
deleted file mode 100644
index d0852ec..0000000
--- a/test/ic3/disabled/list.in
+++ /dev/null
@@ -1,46 +0,0 @@
-()
-(() | ())
-((), ())
-((), (), ())
-((), (), (), ())
-((), () | ())
-((), (), () | ())
-(() | ((), ()))
-(() | ((), (), ()))
-(() | (() | ()))
-(() | ((), () | ()))
-(() | ((), (), () | ()))
-(((), ()) | ((), ()))
-((() | ()) | (() | ()))
-(:a | ())
-(:a, :b)
-(:a, :b, :c)
-(:a | :b)
-(:a, :b | :c)
-(:a, :b, :c, :d)
-(:a, :b, :c | :d)
-
-# comment 0
-# comment 0b
-( # comment 1
- # comment 1b
- :a # comment 2
- # comment 2b
- , # comment 3
- # comment 3b
- :b ## comment 4
- ## comment 4b
- , ## comment 5
- ## comment 5b
- :c ## comment 6
- ## comment 6b
- | ## comment 7
- ## comment 7b
- :d ## comment 8
- ## comment 8b
- ) ## comment 9
- ## comment 9b
-
-List.map((1, 2, 3, 4), fn (x) { x * 2 })
-
-List.reverse((1, 2, 3, 4))
diff --git a/test/ic3/disabled/list.out b/test/ic3/disabled/list.out
deleted file mode 100644
index 6b61ae3..0000000
--- a/test/ic3/disabled/list.out
+++ /dev/null
@@ -1,24 +0,0 @@
-()
-(() | ())
-((), ())
-((), (), ())
-((), (), (), ())
-((), ())
-((), (), ())
-((), (), ())
-((), (), (), ())
-((), ())
-((), (), ())
-((), (), (), ())
-(((), ()), (), ())
-((() | ()), ())
-(:a | ())
-(:a, :b)
-(:a, :b, :c)
-(:a | :b)
-(:a, :b | :c)
-(:a, :b, :c, :d)
-(:a, :b, :c | :d)
-(:a, :b, :c | :d)
-(2, 4, 6, 8)
-(4, 3, 2, 1)
diff --git a/test/ic3/disabled/list.out.expected b/test/ic3/disabled/list.out.expected
deleted file mode 100644
index 6b61ae3..0000000
--- a/test/ic3/disabled/list.out.expected
+++ /dev/null
@@ -1,24 +0,0 @@
-()
-(() | ())
-((), ())
-((), (), ())
-((), (), (), ())
-((), ())
-((), (), ())
-((), (), ())
-((), (), (), ())
-((), ())
-((), (), ())
-((), (), (), ())
-(((), ()), (), ())
-((() | ()), ())
-(:a | ())
-(:a, :b)
-(:a, :b, :c)
-(:a | :b)
-(:a, :b | :c)
-(:a, :b, :c, :d)
-(:a, :b, :c | :d)
-(:a, :b, :c | :d)
-(2, 4, 6, 8)
-(4, 3, 2, 1)
diff --git a/test/ic3/disabled/list.ret b/test/ic3/disabled/list.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/list.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/list.ret.expected b/test/ic3/disabled/list.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/list.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/op.err.expected b/test/ic3/disabled/op.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/op.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/op.in b/test/ic3/disabled/op.in
deleted file mode 100644
index dc7e749..0000000
--- a/test/ic3/disabled/op.in
+++ /dev/null
@@ -1,14 +0,0 @@
-quote 1 + 20
-1 + 20
-quote 1 + 20 / 3
-1 + 20 / 3
-quote 1 + 20 / 3 * 4
-1 + 20 / 3 * 4
-quote 1 + 20 / 3 * 4 - 5
-1 + 20 / 3 * 4 - 5
-quote 20 / 3 * 4 - 5
-20 / 3 * 4 - 5
-quote (1 + 20)
-(1 + 20)
-quote a = (1 + 20)
-a = (1 + 20)
diff --git a/test/ic3/disabled/op.out b/test/ic3/disabled/op.out
deleted file mode 100644
index 7ff43c5..0000000
--- a/test/ic3/disabled/op.out
+++ /dev/null
@@ -1,14 +0,0 @@
-1 + 20
-21
-1 + 20 / 3
-7
-1 + 20 / 3 * 4
-25
-1 + 20 / 3 * 4 - 5
-20
-20 / 3 * 4 - 5
-19
-(1 + 20)
-21
-a = (1 + 20)
-21
diff --git a/test/ic3/disabled/op.out.expected b/test/ic3/disabled/op.out.expected
deleted file mode 100644
index 7ff43c5..0000000
--- a/test/ic3/disabled/op.out.expected
+++ /dev/null
@@ -1,14 +0,0 @@
-1 + 20
-21
-1 + 20 / 3
-7
-1 + 20 / 3 * 4
-25
-1 + 20 / 3 * 4 - 5
-20
-20 / 3 * 4 - 5
-19
-(1 + 20)
-21
-a = (1 + 20)
-21
diff --git a/test/ic3/disabled/op.ret b/test/ic3/disabled/op.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/op.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/op.ret.expected b/test/ic3/disabled/op.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/op.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/str.err.expected b/test/ic3/disabled/str.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/str.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/str.in b/test/ic3/disabled/str.in
deleted file mode 100644
index 37cb6db..0000000
--- a/test/ic3/disabled/str.in
+++ /dev/null
@@ -1,48 +0,0 @@
-" "
-"
-"
-"\0"
-"\n"
-"\r"
-"\s"
-"\t"
-"\v"
-"0"
-"9"
-"A"
-"Z"
-"a"
-"z"
-"À"
-"É"
-"Ÿ"
-"à"
-"é"
-"ÿ"
-"Π"
-"꒴"
-"𐅀"
-"🎳"
-"😄"
-"🟣"
-"🤩"
-"""abc"""
-"""
-abc
-"""
-
-"""abc
-def"""
-
-"""abc
-def
-"""
-
-"""
-abc
-def"""
-
-"""
-abc
-def
-"""
diff --git a/test/ic3/disabled/str.out b/test/ic3/disabled/str.out
deleted file mode 100644
index 769ed5e..0000000
--- a/test/ic3/disabled/str.out
+++ /dev/null
@@ -1,33 +0,0 @@
-" "
-"\n"
-"\0"
-"\n"
-"\r"
-" "
-"\t"
-"\v"
-"0"
-"9"
-"A"
-"Z"
-"a"
-"z"
-"À"
-"É"
-"Ÿ"
-"à"
-"é"
-"ÿ"
-"Π"
-"꒴"
-"𐅀"
-"🎳"
-"😄"
-"🟣"
-"🤩"
-"abc"
-"abc"
-"abc\ndef"
-"abc\ndef\n"
-"abc\ndef"
-"abc\ndef"
diff --git a/test/ic3/disabled/str.out.expected b/test/ic3/disabled/str.out.expected
deleted file mode 100644
index 769ed5e..0000000
--- a/test/ic3/disabled/str.out.expected
+++ /dev/null
@@ -1,33 +0,0 @@
-" "
-"\n"
-"\0"
-"\n"
-"\r"
-" "
-"\t"
-"\v"
-"0"
-"9"
-"A"
-"Z"
-"a"
-"z"
-"À"
-"É"
-"Ÿ"
-"à"
-"é"
-"ÿ"
-"Π"
-"꒴"
-"𐅀"
-"🎳"
-"😄"
-"🟣"
-"🤩"
-"abc"
-"abc"
-"abc\ndef"
-"abc\ndef\n"
-"abc\ndef"
-"abc\ndef"
diff --git a/test/ic3/disabled/str.ret b/test/ic3/disabled/str.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/str.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/str.ret.expected b/test/ic3/disabled/str.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/str.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/sym.err.expected b/test/ic3/disabled/sym.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/sym.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/sym.in b/test/ic3/disabled/sym.in
deleted file mode 100644
index 4cd7962..0000000
--- a/test/ic3/disabled/sym.in
+++ /dev/null
@@ -1,28 +0,0 @@
-:" "
-:"
-"
-:"\0"
-:"\n"
-:"\r"
-:"\s"
-:"\t"
-:"\v"
-:0
-:9
-A
-Z
-:a
-:z
-À
-É
-Ÿ
-:à
-:é
-:ÿ
-Π
-:꒴
-:𐅀
-:🎳
-:😄
-:🟣
-:🤩
diff --git a/test/ic3/disabled/sym.out b/test/ic3/disabled/sym.out
deleted file mode 100644
index b175d40..0000000
--- a/test/ic3/disabled/sym.out
+++ /dev/null
@@ -1,27 +0,0 @@
-:" "
-:"\n"
-:"\0"
-:"\n"
-:"\r"
-:" "
-:"\t"
-:"\v"
-:0
-:9
-A
-Z
-:a
-:z
-À
-É
-Ÿ
-:à
-:é
-:ÿ
-Π
-:꒴
-:𐅀
-:🎳
-:😄
-:🟣
-:🤩
diff --git a/test/ic3/disabled/sym.out.expected b/test/ic3/disabled/sym.out.expected
deleted file mode 100644
index b175d40..0000000
--- a/test/ic3/disabled/sym.out.expected
+++ /dev/null
@@ -1,27 +0,0 @@
-:" "
-:"\n"
-:"\0"
-:"\n"
-:"\r"
-:" "
-:"\t"
-:"\v"
-:0
-:9
-A
-Z
-:a
-:z
-À
-É
-Ÿ
-:à
-:é
-:ÿ
-Π
-:꒴
-:𐅀
-:🎳
-:😄
-:🟣
-:🤩
diff --git a/test/ic3/disabled/sym.ret b/test/ic3/disabled/sym.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/sym.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/sym.ret.expected b/test/ic3/disabled/sym.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/sym.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/tuple.err.expected b/test/ic3/disabled/tuple.err.expected
deleted file mode 100644
index e69de29..0000000
--- a/test/ic3/disabled/tuple.err.expected
+++ /dev/null
diff --git a/test/ic3/disabled/tuple.in b/test/ic3/disabled/tuple.in
deleted file mode 100644
index 116dce1..0000000
--- a/test/ic3/disabled/tuple.in
+++ /dev/null
@@ -1,43 +0,0 @@
-{(), ()}
-{"", ""}
-{(), ""}
-{"", ()}
-{:a, :b}
-{:a, :b, :c}
-{:a, :b, :c, :d}
-{:a, :b, :c, :d, :e}
-{:a, :b, :c, :d, :e, :f}
-{:a, :b, :c, :d, :e, :f, :g}
-{:a, :b, :c, :d, :e, :f, :g, :h}
-{:a, :b, :c, :d, :e, :f, :g, :h, :i}
-{:a, :b, :c, :d, :e, :f, :g, :h, :i, :j}
-{{:a, :b}, {:c, :d}}
-{{:a, :b}, {:c, :d}, {:e, :f}}
-{{:a, :b}, {:c, :d}, {:e, :f}, {:g, :h}}
-{{:a, :b}, {:c, :d}, {:e, :f}, {:g, :h}, {:i, :j}}
-
-# comment 0
-# comment 0b
-{ # comment 1
- # comment 1b
- :a # comment 2
- # comment 2b
- , # comment 3
- # comment 3b
- :b ## comment 4
- ## comment 4b
- , ## comment 5
- ## comment 5b
- :c ## comment 6
- ## comment 6b
- } ## comment 7
- ## comment 7b
-
-# comment 10
-{ # comment 11
- :a # comment 12
- , # comment 13
- :b ## comment 14
- , ## comment 15
- :c ## comment 16
- } ## comment 17
diff --git a/test/ic3/disabled/tuple.out b/test/ic3/disabled/tuple.out
deleted file mode 100644
index b8de9cc..0000000
--- a/test/ic3/disabled/tuple.out
+++ /dev/null
@@ -1,19 +0,0 @@
-{(), ()}
-{"", ""}
-{(), ""}
-{"", ()}
-{:a, :b}
-{:a, :b, :c}
-{:a, :b, :c, :d}
-{:a, :b, :c, :d, :e}
-{:a, :b, :c, :d, :e, :f}
-{:a, :b, :c, :d, :e, :f, :g}
-{:a, :b, :c, :d, :e, :f, :g, :h}
-{:a, :b, :c, :d, :e, :f, :g, :h, :i}
-{:a, :b, :c, :d, :e, :f, :g, :h, :i, :j}
-{{:a, :b}, {:c, :d}}
-{{:a, :b}, {:c, :d}, {:e, :f}}
-{{:a, :b}, {:c, :d}, {:e, :f}, {:g, :h}}
-{{:a, :b}, {:c, :d}, {:e, :f}, {:g, :h}, {:i, :j}}
-{:a, :b, :c}
-{:a, :b, :c}
diff --git a/test/ic3/disabled/tuple.out.expected b/test/ic3/disabled/tuple.out.expected
deleted file mode 100644
index b8de9cc..0000000
--- a/test/ic3/disabled/tuple.out.expected
+++ /dev/null
@@ -1,19 +0,0 @@
-{(), ()}
-{"", ""}
-{(), ""}
-{"", ()}
-{:a, :b}
-{:a, :b, :c}
-{:a, :b, :c, :d}
-{:a, :b, :c, :d, :e}
-{:a, :b, :c, :d, :e, :f}
-{:a, :b, :c, :d, :e, :f, :g}
-{:a, :b, :c, :d, :e, :f, :g, :h}
-{:a, :b, :c, :d, :e, :f, :g, :h, :i}
-{:a, :b, :c, :d, :e, :f, :g, :h, :i, :j}
-{{:a, :b}, {:c, :d}}
-{{:a, :b}, {:c, :d}, {:e, :f}}
-{{:a, :b}, {:c, :d}, {:e, :f}, {:g, :h}}
-{{:a, :b}, {:c, :d}, {:e, :f}, {:g, :h}, {:i, :j}}
-{:a, :b, :c}
-{:a, :b, :c}
diff --git a/test/ic3/disabled/tuple.ret b/test/ic3/disabled/tuple.ret
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/tuple.ret
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/disabled/tuple.ret.expected b/test/ic3/disabled/tuple.ret.expected
deleted file mode 100644
index 573541a..0000000
--- a/test/ic3/disabled/tuple.ret.expected
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/test/ic3/equal.err.expected b/test/ic3/equal.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/equal.err.expected
diff --git a/test/ic3/equal.in b/test/ic3/equal.in
new file mode 100644
index 0000000..dada6b5
--- /dev/null
+++ b/test/ic3/equal.in
@@ -0,0 +1,4 @@
+a = 1
+b = 1
+a = 2
+(a, b) = (1, 2)
diff --git a/test/ic3/equal.out.expected b/test/ic3/equal.out.expected
new file mode 100644
index 0000000..b6d8518
--- /dev/null
+++ b/test/ic3/equal.out.expected
@@ -0,0 +1,4 @@
+1
+1
+2
+(1, 2)
diff --git a/test/ic3/equal.ret.expected b/test/ic3/equal.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/equal.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/fn.err.expected b/test/ic3/fn.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/fn.err.expected
diff --git a/test/ic3/fn.in b/test/ic3/fn.in
new file mode 100644
index 0000000..50eeeaa
--- /dev/null
+++ b/test/ic3/fn.in
@@ -0,0 +1,29 @@
+quote fn (x) { x }
+quote fn (x, _y) { x }
+quote fn ((x | _y)) { x }
+quote fn {
+ (()) { :error }
+ ((x | _y)) { x }
+ (_) { :error }
+}
+quote fn (x) {
+ "Hello, world !"
+ x * 2
+}
+a = fn (x) { x }
+a(1)
+b = fn (x, _y) { x }
+b(1, 2)
+c = fn ((x | _y)) { x }
+c((1, 2))
+d = fn {
+ (()) { :error }
+ ((x | _y)) { x }
+ (_) { :error2 }
+}
+d((1, 2))
+e = fn (x) {
+ "Hello, world !"
+ x * 2
+}
+e(2)
diff --git a/test/ic3/fn.out.expected b/test/ic3/fn.out.expected
new file mode 100644
index 0000000..175d540
--- /dev/null
+++ b/test/ic3/fn.out.expected
@@ -0,0 +1,29 @@
+fn (x) { x }
+fn (x, _y) { x }
+fn ((x | _y)) { x }
+fn {
+ (()) { :error }
+ ((x | _y)) { x }
+ (_) { :error }
+}
+fn (x) {
+ "Hello, world !"
+ x * 2
+}
+fn (x) { x }
+1
+fn (x, _y) { x }
+1
+fn ((x | _y)) { x }
+1
+fn {
+ (()) { :error }
+ ((x | _y)) { x }
+ (_) { :error2 }
+}
+1
+fn (x) {
+ "Hello, world !"
+ x * 2
+}
+4
diff --git a/test/ic3/fn.ret.expected b/test/ic3/fn.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/fn.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/function_call.err.expected b/test/ic3/function_call.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/function_call.err.expected
diff --git a/test/ic3/function_call.out.expected b/test/ic3/function_call.out.expected
new file mode 100644
index 0000000..004a0c4
--- /dev/null
+++ b/test/ic3/function_call.out.expected
@@ -0,0 +1,10 @@
+fn {...}
+
+8
+16
+8
+16
+16000
+32000
+16000
+32000
diff --git a/test/ic3/function_call.ret.expected b/test/ic3/function_call.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/function_call.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/hello.err.expected b/test/ic3/hello.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/hello.err.expected
diff --git a/test/ic3/hello.in b/test/ic3/hello.in
new file mode 100644
index 0000000..68b3cbd
--- /dev/null
+++ b/test/ic3/hello.in
@@ -0,0 +1 @@
+"Hello, world !"
diff --git a/test/ic3/hello.out.expected b/test/ic3/hello.out.expected
new file mode 100644
index 0000000..68b3cbd
--- /dev/null
+++ b/test/ic3/hello.out.expected
@@ -0,0 +1 @@
+"Hello, world !"
diff --git a/test/ic3/hello.ret.expected b/test/ic3/hello.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/hello.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/ident.err.expected b/test/ic3/ident.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/ident.err.expected
diff --git a/test/ic3/ident.in b/test/ic3/ident.in
new file mode 100644
index 0000000..3d5cd7f
--- /dev/null
+++ b/test/ic3/ident.in
@@ -0,0 +1,28 @@
+quote _" "
+quote _"
+"
+quote _"\0"
+quote _"\n"
+quote _"\r"
+quote _"\s"
+quote _"\t"
+quote _"\v"
+quote _0
+quote _9
+quote _A
+quote _Z
+quote a
+quote z
+quote _À
+quote _É
+quote _Ÿ
+quote à
+quote é
+quote ÿ
+quote _Π
+quote ꒴
+quote 𐅀
+quote 🎳
+quote 😄
+quote 🟣
+quote 🤩
diff --git a/test/ic3/ident.out.expected b/test/ic3/ident.out.expected
new file mode 100644
index 0000000..d3a5815
--- /dev/null
+++ b/test/ic3/ident.out.expected
@@ -0,0 +1,27 @@
+_" "
+_"\n"
+_"\0"
+_"\n"
+_"\r"
+_" "
+_"\t"
+_"\v"
+_0
+_9
+_A
+_Z
+a
+z
+_À
+_É
+_Ÿ
+à
+é
+ÿ
+_Π
+꒴
+𐅀
+🎳
+😄
+🟣
+🤩
diff --git a/test/ic3/ident.ret.expected b/test/ic3/ident.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/ident.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer.in b/test/ic3/integer.in
new file mode 100644
index 0000000..2cfd636
--- /dev/null
+++ b/test/ic3/integer.in
@@ -0,0 +1,80 @@
+-0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+-0o2000000000000000000000000000000000000000000
+-170141183460469231731687303715884105728
+-0x80000000000000000000000000000000
+-0b01111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+-0o1777777777777777777777777777777777777777777
+-170141183460469231731687303715884105727
+-0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+-0b1000000000000000000000000000000000000000000000000000000000000000
+-0o1000000000000000000000
+-9223372036854775808
+-0x8000000000000000
+-0b0111111111111111111111111111111111111111111111111111111111111111
+-0o0777777777777777777777
+-9223372036854775807
+-0x7FFFFFFFFFFFFFFF
+-0b10000000000000000000000000000000
+-0o20000000000
+-2147483648
+-0x80000000
+-0b01111111111111111111111111111111
+-0o17777777777
+-2147483647
+-0x7FFFFFFF
+-0b1000000000000000
+-0o100000
+-32768
+-0x8000
+-0b111111111111111
+-0o77777
+-32767
+-0x7FFF
+-0b10000000
+-0o200
+-128
+-0x80
+-0b1111111
+-0o177
+-127
+-0x7F
+0b11111111
+0o377
+255
+0xFF
+0b100000000
+0o400
+256
+0x100
+0b1111111111111111
+0o177777
+65535
+0xFFFF
+0b10000000000000000
+0o200000
+65536
+0x10000
+0b011111111111111111111111111111111
+0o37777777777
+4294967295
+0x0FFFFFFFF
+0b100000000000000000000000000000000
+0o40000000000
+4294967296
+0x100000000
+0b01111111111111111111111111111111111111111111111111111111111111111
+0o1777777777777777777777
+18446744073709551615
+0x0FFFFFFFFFFFFFFFF
+0b10000000000000000000000000000000000000000000000000000000000000000
+0o2000000000000000000000
+18446744073709551616
+0x10000000000000000
+0b011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+0o3777777777777777777777777777777777777777777
+340282366920938463463374607431768211455
+0x0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0o4000000000000000000000000000000000000000000
+340282366920938463463374607431768211456
+0x100000000000000000000000000000000
diff --git a/test/ic3/integer.lisp b/test/ic3/integer.lisp
new file mode 100644
index 0000000..240e065
--- /dev/null
+++ b/test/ic3/integer.lisp
@@ -0,0 +1,191 @@
+;; c3
+;; Copyright 2022,2023 kmx.io <contact@kmx.io>
+;;
+;; Permission is hereby granted to use this software granted the above
+;; copyright notice and this permission paragraph are included in all
+;; copies and substantial portions of this software.
+;;
+;; THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+;; PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+;; AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+;; THIS SOFTWARE.
+
+(in-package #:cl-user)
+
+(defpackage #:c3.test.ic3.integer
+ (:use #:cl)
+ (:shadow #:mod))
+
+(in-package #:c3.test.ic3.integer)
+
+(require :positional)
+
+(setf *print-case* :downcase)
+
+(defparameter *ops* '(+ - * / mod < == > ^ & bor))
+
+(defparameter *su* '(s u))
+
+(defparameter *bits* '(8 16 32 64 128))
+
+(defgeneric == (a b))
+
+(defmethod == (a b)
+ (= a b))
+
+(defgeneric ^ (a b))
+
+(defmethod ^ ((a integer) (b integer))
+ (logxor a b))
+
+(defgeneric & (a b))
+
+(defmethod & ((a integer) (b integer))
+ (logand a b))
+
+(defgeneric bor (a b))
+
+(defmethod bor ((a integer) (b integer))
+ (logior a b))
+
+(defgeneric mod (a b))
+
+(defmethod mod (a b)
+ (let* ((c (* (floor a b) b))
+ (d (- a c)))
+ (if (< b 0)
+ (if (< 0 d)
+ (+ d b)
+ d)
+ (if (< d 0)
+ (+ d b)
+ d))))
+
+(mod 3 4)
+(mod -3 4)
+(mod 3 -4)
+(mod -3 -4)
+
+(defgeneric translate (x))
+
+(defmethod translate ((x integer))
+ x)
+
+(defmethod translate ((x number))
+ (truncate x))
+
+(defmethod translate ((x (eql 't)))
+ "true")
+
+(defmethod translate ((x null))
+ "false")
+
+(defun do-numbers (fn)
+ (dolist (su *su*)
+ (let ((sign (if (eq su 's) -1 1)))
+ (dolist (bits (if (eq su 's) (reverse *bits*) *bits*))
+ (let ((su-bits (if (eq su 's) (1- bits) bits)))
+ (when (< sign 0)
+ (funcall fn (* sign (expt 2 su-bits))))
+ (funcall fn (* sign (1- (expt 2 su-bits))))
+ (when (> sign 0)
+ (funcall fn (* sign (expt 2 su-bits)))))))))
+
+(with-open-file (ret #P"integer.ret.expected"
+ :direction :output
+ :element-type 'character
+ :if-exists :supersede)
+ (format ret "0~%"))
+
+(with-open-file (expected #P"integer.out.expected"
+ :direction :output
+ :element-type 'character
+ :if-exists :supersede)
+ (with-open-file (in #P"integer.in"
+ :direction :output
+ :element-type 'character
+ :if-exists :supersede)
+ (do-numbers
+ (lambda (a)
+ (flet ((output-base (prefix base)
+ (format expected "~A~A~%"
+ (if (< a 0) "-" "")
+ (positional:positional (abs a) 10))
+ (format in "~A~A~A~%"
+ (if (< a 0) "-" "")
+ prefix
+ (positional:positional (abs a) base))))
+ (output-base "0b" 2)
+ (output-base "0o" 8)
+ (output-base "" 10)
+ (output-base "0x" 16))))))
+
+(defgeneric op-to-str (op))
+
+(defmethod op-to-str ((op (eql '+)))
+ "add")
+
+(defmethod op-to-str ((op (eql '-)))
+ "sub")
+
+(defmethod op-to-str ((op (eql '*)))
+ "mul")
+
+(defmethod op-to-str ((op (eql '/)))
+ "div")
+
+(defmethod op-to-str ((op (eql '%)))
+ "mod")
+
+(defmethod op-to-str ((op (eql '&)))
+ "band")
+
+(defmethod op-to-str ((op (eql '^)))
+ "bxor")
+
+(defmethod op-to-str ((op (eql '<)))
+ "lt")
+
+(defmethod op-to-str ((op (eql '<=)))
+ "lte")
+
+(defmethod op-to-str ((op (eql '==)))
+ "eq")
+
+(defmethod op-to-str ((op (eql '>)))
+ "gt")
+
+(defmethod op-to-str ((op (eql '>=)))
+ "gte")
+
+(defmethod op-to-str (op)
+ (string-downcase (symbol-name op)))
+
+(dolist (op *ops*)
+ (with-open-file (ret (pathname
+ (concatenate
+ 'string "integer_" (op-to-str op) ".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"))
+ :direction :output
+ :element-type 'character
+ :if-exists :supersede)
+ (with-open-file (in (pathname
+ (concatenate
+ 'string "integer_" (op-to-str op) ".in"))
+ :direction :output
+ :element-type 'character
+ :if-exists :supersede)
+ (do-numbers
+ (lambda (a)
+ (do-numbers
+ (lambda (b)
+ (format expected "~A ~A ~A~%" a op b)
+ (format expected "~A~%" (translate (funcall op a b)))
+ (format in "quote ~A ~A ~A~%" a op b)
+ (format in "~A ~A ~A~%" a op b))))))))
diff --git a/test/ic3/integer.out.expected b/test/ic3/integer.out.expected
new file mode 100644
index 0000000..b534195
--- /dev/null
+++ b/test/ic3/integer.out.expected
@@ -0,0 +1,80 @@
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105728
+-170141183460469231731687303715884105727
+-170141183460469231731687303715884105727
+-170141183460469231731687303715884105727
+-170141183460469231731687303715884105727
+-9223372036854775808
+-9223372036854775808
+-9223372036854775808
+-9223372036854775808
+-9223372036854775807
+-9223372036854775807
+-9223372036854775807
+-9223372036854775807
+-2147483648
+-2147483648
+-2147483648
+-2147483648
+-2147483647
+-2147483647
+-2147483647
+-2147483647
+-32768
+-32768
+-32768
+-32768
+-32767
+-32767
+-32767
+-32767
+-128
+-128
+-128
+-128
+-127
+-127
+-127
+-127
+255
+255
+255
+255
+256
+256
+256
+256
+65535
+65535
+65535
+65535
+65536
+65536
+65536
+65536
+4294967295
+4294967295
+4294967295
+4294967295
+4294967296
+4294967296
+4294967296
+4294967296
+18446744073709551615
+18446744073709551615
+18446744073709551615
+18446744073709551615
+18446744073709551616
+18446744073709551616
+18446744073709551616
+18446744073709551616
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+340282366920938463463374607431768211455
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456
+340282366920938463463374607431768211456
diff --git a/test/ic3/integer.ret.expected b/test/ic3/integer.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_add.in b/test/ic3/integer_add.in
new file mode 100644
index 0000000..bcb8fd3
--- /dev/null
+++ b/test/ic3/integer_add.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.out.expected b/test/ic3/integer_add.out.expected
new file mode 100644
index 0000000..3db7f46
--- /dev/null
+++ b/test/ic3/integer_add.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.ret.expected b/test/ic3/integer_add.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_add.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_band.in b/test/ic3/integer_band.in
new file mode 100644
index 0000000..8f04373
--- /dev/null
+++ b/test/ic3/integer_band.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.out.expected b/test/ic3/integer_band.out.expected
new file mode 100644
index 0000000..1da02cd
--- /dev/null
+++ b/test/ic3/integer_band.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.ret.expected b/test/ic3/integer_band.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_band.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_bor.in b/test/ic3/integer_bor.in
new file mode 100644
index 0000000..c8087db
--- /dev/null
+++ b/test/ic3/integer_bor.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.out.expected b/test/ic3/integer_bor.out.expected
new file mode 100644
index 0000000..c0fa0ba
--- /dev/null
+++ b/test/ic3/integer_bor.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.ret.expected b/test/ic3/integer_bor.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_bor.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_bxor.in b/test/ic3/integer_bxor.in
new file mode 100644
index 0000000..d6871bf
--- /dev/null
+++ b/test/ic3/integer_bxor.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.out.expected b/test/ic3/integer_bxor.out.expected
new file mode 100644
index 0000000..835766b
--- /dev/null
+++ b/test/ic3/integer_bxor.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.ret.expected b/test/ic3/integer_bxor.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_bxor.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_div.in b/test/ic3/integer_div.in
new file mode 100644
index 0000000..9bf4f54
--- /dev/null
+++ b/test/ic3/integer_div.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.out.expected b/test/ic3/integer_div.out.expected
new file mode 100644
index 0000000..02be5ec
--- /dev/null
+++ b/test/ic3/integer_div.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.ret.expected b/test/ic3/integer_div.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_div.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_eq.in b/test/ic3/integer_eq.in
new file mode 100644
index 0000000..c966b99
--- /dev/null
+++ b/test/ic3/integer_eq.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.out.expected b/test/ic3/integer_eq.out.expected
new file mode 100644
index 0000000..23605cf
--- /dev/null
+++ b/test/ic3/integer_eq.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.ret.expected b/test/ic3/integer_eq.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_eq.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_gt.in b/test/ic3/integer_gt.in
new file mode 100644
index 0000000..c27a0ab
--- /dev/null
+++ b/test/ic3/integer_gt.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.out.expected b/test/ic3/integer_gt.out.expected
new file mode 100644
index 0000000..57daf68
--- /dev/null
+++ b/test/ic3/integer_gt.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.ret.expected b/test/ic3/integer_gt.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_gt.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_lt.in b/test/ic3/integer_lt.in
new file mode 100644
index 0000000..89f9c79
--- /dev/null
+++ b/test/ic3/integer_lt.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.out.expected b/test/ic3/integer_lt.out.expected
new file mode 100644
index 0000000..1fa364c
--- /dev/null
+++ b/test/ic3/integer_lt.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.ret.expected b/test/ic3/integer_lt.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_lt.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_mul.in b/test/ic3/integer_mul.in
new file mode 100644
index 0000000..e58932d
--- /dev/null
+++ b/test/ic3/integer_mul.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.out.expected b/test/ic3/integer_mul.out.expected
new file mode 100644
index 0000000..f8e913d
--- /dev/null
+++ b/test/ic3/integer_mul.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.ret.expected b/test/ic3/integer_mul.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_mul.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/integer_sub.in b/test/ic3/integer_sub.in
new file mode 100644
index 0000000..a54e659
--- /dev/null
+++ b/test/ic3/integer_sub.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.out.expected b/test/ic3/integer_sub.out.expected
new file mode 100644
index 0000000..c6a58ea
--- /dev/null
+++ b/test/ic3/integer_sub.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.ret.expected b/test/ic3/integer_sub.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/integer_sub.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/list.err.expected b/test/ic3/list.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/list.err.expected
diff --git a/test/ic3/list.in b/test/ic3/list.in
new file mode 100644
index 0000000..d0852ec
--- /dev/null
+++ b/test/ic3/list.in
@@ -0,0 +1,46 @@
+()
+(() | ())
+((), ())
+((), (), ())
+((), (), (), ())
+((), () | ())
+((), (), () | ())
+(() | ((), ()))
+(() | ((), (), ()))
+(() | (() | ()))
+(() | ((), () | ()))
+(() | ((), (), () | ()))
+(((), ()) | ((), ()))
+((() | ()) | (() | ()))
+(:a | ())
+(:a, :b)
+(:a, :b, :c)
+(:a | :b)
+(:a, :b | :c)
+(:a, :b, :c, :d)
+(:a, :b, :c | :d)
+
+# comment 0
+# comment 0b
+( # comment 1
+ # comment 1b
+ :a # comment 2
+ # comment 2b
+ , # comment 3
+ # comment 3b
+ :b ## comment 4
+ ## comment 4b
+ , ## comment 5
+ ## comment 5b
+ :c ## comment 6
+ ## comment 6b
+ | ## comment 7
+ ## comment 7b
+ :d ## comment 8
+ ## comment 8b
+ ) ## comment 9
+ ## comment 9b
+
+List.map((1, 2, 3, 4), fn (x) { x * 2 })
+
+List.reverse((1, 2, 3, 4))
diff --git a/test/ic3/list.out.expected b/test/ic3/list.out.expected
new file mode 100644
index 0000000..6b61ae3
--- /dev/null
+++ b/test/ic3/list.out.expected
@@ -0,0 +1,24 @@
+()
+(() | ())
+((), ())
+((), (), ())
+((), (), (), ())
+((), ())
+((), (), ())
+((), (), ())
+((), (), (), ())
+((), ())
+((), (), ())
+((), (), (), ())
+(((), ()), (), ())
+((() | ()), ())
+(:a | ())
+(:a, :b)
+(:a, :b, :c)
+(:a | :b)
+(:a, :b | :c)
+(:a, :b, :c, :d)
+(:a, :b, :c | :d)
+(:a, :b, :c | :d)
+(2, 4, 6, 8)
+(4, 3, 2, 1)
diff --git a/test/ic3/list.ret.expected b/test/ic3/list.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/list.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/op.err.expected b/test/ic3/op.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/op.err.expected
diff --git a/test/ic3/op.in b/test/ic3/op.in
new file mode 100644
index 0000000..dc7e749
--- /dev/null
+++ b/test/ic3/op.in
@@ -0,0 +1,14 @@
+quote 1 + 20
+1 + 20
+quote 1 + 20 / 3
+1 + 20 / 3
+quote 1 + 20 / 3 * 4
+1 + 20 / 3 * 4
+quote 1 + 20 / 3 * 4 - 5
+1 + 20 / 3 * 4 - 5
+quote 20 / 3 * 4 - 5
+20 / 3 * 4 - 5
+quote (1 + 20)
+(1 + 20)
+quote a = (1 + 20)
+a = (1 + 20)
diff --git a/test/ic3/op.out.expected b/test/ic3/op.out.expected
new file mode 100644
index 0000000..7ff43c5
--- /dev/null
+++ b/test/ic3/op.out.expected
@@ -0,0 +1,14 @@
+1 + 20
+21
+1 + 20 / 3
+7
+1 + 20 / 3 * 4
+25
+1 + 20 / 3 * 4 - 5
+20
+20 / 3 * 4 - 5
+19
+(1 + 20)
+21
+a = (1 + 20)
+21
diff --git a/test/ic3/op.ret.expected b/test/ic3/op.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/op.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/str.err.expected b/test/ic3/str.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/str.err.expected
diff --git a/test/ic3/str.in b/test/ic3/str.in
new file mode 100644
index 0000000..37cb6db
--- /dev/null
+++ b/test/ic3/str.in
@@ -0,0 +1,48 @@
+" "
+"
+"
+"\0"
+"\n"
+"\r"
+"\s"
+"\t"
+"\v"
+"0"
+"9"
+"A"
+"Z"
+"a"
+"z"
+"À"
+"É"
+"Ÿ"
+"à"
+"é"
+"ÿ"
+"Π"
+"꒴"
+"𐅀"
+"🎳"
+"😄"
+"🟣"
+"🤩"
+"""abc"""
+"""
+abc
+"""
+
+"""abc
+def"""
+
+"""abc
+def
+"""
+
+"""
+abc
+def"""
+
+"""
+abc
+def
+"""
diff --git a/test/ic3/str.out.expected b/test/ic3/str.out.expected
new file mode 100644
index 0000000..769ed5e
--- /dev/null
+++ b/test/ic3/str.out.expected
@@ -0,0 +1,33 @@
+" "
+"\n"
+"\0"
+"\n"
+"\r"
+" "
+"\t"
+"\v"
+"0"
+"9"
+"A"
+"Z"
+"a"
+"z"
+"À"
+"É"
+"Ÿ"
+"à"
+"é"
+"ÿ"
+"Π"
+"꒴"
+"𐅀"
+"🎳"
+"😄"
+"🟣"
+"🤩"
+"abc"
+"abc"
+"abc\ndef"
+"abc\ndef\n"
+"abc\ndef"
+"abc\ndef"
diff --git a/test/ic3/str.ret.expected b/test/ic3/str.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/str.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/sym.err.expected b/test/ic3/sym.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/sym.err.expected
diff --git a/test/ic3/sym.in b/test/ic3/sym.in
new file mode 100644
index 0000000..4cd7962
--- /dev/null
+++ b/test/ic3/sym.in
@@ -0,0 +1,28 @@
+:" "
+:"
+"
+:"\0"
+:"\n"
+:"\r"
+:"\s"
+:"\t"
+:"\v"
+:0
+:9
+A
+Z
+:a
+:z
+À
+É
+Ÿ
+:à
+:é
+:ÿ
+Π
+:꒴
+:𐅀
+:🎳
+:😄
+:🟣
+:🤩
diff --git a/test/ic3/sym.out.expected b/test/ic3/sym.out.expected
new file mode 100644
index 0000000..b175d40
--- /dev/null
+++ b/test/ic3/sym.out.expected
@@ -0,0 +1,27 @@
+:" "
+:"\n"
+:"\0"
+:"\n"
+:"\r"
+:" "
+:"\t"
+:"\v"
+:0
+:9
+A
+Z
+:a
+:z
+À
+É
+Ÿ
+:à
+:é
+:ÿ
+Π
+:꒴
+:𐅀
+:🎳
+:😄
+:🟣
+:🤩
diff --git a/test/ic3/sym.ret.expected b/test/ic3/sym.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/sym.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3/tuple.err.expected b/test/ic3/tuple.err.expected
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/ic3/tuple.err.expected
diff --git a/test/ic3/tuple.in b/test/ic3/tuple.in
new file mode 100644
index 0000000..116dce1
--- /dev/null
+++ b/test/ic3/tuple.in
@@ -0,0 +1,43 @@
+{(), ()}
+{"", ""}
+{(), ""}
+{"", ()}
+{:a, :b}
+{:a, :b, :c}
+{:a, :b, :c, :d}
+{:a, :b, :c, :d, :e}
+{:a, :b, :c, :d, :e, :f}
+{:a, :b, :c, :d, :e, :f, :g}
+{:a, :b, :c, :d, :e, :f, :g, :h}
+{:a, :b, :c, :d, :e, :f, :g, :h, :i}
+{:a, :b, :c, :d, :e, :f, :g, :h, :i, :j}
+{{:a, :b}, {:c, :d}}
+{{:a, :b}, {:c, :d}, {:e, :f}}
+{{:a, :b}, {:c, :d}, {:e, :f}, {:g, :h}}
+{{:a, :b}, {:c, :d}, {:e, :f}, {:g, :h}, {:i, :j}}
+
+# comment 0
+# comment 0b
+{ # comment 1
+ # comment 1b
+ :a # comment 2
+ # comment 2b
+ , # comment 3
+ # comment 3b
+ :b ## comment 4
+ ## comment 4b
+ , ## comment 5
+ ## comment 5b
+ :c ## comment 6
+ ## comment 6b
+ } ## comment 7
+ ## comment 7b
+
+# comment 10
+{ # comment 11
+ :a # comment 12
+ , # comment 13
+ :b ## comment 14
+ , ## comment 15
+ :c ## comment 16
+ } ## comment 17
diff --git a/test/ic3/tuple.out.expected b/test/ic3/tuple.out.expected
new file mode 100644
index 0000000..b8de9cc
--- /dev/null
+++ b/test/ic3/tuple.out.expected
@@ -0,0 +1,19 @@
+{(), ()}
+{"", ""}
+{(), ""}
+{"", ()}
+{:a, :b}
+{:a, :b, :c}
+{:a, :b, :c, :d}
+{:a, :b, :c, :d, :e}
+{:a, :b, :c, :d, :e, :f}
+{:a, :b, :c, :d, :e, :f, :g}
+{:a, :b, :c, :d, :e, :f, :g, :h}
+{:a, :b, :c, :d, :e, :f, :g, :h, :i}
+{:a, :b, :c, :d, :e, :f, :g, :h, :i, :j}
+{{:a, :b}, {:c, :d}}
+{{:a, :b}, {:c, :d}, {:e, :f}}
+{{:a, :b}, {:c, :d}, {:e, :f}, {:g, :h}}
+{{:a, :b}, {:c, :d}, {:e, :f}, {:g, :h}, {:i, :j}}
+{:a, :b, :c}
+{:a, :b, :c}
diff --git a/test/ic3/tuple.ret.expected b/test/ic3/tuple.ret.expected
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/test/ic3/tuple.ret.expected
@@ -0,0 +1 @@
+0
diff --git a/test/ic3_test b/test/ic3_test
index 92c184f..3d967e5 100755
--- a/test/ic3_test
+++ b/test/ic3_test
@@ -63,7 +63,9 @@ DIFFS="$(for TARGET in $TARGETS; do
echo -n "${TARGET}.diff "
fi
done)"
-less $DIFFS
+if [ "x$DIFFS" != "x" ]; then
+ less $DIFFS
+fi
echo
echo -n "Total $TEST_COUNT tests. "
echo -n "${TEST_COLOR_OK}OK $TEST_OK ($(($TEST_OK * 100 / $TEST_COUNT))%)${TEST_COLOR_RESET}. "