**** 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}

> CastI1(g)
CastI1(g) : i1
*** Error: (7,8) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i1'
Binder : CastI1*(Error(ErrBadType_Src_Dst))
Reducer: Error(ErrBadType_Src_Dst)
###
> CastI1(o)
CastI1(o) : i1?
Binder : Guard(?1: o, CastI1*(Unit<i1>(?1)))
Reducer: null
###
> CastI1(s)
CastI1(s) : i1
Binder : CastI1(s)
###
> CastI1(b)
CastI1(b) : i1
Binder : CastI1*(b)
Reducer: Num<i1>(b)
###
> CastI1(d)
CastI1(d) : i1
Binder : CastI1*(d)
Reducer: CastI1(Date.TotalTicks(d))
###
> CastI1(n)
CastI1(n) : i1
Binder : CastI1(n)
###
> CastI1(r8)
CastI1(r8) : i1
Binder : CastI1(r8)
###
> CastI1(r4)
CastI1(r4) : i1
Binder : CastI1(r4)
###
> CastI1(i)
CastI1(i) : i1
Binder : CastI1(i)
###
> CastI1(i8)
CastI1(i8) : i1
Binder : CastI1(i8)
###
> CastI1(i4)
CastI1(i4) : i1
Binder : CastI1(i4)
###
> CastI1(i2)
CastI1(i2) : i1
Binder : CastI1(i2)
###
> CastI1(i1)
CastI1(i1) : i1
Binder : CastI1*(i1)
Reducer: i1
###
> CastI1(u8)
CastI1(u8) : i1
Binder : CastI1(u8)
###
> CastI1(u4)
CastI1(u4) : i1
Binder : CastI1(u4)
###
> CastI1(u2)
CastI1(u2) : i1
Binder : CastI1(u2)
###
> CastI1(u1)
CastI1(u1) : i1
Binder : CastI1(u1)
###
> CastI1(qb)
CastI1(qb) : i1?
Binder : Guard(?1: qb, CastI1*(?1))
Reducer: Guard(?1: qb, Num<i1>(?1))
###
> CastI1(qd)
CastI1(qd) : i1?
Binder : Guard(?1: qd, CastI1*(?1))
Reducer: Guard(?1: qd, CastI1(Date.TotalTicks(?1)))
###
> CastI1(qn)
CastI1(qn) : i1?
Binder : Guard(?1: qn, CastI1(?1))
###
> CastI1(qr8)
CastI1(qr8) : i1?
Binder : Guard(?1: qr8, CastI1(?1))
###
> CastI1(qr4)
CastI1(qr4) : i1?
Binder : Guard(?1: qr4, CastI1(?1))
###
> CastI1(qi)
CastI1(qi) : i1?
Binder : Guard(?1: qi, CastI1(?1))
###
> CastI1(qi8)
CastI1(qi8) : i1?
Binder : Guard(?1: qi8, CastI1(?1))
###
> CastI1(qi4)
CastI1(qi4) : i1?
Binder : Guard(?1: qi4, CastI1(?1))
###
> CastI1(qi2)
CastI1(qi2) : i1?
Binder : Guard(?1: qi2, CastI1(?1))
###
> CastI1(qi1)
CastI1(qi1) : i1?
Binder : Guard(?1: qi1, CastI1*(?1))
Reducer: qi1
###
> CastI1(qu8)
CastI1(qu8) : i1?
Binder : Guard(?1: qu8, CastI1(?1))
###
> CastI1(qu4)
CastI1(qu4) : i1?
Binder : Guard(?1: qu4, CastI1(?1))
###
> CastI1(qu2)
CastI1(qu2) : i1?
Binder : Guard(?1: qu2, CastI1(?1))
###
> CastI1(qu1)
CastI1(qu1) : i1?
Binder : Guard(?1: qu1, CastI1(?1))
###

**** 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*}

