**** New globals: {b:b, d:d, g:g, i:i, i1:i1, i2:i2, i4:i4, i8:i8, n:r8, o:o, qb:b?, qd:d?, qi:i?, qi1:i1?, qi2:i2?, qi4:i4?, qi8:i8?, qn:r8?, qr4:r4?, qr8:r8?, qu1:u1?, qu2:u2?, qu4:u4?, qu8:u8?, r4:r4, r8:r8, s:s, u1:u1, u2:u2, u4:u4, u8:u8}

> Div(3, 4)
Div(3, 4) : i8
Binder : Div(3, 4)
Reducer: 0
###
> Div(2, -1)
Div(2, -1) : i8
Binder : Div(2, -1)
Reducer: -2
###
> Div(2, 0)
Div(2, 0) : i8
Binder : Div(2, 0)
Reducer: 0
###
> Div(-0, 2)
Div(-0, 2) : i8
Binder : Div(0, 2)
Reducer: 0
###
> Div(-0f, 2f)
Div(-0, 2) : r8
Binder : Div(-0, 2)
Reducer: -0
###
> Div(-0.0, 2.0)
Div(-0, 2) : r8
Binder : Div(-0, 2)
Reducer: -0
###
> Div(-2, -0)
Div(-2, -0) : i8
Binder : Div(-2, 0)
Reducer: 0
###
> Div(-2f, -0f)
Div(-2, -0) : r8
Binder : Div(-2, -0)
Reducer: ∞
###
> Div(-2.0, -0.0)
Div(-2, -0) : r8
Binder : Div(-2, -0)
Reducer: ∞
###
> Div(0x3FFF_FFFFI4, 2I4)
Div(1073741823, 2) : i8
Binder : Div(1073741823, 2)
Reducer: 536870911
###
> Div(0x3FFF_FFFFI4, 4I4)
Div(1073741823, 4) : i8
Binder : Div(1073741823, 4)
Reducer: 268435455
###
> Div(0x7FFF_FFFFU4, 2I4) // i8
Div(2147483647, 2) : i8
Binder : Div(2147483647, 2)
Reducer: 1073741823
###
> Div(0x7FFF_FFFFU4, 2U4) // i8
Div(2147483647, 2) : i8
Binder : Div(2147483647, 2)
Reducer: 1073741823
###
> Div(0x7FFF_FFFFU4, 4I4) // i8
Div(2147483647, 4) : i8
Binder : Div(2147483647, 4)
Reducer: 536870911
###
> Div(0x3FFF_FFFF, 2)
Div(1073741823, 2) : i8
Binder : Div(1073741823, 2)
Reducer: 536870911
###
> Div(0x3FFF_FFFF, 4)
Div(1073741823, 4) : i8
Binder : Div(1073741823, 4)
Reducer: 268435455
###
> Div(0x7FFF_FFFFU, 2 ) // i8
Div(2147483647, 2) : i8
Binder : Div(2147483647, 2)
Reducer: 1073741823
###
> Div(0x7FFF_FFFFU, 2U) // u8
Div(2147483647, 2) : u8
Binder : Div(2147483647, 2)
Reducer: 1073741823
###
> Div(0x7FFF_FFFFU, 4 ) // i8
Div(2147483647, 4) : i8
Binder : Div(2147483647, 4)
Reducer: 536870911
###
> Div(0x3FFF_FFFF_FFFF_FFFF, 2)
Div(4611686018427387903, 2) : i8
Binder : Div(4611686018427387903, 2)
Reducer: 2305843009213693951
###
> Div(0x3FFF_FFFF_FFFF_FFFF, 4)
Div(4611686018427387903, 4) : i8
Binder : Div(4611686018427387903, 4)
Reducer: 1152921504606846975
###
> Div(0x7FFF_FFFF_FFFF_FFFFU, 2)
Div(9223372036854775807, 2) : i8
Binder : Div(9223372036854775807, 2)
Reducer: 4611686018427387903
###
> Div(0x7FFF_FFFF_FFFF_FFFFU, 2U)
Div(9223372036854775807, 2) : u8
Binder : Div(9223372036854775807, 2)
Reducer: 4611686018427387903
###
> Div(0x7FFF_FFFF_FFFF_FFFFU, 4)
Div(9223372036854775807, 4) : i8
Binder : Div(9223372036854775807, 4)
Reducer: 2305843009213693951
###
> Div(3, null)
Div(3, null) : i8?
Binder : Guard(?1: null, Div(3, Unit<i8>(?1)))
Reducer: null
###
> Div(null, 3)
Div(null, 3) : i8?
Binder : Guard(?1: null, Div(Unit<i8>(?1), 3))
Reducer: null
###
> Div(0, null)
Div(0, null) : i8?
Binder : Guard(?1: null, Div(0, Unit<i8>(?1)))
Reducer: null
###
> Div(null, 0)
Div(null, 0) : i8?
Binder : Guard(?1: null, Div(Unit<i8>(?1), 0))
Reducer: null
###
> Div(null, null)
Div(null, null) : i8?
Binder : Guard(?1: null, ?2: null, Div(Unit<i8>(?1), Unit<i8>(?2)))
Reducer: null
###
> Div(i4, 3)
Div(i4, 3) : i8
Binder : Div(Num<i8>(i4), 3)
###
> Div(3, i4)
Div(3, i4) : i8
Binder : Div(3, Num<i8>(i4))
###
> Div(i4, null)
Div(i4, null) : i8?
Binder : Guard(?1: null, Div(Num<i8>(i4), Unit<i8>(?1)))
Reducer: null
###
> Div(null, i4)
Div(null, i4) : i8?
Binder : Guard(?1: null, Div(Unit<i8>(?1), Num<i8>(i4)))
Reducer: null
###
> Div(3, true)
Div(3, true) : i8
Binder : Div(3, 1)
Reducer: 3
###
> Div(true, 3)
Div(true, 3) : i8
Binder : Div(1, 3)
Reducer: 0
###
> Div(true, false)
Div(true, false) : i8
Binder : Div(1, 0)
Reducer: 0
###
> Div("hello", true)
Div("hello", true) : i8
*** Error: (4,11) Node: "hello", Message: Invalid operand type: cannot convert type 's' to 'i8'
Binder : Div(Error(ErrBadType_Src_Dst), 1)
Reducer: Error(ErrBadType_Src_Dst)
###
> Div(2.0, 4.0)
Div(2, 4) : r8
Binder : Div(2, 4)
Reducer: 0
###
> Div(2.0, 3.0)
Div(2, 3) : r8
Binder : Div(2, 3)
Reducer: 0
###
> Div(3f, null)
Div(3, null) : r8?
Binder : Guard(?1: null, Div(3, Unit<r8>(?1)))
Reducer: null
###
> Div(null, 2f)
Div(null, 2) : r8?
Binder : Guard(?1: null, Div(Unit<r8>(?1), 2))
Reducer: null
###
> Div(2, r4)
Div(2, r4) : r8
Binder : Div(2, Num<r8>(r4))
###
> Div(r4, 3)
Div(r4, 3) : r8
Binder : Div(Num<r8>(r4), 3)
###
> Div(1, r4)
Div(1, r4) : r8
Binder : Div(1, Num<r8>(r4))
###
> Div(r4, 1)
Div(r4, 1) : r8
Binder : Div(Num<r8>(r4), 1)
###
> Div(null, r4)
Div(null, r4) : r8?
Binder : Guard(?1: null, Div(Unit<r8>(?1), Num<r8>(r4)))
Reducer: null
###
> Div(r4, null)
Div(r4, null) : r8?
Binder : Guard(?1: null, Div(Num<r8>(r4), Unit<r8>(?1)))
Reducer: null
###
> Div(0, r4)
Div(0, r4) : r8
Binder : Div(0, Num<r8>(r4))
###
> Div(r4, 0)
Div(r4, 0) : r8
Binder : Div(Num<r8>(r4), 0)
###
> Div(2ia, 0)
Div(2, 0) : i
Binder : Div(2, 0)
Reducer: 0
###
> Div(2i8, 0)
Div(2, 0) : i8
Binder : Div(2, 0)
Reducer: 0
###
> Div(0x80000000i4, -1)
Div(2147483648, -1) : i8
Binder : Div(-2147483648, -1)
Reducer: 2147483648
###
> Div(0x8000000000000000i8, -1)
Div(9223372036854775808, -1) : i8
Binder : Div(-9223372036854775808, -1)
Reducer: -9223372036854775808
###
> Div(2, -1)
Div(2, -1) : i8
Binder : Div(2, -1)
Reducer: -2
###
> Div(2u, 0u)
Div(2, 0) : u8
Binder : Div(2, 0)
Reducer: 0
###
> Div(7u8, 4u)
Div(7, 4) : u8
Binder : Div(7, 4)
Reducer: 1
###
> Div(7ia, 4)
Div(7, 4) : i
Binder : Div(7, 4)
Reducer: 1
###
> Div(2u8, 0u)
Div(2, 0) : u8
Binder : Div(2, 0)
Reducer: 0
###
> Div(3.0r4, 2.0r4)
Div(3, 2) : r8
Binder : Div(3, 2)
Reducer: 1
###
> Div(3.0r8, 2.0r8)
Div(3, 2) : r8
Binder : Div(3, 2)
Reducer: 1
###
> Div(CastR4(1/0.0), 0f)
Div(CastR4(1 / 0), 0) : r8
Binder : Div(Num<r8>(CastR4(Mul(1, [/] 0))), 0)
Reducer: ∞
###
> Div(CastR4(-1/0.0), 0f)
Div(CastR4(-1 / 0), 0) : r8
Binder : Div(Num<r8>(CastR4(Mul(-1, [/] 0))), 0)
Reducer: -∞
###
> Div(0f/0f, 0f)
Div(0 / 0, 0) : r8
Binder : Div(Mul(0, [/] 0), 0)
Reducer: NaN
###
> Div(-0f/0f, 0f)
Div(-0 / 0, 0) : r8
Binder : Div(Mul(-0, [/] 0), 0)
Reducer: NaN
###
> Div(1.0/0, 0.0)
Div(1 / 0, 0) : r8
Binder : Div(Mul(1, [/] 0), 0)
Reducer: ∞
###
> Div(-1.0/0, 0.0)
Div(-1 / 0, 0) : r8
Binder : Div(Mul(-1, [/] 0), 0)
Reducer: -∞
###
> Div(0r8/0, 0.0)
Div(0 / 0, 0) : r8
Binder : Div(Mul(0, [/] 0), 0)
Reducer: NaN
###
> Div(-0r8/0, 0.0)
Div(-0 / 0, 0) : r8
Binder : Div(Mul(-0, [/] 0), 0)
Reducer: NaN
###
> Div(1r/0r, 0r)
Div(1 / 0, 0) : r8
Binder : Div(Mul(1, [/] 0), 0)
Reducer: ∞
###
> Div(-1r/0r, 0r)
Div(-1 / 0, 0) : r8
Binder : Div(Mul(-1, [/] 0), 0)
Reducer: -∞
###
> Div(0r/0r, 0r)
Div(0 / 0, 0) : r8
Binder : Div(Mul(0, [/] 0), 0)
Reducer: NaN
###
> Div(-0r/0r, 0.0r)
Div(-0 / 0, 0) : r8
Binder : Div(Mul(-0, [/] 0), 0)
Reducer: NaN
###
> Div(0x812345u8, 0x81234567u8)
Div(8463173, 2166572391) : u8
Binder : Div(8463173, 2166572391)
Reducer: 0
###
> Div(0x80123456u8, 0x81234567u8)
Div(2148676694, 2166572391) : u8
Binder : Div(2148676694, 2166572391)
Reducer: 0
###
> Div(0x81234567u8, 0x80123456u8)
Div(2166572391, 2148676694) : u8
Binder : Div(2166572391, 2148676694)
Reducer: 1
###
> Div(0x81234567u8, 0x812345u8)
Div(2166572391, 8463173) : u8
Binder : Div(2166572391, 8463173)
Reducer: 256
###
> Div(3, g)
Div(3, g) : i8
*** Error: (7,8) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i8'
Binder : Div(3, Error(ErrBadType_Src_Dst))
###
> Div(3, o)
Div(3, o) : i8?
Binder : Guard(?1: o, Div(3, Unit<i8>(?1)))
Reducer: null
###
> Div(3, s)
Div(3, s) : i8
*** Error: (7,8) Node: s, Message: Invalid operand type: cannot convert type 's' to 'i8'
Binder : Div(3, Error(ErrBadType_Src_Dst))
###
> Div(3, d)
Div(3, d) : i8
*** Error: (7,8) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : Div(3, Error(ErrBadType_Src_Dst))
###
> Div(3, b)
Div(3, b) : i8
Binder : Div(3, Num<i8>(b))
###
> Div(3, n)
Div(3, n) : r8
Binder : Div(3, n)
###
> Div(3, r8)
Div(3, r8) : r8
Binder : Div(3, r8)
###
> Div(3, r4)
Div(3, r4) : r8
Binder : Div(3, Num<r8>(r4))
###
> Div(3, i)
Div(3, i) : i
Binder : Div(3, i)
###
> Div(3, i8)
Div(3, i8) : i8
Binder : Div(3, i8)
###
> Div(3, i4)
Div(3, i4) : i8
Binder : Div(3, Num<i8>(i4))
###
> Div(3, i2)
Div(3, i2) : i8
Binder : Div(3, Num<i8>(i2))
###
> Div(3, i1)
Div(3, i1) : i8
Binder : Div(3, Num<i8>(i1))
###
> Div(3, u8)
Div(3, u8) : i8
*** Warning: (7,9) Node: u8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : Div(3, Num<i8>(u8))
###
> Div(3, u4)
Div(3, u4) : i8
Binder : Div(3, Num<i8>(u4))
###
> Div(3, u2)
Div(3, u2) : i8
Binder : Div(3, Num<i8>(u2))
###
> Div(3, u1)
Div(3, u1) : i8
Binder : Div(3, Num<i8>(u1))
###
> Div(-3, g)
Div(-3, g) : i8
*** Error: (8,9) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i8'
Binder : Div(-3, Error(ErrBadType_Src_Dst))
###
> Div(-3, o)
Div(-3, o) : i8?
Binder : Guard(?1: o, Div(-3, Unit<i8>(?1)))
Reducer: null
###
> Div(-3, s)
Div(-3, s) : i8
*** Error: (8,9) Node: s, Message: Invalid operand type: cannot convert type 's' to 'i8'
Binder : Div(-3, Error(ErrBadType_Src_Dst))
###
> Div(-3, d)
Div(-3, d) : i8
*** Error: (8,9) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : Div(-3, Error(ErrBadType_Src_Dst))
###
> Div(-3, b)
Div(-3, b) : i8
Binder : Div(-3, Num<i8>(b))
###
> Div(-3, n)
Div(-3, n) : r8
Binder : Div(-3, n)
###
> Div(-3, r8)
Div(-3, r8) : r8
Binder : Div(-3, r8)
###
> Div(-3, r4)
Div(-3, r4) : r8
Binder : Div(-3, Num<r8>(r4))
###
> Div(-3, i)
Div(-3, i) : i
Binder : Div(-3, i)
###
> Div(-3, i8)
Div(-3, i8) : i8
Binder : Div(-3, i8)
###
> Div(-3, i4)
Div(-3, i4) : i8
Binder : Div(-3, Num<i8>(i4))
###
> Div(-3, i2)
Div(-3, i2) : i8
Binder : Div(-3, Num<i8>(i2))
###
> Div(-3, i1)
Div(-3, i1) : i8
Binder : Div(-3, Num<i8>(i1))
###
> Div(-3, u8)
Div(-3, u8) : i8
*** Warning: (8,10) Node: u8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : Div(-3, Num<i8>(u8))
###
> Div(-3, u4)
Div(-3, u4) : i8
Binder : Div(-3, Num<i8>(u4))
###
> Div(-3, u2)
Div(-3, u2) : i8
Binder : Div(-3, Num<i8>(u2))
###
> Div(-3, u1)
Div(-3, u1) : i8
Binder : Div(-3, Num<i8>(u1))
###
> Div(3u, g)
Div(3, g) : u8
*** Error: (8,9) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'u8'
Binder : Div(3, Error(ErrBadType_Src_Dst))
###
> Div(3u, o)
Div(3, o) : u8?
Binder : Guard(?1: o, Div(3, Unit<u8>(?1)))
Reducer: null
###
> Div(3u, s)
Div(3, s) : u8
*** Error: (8,9) Node: s, Message: Invalid operand type: cannot convert type 's' to 'u8'
Binder : Div(3, Error(ErrBadType_Src_Dst))
###
> Div(3u, d)
Div(3, d) : u8
*** Error: (8,9) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'u8'
Binder : Div(3, Error(ErrBadType_Src_Dst))
###
> Div(3u, b)
Div(3, b) : u8
Binder : Div(3, Num<u8>(b))
###
> Div(3u, n)
Div(3, n) : r8
Binder : Div(3, n)
###
> Div(3u, r8)
Div(3, r8) : r8
Binder : Div(3, r8)
###
> Div(3u, r4)
Div(3, r4) : r8
Binder : Div(3, Num<r8>(r4))
###
> Div(3u, i)
Div(3, i) : i
Binder : Div(3, i)
###
> Div(3u, i8)
Div(3, i8) : i8
Binder : Div(3, i8)
###
> Div(3u, i4)
Div(3, i4) : i8
Binder : Div(3, Num<i8>(i4))
###
> Div(3u, i2)
Div(3, i2) : i8
Binder : Div(3, Num<i8>(i2))
###
> Div(3u, i1)
Div(3, i1) : i8
Binder : Div(3, Num<i8>(i1))
###
> Div(3u, u8)
Div(3, u8) : u8
Binder : Div(3, u8)
###
> Div(3u, u4)
Div(3, u4) : u8
Binder : Div(3, Num<u8>(u4))
###
> Div(3u, u2)
Div(3, u2) : u8
Binder : Div(3, Num<u8>(u2))
###
> Div(3u, u1)
Div(3, u1) : u8
Binder : Div(3, Num<u8>(u1))
###
> Div(3f, g)
Div(3, g) : r8
*** Error: (8,9) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'r8'
Binder : Div(3, Error(ErrBadType_Src_Dst))
###
> Div(3f, o)
Div(3, o) : r8?
Binder : Guard(?1: o, Div(3, Unit<r8>(?1)))
Reducer: null
###
> Div(3f, s)
Div(3, s) : r8
*** Error: (8,9) Node: s, Message: Invalid operand type: cannot convert type 's' to 'r8'
Binder : Div(3, Error(ErrBadType_Src_Dst))
###
> Div(3f, d)
Div(3, d) : r8
*** Error: (8,9) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : Div(3, Error(ErrBadType_Src_Dst))
###
> Div(3f, b)
Div(3, b) : r8
Binder : Div(3, Num<r8>(b))
###
> Div(3f, n)
Div(3, n) : r8
Binder : Div(3, n)
###
> Div(3f, r8)
Div(3, r8) : r8
Binder : Div(3, r8)
###
> Div(3f, r4)
Div(3, r4) : r8
Binder : Div(3, Num<r8>(r4))
###
> Div(3f, i)
Div(3, i) : r8
Binder : Div(3, Num<r8>(i))
###
> Div(3f, i8)
Div(3, i8) : r8
Binder : Div(3, Num<r8>(i8))
###
> Div(3f, i4)
Div(3, i4) : r8
Binder : Div(3, Num<r8>(i4))
###
> Div(3f, i2)
Div(3, i2) : r8
Binder : Div(3, Num<r8>(i2))
###
> Div(3f, i1)
Div(3, i1) : r8
Binder : Div(3, Num<r8>(i1))
###
> Div(3f, u8)
Div(3, u8) : r8
Binder : Div(3, Num<r8>(u8))
###
> Div(3f, u4)
Div(3, u4) : r8
Binder : Div(3, Num<r8>(u4))
###
> Div(3f, u2)
Div(3, u2) : r8
Binder : Div(3, Num<r8>(u2))
###
> Div(3f, u1)
Div(3, u1) : r8
Binder : Div(3, Num<r8>(u1))
###
> Div(3, qd)
Div(3, qd) : i8?
*** Error: (7,9) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : Guard(?1: qd, Div(3, Error(ErrBadType_Src_Dst)))
###
> Div(3, qb)
Div(3, qb) : i8?
Binder : Guard(?1: qb, Div(3, Num<i8>(?1)))
###
> Div(3, qn)
Div(3, qn) : r8?
Binder : Guard(?1: qn, Div(3, ?1))
###
> Div(3, qr8)
Div(3, qr8) : r8?
Binder : Guard(?1: qr8, Div(3, ?1))
###
> Div(3, qr4)
Div(3, qr4) : r8?
Binder : Guard(?1: qr4, Div(3, Num<r8>(?1)))
###
> Div(3, qi)
Div(3, qi) : i?
Binder : Guard(?1: qi, Div(3, ?1))
###
> Div(3, qi8)
Div(3, qi8) : i8?
Binder : Guard(?1: qi8, Div(3, ?1))
###
> Div(3, qi4)
Div(3, qi4) : i8?
Binder : Guard(?1: qi4, Div(3, Num<i8>(?1)))
###
> Div(3, qi2)
Div(3, qi2) : i8?
Binder : Guard(?1: qi2, Div(3, Num<i8>(?1)))
###
> Div(3, qi1)
Div(3, qi1) : i8?
Binder : Guard(?1: qi1, Div(3, Num<i8>(?1)))
###
> Div(3, qu8)
Div(3, qu8) : i8?
*** Warning: (7,10) Node: qu8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : Guard(?1: qu8, Div(3, Num<i8>(?1)))
###
> Div(3, qu4)
Div(3, qu4) : i8?
Binder : Guard(?1: qu4, Div(3, Num<i8>(?1)))
###
> Div(3, qu2)
Div(3, qu2) : i8?
Binder : Guard(?1: qu2, Div(3, Num<i8>(?1)))
###
> Div(3, qu1)
Div(3, qu1) : i8?
Binder : Guard(?1: qu1, Div(3, Num<i8>(?1)))
###
> Div(-3, qd)
Div(-3, qd) : i8?
*** Error: (8,10) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : Guard(?1: qd, Div(-3, Error(ErrBadType_Src_Dst)))
###
> Div(-3, qb)
Div(-3, qb) : i8?
Binder : Guard(?1: qb, Div(-3, Num<i8>(?1)))
###
> Div(-3, qn)
Div(-3, qn) : r8?
Binder : Guard(?1: qn, Div(-3, ?1))
###
> Div(-3, qr8)
Div(-3, qr8) : r8?
Binder : Guard(?1: qr8, Div(-3, ?1))
###
> Div(-3, qr4)
Div(-3, qr4) : r8?
Binder : Guard(?1: qr4, Div(-3, Num<r8>(?1)))
###
> Div(-3, qi)
Div(-3, qi) : i?
Binder : Guard(?1: qi, Div(-3, ?1))
###
> Div(-3, qi8)
Div(-3, qi8) : i8?
Binder : Guard(?1: qi8, Div(-3, ?1))
###
> Div(-3, qi4)
Div(-3, qi4) : i8?
Binder : Guard(?1: qi4, Div(-3, Num<i8>(?1)))
###
> Div(-3, qi2)
Div(-3, qi2) : i8?
Binder : Guard(?1: qi2, Div(-3, Num<i8>(?1)))
###
> Div(-3, qi1)
Div(-3, qi1) : i8?
Binder : Guard(?1: qi1, Div(-3, Num<i8>(?1)))
###
> Div(-3, qu8)
Div(-3, qu8) : i8?
*** Warning: (8,11) Node: qu8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : Guard(?1: qu8, Div(-3, Num<i8>(?1)))
###
> Div(-3, qu4)
Div(-3, qu4) : i8?
Binder : Guard(?1: qu4, Div(-3, Num<i8>(?1)))
###
> Div(-3, qu2)
Div(-3, qu2) : i8?
Binder : Guard(?1: qu2, Div(-3, Num<i8>(?1)))
###
> Div(-3, qu1)
Div(-3, qu1) : i8?
Binder : Guard(?1: qu1, Div(-3, Num<i8>(?1)))
###
> Div(3u, qd)
Div(3, qd) : u8?
*** Error: (8,10) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'u8'
Binder : Guard(?1: qd, Div(3, Error(ErrBadType_Src_Dst)))
###
> Div(3u, qb)
Div(3, qb) : u8?
Binder : Guard(?1: qb, Div(3, Num<u8>(?1)))
###
> Div(3u, qn)
Div(3, qn) : r8?
Binder : Guard(?1: qn, Div(3, ?1))
###
> Div(3u, qr8)
Div(3, qr8) : r8?
Binder : Guard(?1: qr8, Div(3, ?1))
###
> Div(3u, qr4)
Div(3, qr4) : r8?
Binder : Guard(?1: qr4, Div(3, Num<r8>(?1)))
###
> Div(3u, qi)
Div(3, qi) : i?
Binder : Guard(?1: qi, Div(3, ?1))
###
> Div(3u, qi8)
Div(3, qi8) : i8?
Binder : Guard(?1: qi8, Div(3, ?1))
###
> Div(3u, qi4)
Div(3, qi4) : i8?
Binder : Guard(?1: qi4, Div(3, Num<i8>(?1)))
###
> Div(3u, qi2)
Div(3, qi2) : i8?
Binder : Guard(?1: qi2, Div(3, Num<i8>(?1)))
###
> Div(3u, qi1)
Div(3, qi1) : i8?
Binder : Guard(?1: qi1, Div(3, Num<i8>(?1)))
###
> Div(3u, qu8)
Div(3, qu8) : u8?
Binder : Guard(?1: qu8, Div(3, ?1))
###
> Div(3u, qu4)
Div(3, qu4) : u8?
Binder : Guard(?1: qu4, Div(3, Num<u8>(?1)))
###
> Div(3u, qu2)
Div(3, qu2) : u8?
Binder : Guard(?1: qu2, Div(3, Num<u8>(?1)))
###
> Div(3u, qu1)
Div(3, qu1) : u8?
Binder : Guard(?1: qu1, Div(3, Num<u8>(?1)))
###
> Div(3f, qd)
Div(3, qd) : r8?
*** Error: (8,10) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : Guard(?1: qd, Div(3, Error(ErrBadType_Src_Dst)))
###
> Div(3f, qb)
Div(3, qb) : r8?
Binder : Guard(?1: qb, Div(3, Num<r8>(?1)))
###
> Div(3f, qn)
Div(3, qn) : r8?
Binder : Guard(?1: qn, Div(3, ?1))
###
> Div(3f, qr8)
Div(3, qr8) : r8?
Binder : Guard(?1: qr8, Div(3, ?1))
###
> Div(3f, qr4)
Div(3, qr4) : r8?
Binder : Guard(?1: qr4, Div(3, Num<r8>(?1)))
###
> Div(3f, qi)
Div(3, qi) : r8?
Binder : Guard(?1: qi, Div(3, Num<r8>(?1)))
###
> Div(3f, qi8)
Div(3, qi8) : r8?
Binder : Guard(?1: qi8, Div(3, Num<r8>(?1)))
###
> Div(3f, qi4)
Div(3, qi4) : r8?
Binder : Guard(?1: qi4, Div(3, Num<r8>(?1)))
###
> Div(3f, qi2)
Div(3, qi2) : r8?
Binder : Guard(?1: qi2, Div(3, Num<r8>(?1)))
###
> Div(3f, qi1)
Div(3, qi1) : r8?
Binder : Guard(?1: qi1, Div(3, Num<r8>(?1)))
###
> Div(3f, qu8)
Div(3, qu8) : r8?
Binder : Guard(?1: qu8, Div(3, Num<r8>(?1)))
###
> Div(3f, qu4)
Div(3, qu4) : r8?
Binder : Guard(?1: qu4, Div(3, Num<r8>(?1)))
###
> Div(3f, qu2)
Div(3, qu2) : r8?
Binder : Guard(?1: qu2, Div(3, Num<r8>(?1)))
###
> Div(3f, qu1)
Div(3, qu1) : r8?
Binder : Guard(?1: qu1, Div(3, Num<r8>(?1)))
###
> Div(g, 1)
Div(g, 1) : i8
*** Error: (4,5) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i8'
Binder : Div(Error(ErrBadType_Src_Dst), 1)
Reducer: Error(ErrBadType_Src_Dst)
###
> Div(o, 1)
Div(o, 1) : i8?
Binder : Guard(?1: o, Div(Unit<i8>(?1), 1))
Reducer: null
###
> Div(s, 1)
Div(s, 1) : i8
*** Error: (4,5) Node: s, Message: Invalid operand type: cannot convert type 's' to 'i8'
Binder : Div(Error(ErrBadType_Src_Dst), 1)
Reducer: Error(ErrBadType_Src_Dst)
###
> Div(d, 1)
Div(d, 1) : i8
*** Error: (4,5) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : Div(Error(ErrBadType_Src_Dst), 1)
Reducer: Error(ErrBadType_Src_Dst)
###
> Div(b, 1)
Div(b, 1) : i8
Binder : Div(Num<i8>(b), 1)
Reducer: Num<i8>(b)
###
> Div(n, 1)
Div(n, 1) : r8
Binder : Div(n, 1)
###
> Div(r8, 1)
Div(r8, 1) : r8
Binder : Div(r8, 1)
###
> Div(r4, 1)
Div(r4, 1) : r8
Binder : Div(Num<r8>(r4), 1)
###
> Div(i, 1)
Div(i, 1) : i
Binder : Div(i, 1)
Reducer: i
###
> Div(i8, 1)
Div(i8, 1) : i8
Binder : Div(i8, 1)
Reducer: i8
###
> Div(i4, 1)
Div(i4, 1) : i8
Binder : Div(Num<i8>(i4), 1)
Reducer: Num<i8>(i4)
###
> Div(i2, 1)
Div(i2, 1) : i8
Binder : Div(Num<i8>(i2), 1)
Reducer: Num<i8>(i2)
###
> Div(i1, 1)
Div(i1, 1) : i8
Binder : Div(Num<i8>(i1), 1)
Reducer: Num<i8>(i1)
###
> Div(u8, 1)
Div(u8, 1) : i8
*** Warning: (4,6) Node: u8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : Div(Num<i8>(u8), 1)
Reducer: Num<i8>(u8)
###
> Div(u4, 1)
Div(u4, 1) : i8
Binder : Div(Num<i8>(u4), 1)
Reducer: Num<i8>(u4)
###
> Div(u2, 1)
Div(u2, 1) : i8
Binder : Div(Num<i8>(u2), 1)
Reducer: Num<i8>(u2)
###
> Div(u1, 1)
Div(u1, 1) : i8
Binder : Div(Num<i8>(u1), 1)
Reducer: Num<i8>(u1)
###
> Div(qd, 1)
Div(qd, 1) : i8?
*** Error: (4,6) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : Guard(?1: qd, Div(Error(ErrBadType_Src_Dst), 1))
Reducer: Guard(?1: qd, Error(ErrBadType_Src_Dst))
###
> Div(qb, 1)
Div(qb, 1) : i8?
Binder : Guard(?1: qb, Div(Num<i8>(?1), 1))
Reducer: Guard(?1: qb, Num<i8>(?1))
###
> Div(qn, 1)
Div(qn, 1) : r8?
Binder : Guard(?1: qn, Div(?1, 1))
###
> Div(qr8, 1)
Div(qr8, 1) : r8?
Binder : Guard(?1: qr8, Div(?1, 1))
###
> Div(qr4, 1)
Div(qr4, 1) : r8?
Binder : Guard(?1: qr4, Div(Num<r8>(?1), 1))
###
> Div(qi, 1)
Div(qi, 1) : i?
Binder : Guard(?1: qi, Div(?1, 1))
Reducer: qi
###
> Div(qi8, 1)
Div(qi8, 1) : i8?
Binder : Guard(?1: qi8, Div(?1, 1))
Reducer: qi8
###
> Div(qi4, 1)
Div(qi4, 1) : i8?
Binder : Guard(?1: qi4, Div(Num<i8>(?1), 1))
Reducer: Guard(?1: qi4, Num<i8>(?1))
###
> Div(qi2, 1)
Div(qi2, 1) : i8?
Binder : Guard(?1: qi2, Div(Num<i8>(?1), 1))
Reducer: Guard(?1: qi2, Num<i8>(?1))
###
> Div(qi1, 1)
Div(qi1, 1) : i8?
Binder : Guard(?1: qi1, Div(Num<i8>(?1), 1))
Reducer: Guard(?1: qi1, Num<i8>(?1))
###
> Div(qu8, 1)
Div(qu8, 1) : i8?
*** Warning: (4,7) Node: qu8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : Guard(?1: qu8, Div(Num<i8>(?1), 1))
Reducer: Guard(?1: qu8, Num<i8>(?1))
###
> Div(qu4, 1)
Div(qu4, 1) : i8?
Binder : Guard(?1: qu4, Div(Num<i8>(?1), 1))
Reducer: Guard(?1: qu4, Num<i8>(?1))
###
> Div(qu2, 1)
Div(qu2, 1) : i8?
Binder : Guard(?1: qu2, Div(Num<i8>(?1), 1))
Reducer: Guard(?1: qu2, Num<i8>(?1))
###
> Div(qu1, 1)
Div(qu1, 1) : i8?
Binder : Guard(?1: qu1, Div(Num<i8>(?1), 1))
Reducer: Guard(?1: qu1, Num<i8>(?1))
###
> Div(null, 0)
Div(null, 0) : i8?
Binder : Guard(?1: null, Div(Unit<i8>(?1), 0))
Reducer: null
###
> Div(g, 0)
Div(g, 0) : i8
*** Error: (4,5) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i8'
Binder : Div(Error(ErrBadType_Src_Dst), 0)
Reducer: 0
###
> Div(o, 0)
Div(o, 0) : i8?
Binder : Guard(?1: o, Div(Unit<i8>(?1), 0))
Reducer: null
###
> Div(s, 0)
Div(s, 0) : i8
*** Error: (4,5) Node: s, Message: Invalid operand type: cannot convert type 's' to 'i8'
Binder : Div(Error(ErrBadType_Src_Dst), 0)
Reducer: 0
###
> Div(d, 0)
Div(d, 0) : i8
*** Error: (4,5) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : Div(Error(ErrBadType_Src_Dst), 0)
Reducer: 0
###
> Div(b, 0)
Div(b, 0) : i8
Binder : Div(Num<i8>(b), 0)
Reducer: 0
###
> Div(n, 0)
Div(n, 0) : r8
Binder : Div(n, 0)
###
> Div(r8, 0)
Div(r8, 0) : r8
Binder : Div(r8, 0)
###
> Div(r4, 0)
Div(r4, 0) : r8
Binder : Div(Num<r8>(r4), 0)
###
> Div(i, 0)
Div(i, 0) : i
Binder : Div(i, 0)
Reducer: 0
###
> Div(i8, 0)
Div(i8, 0) : i8
Binder : Div(i8, 0)
Reducer: 0
###
> Div(i4, 0)
Div(i4, 0) : i8
Binder : Div(Num<i8>(i4), 0)
Reducer: 0
###
> Div(i2, 0)
Div(i2, 0) : i8
Binder : Div(Num<i8>(i2), 0)
Reducer: 0
###
> Div(i1, 0)
Div(i1, 0) : i8
Binder : Div(Num<i8>(i1), 0)
Reducer: 0
###
> Div(u8, 0)
Div(u8, 0) : i8
*** Warning: (4,6) Node: u8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : Div(Num<i8>(u8), 0)
Reducer: 0
###
> Div(u4, 0)
Div(u4, 0) : i8
Binder : Div(Num<i8>(u4), 0)
Reducer: 0
###
> Div(u2, 0)
Div(u2, 0) : i8
Binder : Div(Num<i8>(u2), 0)
Reducer: 0
###
> Div(u1, 0)
Div(u1, 0) : i8
Binder : Div(Num<i8>(u1), 0)
Reducer: 0
###
> Div(qd, 0)
Div(qd, 0) : i8?
*** Error: (4,6) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : Guard(?1: qd, Div(Error(ErrBadType_Src_Dst), 0))
Reducer: Guard(?1: qd, 0)
###
> Div(qb, 0)
Div(qb, 0) : i8?
Binder : Guard(?1: qb, Div(Num<i8>(?1), 0))
Reducer: Guard(?1: qb, 0)
###
> Div(qn, 0)
Div(qn, 0) : r8?
Binder : Guard(?1: qn, Div(?1, 0))
###
> Div(qr8, 0)
Div(qr8, 0) : r8?
Binder : Guard(?1: qr8, Div(?1, 0))
###
> Div(qr4, 0)
Div(qr4, 0) : r8?
Binder : Guard(?1: qr4, Div(Num<r8>(?1), 0))
###
> Div(qi, 0)
Div(qi, 0) : i?
Binder : Guard(?1: qi, Div(?1, 0))
Reducer: Guard(?1: qi, 0)
###
> Div(qi8, 0)
Div(qi8, 0) : i8?
Binder : Guard(?1: qi8, Div(?1, 0))
Reducer: Guard(?1: qi8, 0)
###
> Div(qi4, 0)
Div(qi4, 0) : i8?
Binder : Guard(?1: qi4, Div(Num<i8>(?1), 0))
Reducer: Guard(?1: qi4, 0)
###
> Div(qi2, 0)
Div(qi2, 0) : i8?
Binder : Guard(?1: qi2, Div(Num<i8>(?1), 0))
Reducer: Guard(?1: qi2, 0)
###
> Div(qi1, 0)
Div(qi1, 0) : i8?
Binder : Guard(?1: qi1, Div(Num<i8>(?1), 0))
Reducer: Guard(?1: qi1, 0)
###
> Div(qu8, 0)
Div(qu8, 0) : i8?
*** Warning: (4,7) Node: qu8, Message: Conversion from unsigned to signed integer can reinterpret large values as negative
Binder : Guard(?1: qu8, Div(Num<i8>(?1), 0))
Reducer: Guard(?1: qu8, 0)
###
> Div(qu4, 0)
Div(qu4, 0) : i8?
Binder : Guard(?1: qu4, Div(Num<i8>(?1), 0))
Reducer: Guard(?1: qu4, 0)
###
> Div(qu2, 0)
Div(qu2, 0) : i8?
Binder : Guard(?1: qu2, Div(Num<i8>(?1), 0))
Reducer: Guard(?1: qu2, 0)
###
> Div(qu1, 0)
Div(qu1, 0) : i8?
Binder : Guard(?1: qu1, Div(Num<i8>(?1), 0))
Reducer: Guard(?1: qu1, 0)
###