> CastI1(g)
CastI1(g) : i1*
*** Error: (7,8) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i1'
Binder : ForEach(*1: g, CastI1*(Error(ErrBadType_Src_Dst)))
Reducer: ForEach(*1: g, Error(ErrBadType_Src_Dst))
###
> CastI1(o)
CastI1(o) : i1?*
Binder : ForEach(*1: o, Guard(?2: *1, CastI1*(Unit<i1>(?2))))
Reducer: ForEach(*1: o, null)
###
> CastI1(s)
CastI1(s) : i1*
Binder : ForEach(*1: s, CastI1(*1))
###
> CastI1(b)
CastI1(b) : i1*
Binder : ForEach(*1: b, CastI1*(*1))
Reducer: ForEach(*1: b, Num<i1>(*1))
###
> CastI1(d)
CastI1(d) : i1*
Binder : ForEach(*1: d, CastI1*(*1))
Reducer: ForEach(*1: d, CastI1(Date.TotalTicks(*1)))
###
> CastI1(n)
CastI1(n) : i1*
Binder : ForEach(*1: n, CastI1(*1))
###
> CastI1(r8)
CastI1(r8) : i1*
Binder : ForEach(*1: r8, CastI1(*1))
###
> CastI1(r4)
CastI1(r4) : i1*
Binder : ForEach(*1: r4, CastI1(*1))
###
> CastI1(i)
CastI1(i) : i1*
Binder : ForEach(*1: i, CastI1(*1))
###
> CastI1(i8)
CastI1(i8) : i1*
Binder : ForEach(*1: i8, CastI1(*1))
###
> CastI1(i4)
CastI1(i4) : i1*
Binder : ForEach(*1: i4, CastI1(*1))
###
> CastI1(i2)
CastI1(i2) : i1*
Binder : ForEach(*1: i2, CastI1(*1))
###
> CastI1(i1)
CastI1(i1) : i1*
Binder : ForEach(*1: i1, CastI1*(*1))
Reducer: i1
###
> CastI1(u8)
CastI1(u8) : i1*
Binder : ForEach(*1: u8, CastI1(*1))
###
> CastI1(u4)
CastI1(u4) : i1*
Binder : ForEach(*1: u4, CastI1(*1))
###
> CastI1(u2)
CastI1(u2) : i1*
Binder : ForEach(*1: u2, CastI1(*1))
###
> CastI1(u1)
CastI1(u1) : i1*
Binder : ForEach(*1: u1, CastI1(*1))
###
> CastI1(qb)
CastI1(qb) : i1?*
Binder : ForEach(*1: qb, Guard(?2: *1, CastI1*(?2)))
Reducer: ForEach(*1: qb, Guard(?2: *1, Num<i1>(?2)))
###
> CastI1(qd)
CastI1(qd) : i1?*
Binder : ForEach(*1: qd, Guard(?2: *1, CastI1*(?2)))
Reducer: ForEach(*1: qd, Guard(?2: *1, CastI1(Date.TotalTicks(?2))))
###
> CastI1(qn)
CastI1(qn) : i1?*
Binder : ForEach(*1: qn, Guard(?2: *1, CastI1(?2)))
###
> CastI1(qr8)
CastI1(qr8) : i1?*
Binder : ForEach(*1: qr8, Guard(?2: *1, CastI1(?2)))
###
> CastI1(qr4)
CastI1(qr4) : i1?*
Binder : ForEach(*1: qr4, Guard(?2: *1, CastI1(?2)))
###
> CastI1(qi)
CastI1(qi) : i1?*
Binder : ForEach(*1: qi, Guard(?2: *1, CastI1(?2)))
###
> CastI1(qi8)
CastI1(qi8) : i1?*
Binder : ForEach(*1: qi8, Guard(?2: *1, CastI1(?2)))
###
> CastI1(qi4)
CastI1(qi4) : i1?*
Binder : ForEach(*1: qi4, Guard(?2: *1, CastI1(?2)))
###
> CastI1(qi2)
CastI1(qi2) : i1?*
Binder : ForEach(*1: qi2, Guard(?2: *1, CastI1(?2)))
###
> CastI1(qi1)
CastI1(qi1) : i1?*
Binder : ForEach(*1: qi1, Guard(?2: *1, CastI1*(?2)))
Reducer: qi1
###
> CastI1(qu8)
CastI1(qu8) : i1?*
Binder : ForEach(*1: qu8, Guard(?2: *1, CastI1(?2)))
###
> CastI1(qu4)
CastI1(qu4) : i1?*
Binder : ForEach(*1: qu4, Guard(?2: *1, CastI1(?2)))
###
> CastI1(qu2)
CastI1(qu2) : i1?*
Binder : ForEach(*1: qu2, Guard(?2: *1, CastI1(?2)))
###
> CastI1(qu1)
CastI1(qu1) : i1?*
Binder : ForEach(*1: qu1, Guard(?2: *1, CastI1(?2)))
###
> CastI1(false)
CastI1(false) : i1
Binder : CastI1*(false)
Reducer: 0
###
> CastI1(true)
CastI1(true) : i1
Binder : CastI1*(true)
Reducer: 1
###
> CastShort(i)
CastShort(i) : i4*
Binder : ForEach(*1: i, CastI4(*1))
###
> CastInt(i)
CastInt(i) : i8*
Binder : ForEach(*1: i, CastI8(*1))
###
> CastReal(i)
CastReal(i) : r8*
Binder : ForEach(*1: i, CastR8*(*1))
Reducer: ForEach(*1: i, Num<r8>(*1))
###
> CastI1(0x80i1)
CastI1(128) : i1
Binder : CastI1*(-128)
Reducer: -128
###
> CastI2(0x80i1)
CastI2(128) : i2
Binder : CastI2*(-128)
Reducer: -128
###
> CastI4(0x80i1)
CastI4(128) : i4
Binder : CastI4*(-128)
Reducer: -128
###
> CastI8(0x80i1)
CastI8(128) : i8
Binder : CastI8*(-128)
Reducer: -128
###
> CastI1(0xFFi1)
CastI1(255) : i1
Binder : CastI1*(-1)
Reducer: -1
###
> CastI2(0xFFi1)
CastI2(255) : i2
Binder : CastI2*(-1)
Reducer: -1
###
> CastI4(0xFFi1)
CastI4(255) : i4
Binder : CastI4*(-1)
Reducer: -1
###
> CastI8(0xFFi1)
CastI8(255) : i8
Binder : CastI8*(-1)
Reducer: -1
###
> CastI1(0x8000i2)
CastI1(32768) : i1
Binder : CastI1(-32768)
Reducer: 0
###
> CastI2(0x8000i2)
CastI2(32768) : i2
Binder : CastI2*(-32768)
Reducer: -32768
###
> CastI4(0x8000i2)
CastI4(32768) : i4
Binder : CastI4*(-32768)
Reducer: -32768
###
> CastI8(0x8000i2)
CastI8(32768) : i8
Binder : CastI8*(-32768)
Reducer: -32768
###
> CastI1(0xFFFFi2)
CastI1(65535) : i1
Binder : CastI1(-1)
Reducer: -1
###
> CastI2(0xFFFFi2)
CastI2(65535) : i2
Binder : CastI2*(-1)
Reducer: -1
###
> CastI4(0xFFFFi2)
CastI4(65535) : i4
Binder : CastI4*(-1)
Reducer: -1
###
> CastI8(0xFFFFi2)
CastI8(65535) : i8
Binder : CastI8*(-1)
Reducer: -1
###
> CastI1(0x80000000i4)
CastI1(2147483648) : i1
Binder : CastI1(-2147483648)
Reducer: 0
###
> CastI2(0x80000000i4)
CastI2(2147483648) : i2
Binder : CastI2(-2147483648)
Reducer: 0
###
> CastI4(0x80000000i4)
CastI4(2147483648) : i4
Binder : CastI4*(-2147483648)
Reducer: -2147483648
###
> CastI8(0x80000000i4)
CastI8(2147483648) : i8
Binder : CastI8*(-2147483648)
Reducer: -2147483648
###
> CastI1(0xFFFFFFFFi4)
CastI1(4294967295) : i1
Binder : CastI1(-1)
Reducer: -1
###
> CastI2(0xFFFFFFFFi4)
CastI2(4294967295) : i2
Binder : CastI2(-1)
Reducer: -1
###
> CastI4(0xFFFFFFFFi4)
CastI4(4294967295) : i4
Binder : CastI4*(-1)
Reducer: -1
###
> CastI8(0xFFFFFFFFi4)
CastI8(4294967295) : i8
Binder : CastI8*(-1)
Reducer: -1
###
> CastI1(0x8000000000000000i8)
CastI1(9223372036854775808) : i1
Binder : CastI1(-9223372036854775808)
Reducer: 0
###
> CastI2(0x8000000000000000i8)
CastI2(9223372036854775808) : i2
Binder : CastI2(-9223372036854775808)
Reducer: 0
###
> CastI4(0x8000000000000000i8)
CastI4(9223372036854775808) : i4
Binder : CastI4(-9223372036854775808)
Reducer: 0
###
> CastI8(0x8000000000000000i8)
CastI8(9223372036854775808) : i8
Binder : CastI8*(-9223372036854775808)
Reducer: -9223372036854775808
###
> CastI1(0xFFFFFFFFFFFFFFFFi8)
CastI1(18446744073709551615) : i1
Binder : CastI1(-1)
Reducer: -1
###
> CastI2(0xFFFFFFFFFFFFFFFFi8)
CastI2(18446744073709551615) : i2
Binder : CastI2(-1)
Reducer: -1
###
> CastI4(0xFFFFFFFFFFFFFFFFi8)
CastI4(18446744073709551615) : i4
Binder : CastI4(-1)
Reducer: -1
###
> CastI8(0xFFFFFFFFFFFFFFFFi8)
CastI8(18446744073709551615) : i8
Binder : CastI8*(-1)
Reducer: -1
###
> CastI1(0x7Fi1)
CastI1(127) : i1
Binder : CastI1*(127)
Reducer: 127
###
> CastI2(0x7Fi1)
CastI2(127) : i2
Binder : CastI2*(127)
Reducer: 127
###
> CastI4(0x7Fi1)
CastI4(127) : i4
Binder : CastI4*(127)
Reducer: 127
###
> CastI8(0x7Fi2)
CastI8(127) : i8
Binder : CastI8*(127)
Reducer: 127
###
> CastI1(0x7FFFi2)
CastI1(32767) : i1
Binder : CastI1(32767)
Reducer: -1
###
> CastI2(0x7FFFi2)
CastI2(32767) : i2
Binder : CastI2*(32767)
Reducer: 32767
###
> CastI4(0x7FFFi2)
CastI4(32767) : i4
Binder : CastI4*(32767)
Reducer: 32767
###
> CastI8(0x7FFFi2)
CastI8(32767) : i8
Binder : CastI8*(32767)
Reducer: 32767
###
> CastI1(0x7FFFFFFFi4)
CastI1(2147483647) : i1
Binder : CastI1(2147483647)
Reducer: -1
###
> CastI2(0x7FFFFFFFi4)
CastI2(2147483647) : i2
Binder : CastI2(2147483647)
Reducer: -1
###
> CastI4(0x7FFFFFFFi4)
CastI4(2147483647) : i4
Binder : CastI4*(2147483647)
Reducer: 2147483647
###
> CastI8(0x7FFFFFFFi4)
CastI8(2147483647) : i8
Binder : CastI8*(2147483647)
Reducer: 2147483647
###
> CastI1(0x7FFFFFFFFFFFFFFFi8)
CastI1(9223372036854775807) : i1
Binder : CastI1(9223372036854775807)
Reducer: -1
###
> CastI2(0x7FFFFFFFFFFFFFFFi8)
CastI2(9223372036854775807) : i2
Binder : CastI2(9223372036854775807)
Reducer: -1
###
> CastI4(0x7FFFFFFFFFFFFFFFi8)
CastI4(9223372036854775807) : i4
Binder : CastI4(9223372036854775807)
Reducer: -1
###
> CastI8(0x7FFFFFFFFFFFFFFFi8)
CastI8(9223372036854775807) : i8
Binder : CastI8*(9223372036854775807)
Reducer: 9223372036854775807
###
> CastI2(32767.9)
CastI2(32767.9) : i2
Binder : CastI2(32767.9)
Reducer: 32767
###
> CastI2(32768.8)
CastI2(32768.8) : i2
Binder : CastI2(32768.8)
Reducer: -32768
###
> CastI2(-123.456)
CastI2(-123.456) : i2
Binder : CastI2(-123.456)
Reducer: -123
###
> CastI2(-0.0)
CastI2(-0) : i2
Binder : CastI2(-0)
Reducer: 0
###
> CastU1(0.1)
CastU1(0.1) : u1
Binder : CastU1(0.1)
Reducer: 0
###
> CastI1(0.1)
CastI1(0.1) : i1
Binder : CastI1(0.1)
Reducer: 0
###
> CastU1(-0.1)
CastU1(-0.1) : u1
Binder : CastU1(-0.1)
Reducer: 0
###
> CastI1(-0.1)
CastI1(-0.1) : i1
Binder : CastI1(-0.1)
Reducer: 0
###
> CastU2(1e-10)
CastU2(1E-10) : u2
Binder : CastU2(1E-10)
Reducer: 0
###
> CastU1(1 - 1e-10)
CastU1(1 - 1E-10) : u1
Binder : CastU1(Add(1, [-] 1E-10))
Reducer: 0
###
> CastI1(1 - 1e-10)
CastI1(1 - 1E-10) : i1
Binder : CastI1(Add(1, [-] 1E-10))
Reducer: 0
###
> CastU2(1 - 1e-10)
CastU2(1 - 1E-10) : u2
Binder : CastU2(Add(1, [-] 1E-10))
Reducer: 0
###
> CastI2(1 - 1e-10)
CastI2(1 - 1E-10) : i2
Binder : CastI2(Add(1, [-] 1E-10))
Reducer: 0
###
> CastU4(1 - 1e-10)
CastU4(1 - 1E-10) : u4
Binder : CastU4(Add(1, [-] 1E-10))
Reducer: 0
###
> CastI4(1 - 1e-10)
CastI4(1 - 1E-10) : i4
Binder : CastI4(Add(1, [-] 1E-10))
Reducer: 0
###
> CastU8(1 - 1e-10)
CastU8(1 - 1E-10) : u8
Binder : CastU8(Add(1, [-] 1E-10))
Reducer: 0
###
> CastI8(1 - 1e-10)
CastI8(1 - 1E-10) : i8
Binder : CastI8(Add(1, [-] 1E-10))
Reducer: 0
###
> CastU1(-1 + 1e-10)
CastU1(-1 + 1E-10) : u1
Binder : CastU1(Add(-1, 1E-10))
Reducer: 0
###
> CastI1(-1 + 1e-10)
CastI1(-1 + 1E-10) : i1
Binder : CastI1(Add(-1, 1E-10))
Reducer: 0
###
> CastU2(-1 + 1e-10)
CastU2(-1 + 1E-10) : u2
Binder : CastU2(Add(-1, 1E-10))
Reducer: 0
###
> CastI2(-1 + 1e-10)
CastI2(-1 + 1E-10) : i2
Binder : CastI2(Add(-1, 1E-10))
Reducer: 0
###
> CastU4(-1 + 1e-10)
CastU4(-1 + 1E-10) : u4
Binder : CastU4(Add(-1, 1E-10))
Reducer: 0
###
> CastI4(-1 + 1e-10)
CastI4(-1 + 1E-10) : i4
Binder : CastI4(Add(-1, 1E-10))
Reducer: 0
###
> CastU8(-1 + 1e-10)
CastU8(-1 + 1E-10) : u8
Binder : CastU8(Add(-1, 1E-10))
Reducer: 0
###
> CastI8(-1 + 1e-10)
CastI8(-1 + 1E-10) : i8
Binder : CastI8(Add(-1, 1E-10))
Reducer: 0
###
> CastI1(2e300)
CastI1(2E+300) : i1
Binder : CastI1(2E+300)
Reducer: 0
###
> CastI8(2e300)
CastI8(2E+300) : i8
Binder : CastI8(2E+300)
Reducer: 0
###
> CastU1(2e300)
CastU1(2E+300) : u1
Binder : CastU1(2E+300)
Reducer: 0
###
> CastU8(2e300)
CastU8(2E+300) : u8
Binder : CastU8(2E+300)
Reducer: 0
###
> CastR4(2e300)
CastR4(2E+300) : r4
Binder : CastR4(2E+300)
Reducer: ∞
###
> CastR8(2e300)
CastR8(2E+300) : r8
Binder : CastR8*(2E+300)
Reducer: 2E+300
###
> CastI1(2e-310)
CastI1(2E-310) : i1
Binder : CastI1(2E-310)
Reducer: 0
###
> CastI8(2e-310)
CastI8(2E-310) : i8
Binder : CastI8(2E-310)
Reducer: 0
###
> CastU1(2e-310)
CastU1(2E-310) : u1
Binder : CastU1(2E-310)
Reducer: 0
###
> CastU8(2e-310)
CastU8(2E-310) : u8
Binder : CastU8(2E-310)
Reducer: 0
###
> CastR4(2e-310)
CastR4(2E-310) : r4
Binder : CastR4(2E-310)
Reducer: 0
###
> CastR8(2e-310)
CastR8(2E-310) : r8
Binder : CastR8*(2E-310)
Reducer: 2E-310
###
> CastI1(-2e300)
CastI1(-2E+300) : i1
Binder : CastI1(-2E+300)
Reducer: 0
###
> CastI8(-2e300)
CastI8(-2E+300) : i8
Binder : CastI8(-2E+300)
Reducer: 0
###
> CastU1(-2e300)
CastU1(-2E+300) : u1
Binder : CastU1(-2E+300)
Reducer: 0
###
> CastU8(-2e300)
CastU8(-2E+300) : u8
Binder : CastU8(-2E+300)
Reducer: 0
###
> CastR4(-2e300)
CastR4(-2E+300) : r4
Binder : CastR4(-2E+300)
Reducer: -∞
###
> CastR8(-2e300)
CastR8(-2E+300) : r8
Binder : CastR8*(-2E+300)
Reducer: -2E+300
###
> CastI1(-2e-310)
CastI1(-2E-310) : i1
Binder : CastI1(-2E-310)
Reducer: 0
###
> CastI8(-2e-310)
CastI8(-2E-310) : i8
Binder : CastI8(-2E-310)
Reducer: 0
###
> CastU1(-2e-310)
CastU1(-2E-310) : u1
Binder : CastU1(-2E-310)
Reducer: 0
###
> CastU8(-2e-310)
CastU8(-2E-310) : u8
Binder : CastU8(-2E-310)
Reducer: 0
###
> CastR4(-2e-310)
CastR4(-2E-310) : r4
Binder : CastR4(-2E-310)
Reducer: -0
###
> CastR8(-2e-310)
CastR8(-2E-310) : r8
Binder : CastR8*(-2E-310)
Reducer: -2E-310
###
> CastI1(-50)
CastI1(-50) : i1
Binder : CastI1(-50)
Reducer: -50
###
> CastI1(50)
CastI1(50) : i1
Binder : CastI1(50)
Reducer: 50
###
> CastU1(50)
CastU1(50) : u1
Binder : CastU1(50)
Reducer: 50
###
> CastU1(-50)
CastU1(-50) : u1
Binder : CastU1(-50)
Reducer: 206
###
> CastR4(50)
CastR4(50) : r4
Binder : CastR4*(50)
Reducer: 50
###
> CastR8(-50)
CastR8(-50) : r8
Binder : CastR8*(-50)
Reducer: -50
###
> CastI1(Null(317i4))
CastI1(Null(317)) : i1?
Binder : Guard(?1: DefOpt*(317), CastI1(?1))
Reducer: null
###
> CastI1(Opt(317i4))
CastI1(Opt(317)) : i1?
Binder : Guard(?1: Opt*(317), CastI1(?1))
Reducer: Opt<i1?>(61)
###
> CastI1(0x0123456789ABCDEF)
CastI1(81985529216486895) : i1
Binder : CastI1(81985529216486895)
Reducer: -17
###
> CastI2(0x0123456789ABCDEF)
CastI2(81985529216486895) : i2
Binder : CastI2(81985529216486895)
Reducer: -12817
###
> CastI4(0x0123456789ABCDEF)
CastI4(81985529216486895) : i4
Binder : CastI4(81985529216486895)
Reducer: -1985229329
###
> CastI8(0x0123456789ABCDEF)
CastI8(81985529216486895) : i8
Binder : CastI8*(81985529216486895)
Reducer: 81985529216486895
###
> CastI1(0xFEDCBA9876543210)
CastI1(18364758544493064720) : i1
Binder : CastI1(18364758544493064720)
Reducer: 16
###
> CastI2(0xFEDCBA9876543210)
CastI2(18364758544493064720) : i2
Binder : CastI2(18364758544493064720)
Reducer: 12816
###
> CastI4(0xFEDCBA9876543210)
CastI4(18364758544493064720) : i4
Binder : CastI4(18364758544493064720)
Reducer: 1985229328
###
> CastI8(0xFEDCBA9876543210)
CastI8(18364758544493064720) : i8
Binder : CastI8(18364758544493064720)
Reducer: -81985529216486896
###
> CastI1(128u)
CastI1(128) : i1
Binder : CastI1(128)
Reducer: -128
###
> CastI1(-128u)
CastI1(-128) : i1
Binder : CastI1(-128)
Reducer: -128
###
> CastR8(false)
CastR8(false) : r8
Binder : CastR8*(false)
Reducer: 0
###
> CastR8(true)
CastR8(true) : r8
Binder : CastR8*(true)
Reducer: 1
###
> CastU1(0x80i1)
CastU1(128) : u1
Binder : CastU1(-128)
Reducer: 128
###
> CastU2(0x80i1)
CastU2(128) : u2
Binder : CastU2(-128)
Reducer: 65408
###
> CastU4(0x80i1)
CastU4(128) : u4
Binder : CastU4(-128)
Reducer: 4294967168
###
> CastU8(0x80i1)
CastU8(128) : u8
Binder : CastU8(-128)
Reducer: 18446744073709551488
###
> CastR4(0x80i1)
CastR4(128) : r4
Binder : CastR4*(-128)
Reducer: -128
###
> CastR8(0x80i1)
CastR8(128) : r8
Binder : CastR8*(-128)
Reducer: -128
###
> CastR4(-4e40)
CastR4(-4E+40) : r4
Binder : CastR4(-4E+40)
Reducer: -∞
###
> CastR4(4e40)
CastR4(4E+40) : r4
Binder : CastR4(4E+40)
Reducer: ∞
###
> CastR4(-4e-46)
CastR4(-4E-46) : r4
Binder : CastR4(-4E-46)
Reducer: -0
###
> CastR4(4e-46)
CastR4(4E-46) : r4
Binder : CastR4(4E-46)
Reducer: 0
###
> CastR4(4e30)
CastR4(4E+30) : r4
Binder : CastR4(4E+30)
Reducer: 4.000000060189865E+30
###
> CastR4(-4e-40)
CastR4(-4E-40) : r4
Binder : CastR4(-4E-40)
Reducer: -4.00000646641519E-40
###
> CastR4(4e-40)
CastR4(4E-40) : r4
Binder : CastR4(4E-40)
Reducer: 4.00000646641519E-40
###
> CastR8(-0.0e-10)
CastR8(-0) : r8
Binder : CastR8*(-0)
Reducer: -0
###
> CastI1(0/0)
CastI1(0 / 0) : i1
Binder : CastI1(Mul(0, [/] 0))
Reducer: 0
###
> CastI2(0/0)
CastI2(0 / 0) : i2
Binder : CastI2(Mul(0, [/] 0))
Reducer: 0
###
> CastI4(0/0)
CastI4(0 / 0) : i4
Binder : CastI4(Mul(0, [/] 0))
Reducer: 0
###
> CastI8(0/0)
CastI8(0 / 0) : i8
Binder : CastI8(Mul(0, [/] 0))
Reducer: 0
###
> CastU1(0/0)
CastU1(0 / 0) : u1
Binder : CastU1(Mul(0, [/] 0))
Reducer: 0
###
> CastU2(0/0)
CastU2(0 / 0) : u2
Binder : CastU2(Mul(0, [/] 0))
Reducer: 0
###
> CastU4(0/0)
CastU4(0 / 0) : u4
Binder : CastU4(Mul(0, [/] 0))
Reducer: 0
###
> CastU8(0/0)
CastU8(0 / 0) : u8
Binder : CastU8(Mul(0, [/] 0))
Reducer: 0
###
> CastR4(0/0)
CastR4(0 / 0) : r4
Binder : CastR4(Mul(0, [/] 0))
Reducer: NaN
###
> CastR8(0/0)
CastR8(0 / 0) : r8
Binder : CastR8*(Mul(0, [/] 0))
Reducer: NaN
###
> CastI1(1/0)
CastI1(1 / 0) : i1
Binder : CastI1(Mul(1, [/] 0))
Reducer: 0
###
> CastI2(1/0)
CastI2(1 / 0) : i2
Binder : CastI2(Mul(1, [/] 0))
Reducer: 0
###
> CastI4(1/0)
CastI4(1 / 0) : i4
Binder : CastI4(Mul(1, [/] 0))
Reducer: 0
###
> CastI8(1/0)
CastI8(1 / 0) : i8
Binder : CastI8(Mul(1, [/] 0))
Reducer: 0
###
> CastU1(1/0)
CastU1(1 / 0) : u1
Binder : CastU1(Mul(1, [/] 0))
Reducer: 0
###
> CastU2(1/0)
CastU2(1 / 0) : u2
Binder : CastU2(Mul(1, [/] 0))
Reducer: 0
###
> CastU4(1/0)
CastU4(1 / 0) : u4
Binder : CastU4(Mul(1, [/] 0))
Reducer: 0
###
> CastU8(1/0)
CastU8(1 / 0) : u8
Binder : CastU8(Mul(1, [/] 0))
Reducer: 0
###
> CastR4(1/0)
CastR4(1 / 0) : r4
Binder : CastR4(Mul(1, [/] 0))
Reducer: ∞
###
> CastR8(1/0)
CastR8(1 / 0) : r8
Binder : CastR8*(Mul(1, [/] 0))
Reducer: ∞
###
> CastI1(-1/0)
CastI1(-1 / 0) : i1
Binder : CastI1(Mul(-1, [/] 0))
Reducer: 0
###
> CastI2(-1/0)
CastI2(-1 / 0) : i2
Binder : CastI2(Mul(-1, [/] 0))
Reducer: 0
###
> CastI4(-1/0)
CastI4(-1 / 0) : i4
Binder : CastI4(Mul(-1, [/] 0))
Reducer: 0
###
> CastI8(-1/0)
CastI8(-1 / 0) : i8
Binder : CastI8(Mul(-1, [/] 0))
Reducer: 0
###
> CastU1(-1/0)
CastU1(-1 / 0) : u1
Binder : CastU1(Mul(-1, [/] 0))
Reducer: 0
###
> CastU2(-1/0)
CastU2(-1 / 0) : u2
Binder : CastU2(Mul(-1, [/] 0))
Reducer: 0
###
> CastU4(-1/0)
CastU4(-1 / 0) : u4
Binder : CastU4(Mul(-1, [/] 0))
Reducer: 0
###
> CastU8(-1/0)
CastU8(-1 / 0) : u8
Binder : CastU8(Mul(-1, [/] 0))
Reducer: 0
###
> CastR4(-1/0)
CastR4(-1 / 0) : r4
Binder : CastR4(Mul(-1, [/] 0))
Reducer: -∞
###
> CastR8(-1/0)
CastR8(-1 / 0) : r8
Binder : CastR8*(Mul(-1, [/] 0))
Reducer: -∞
###
