**** New globals: {b:b, d:d, g:g, i:i, i1:i1, i2:i2, i4:i4, i8:i8, n:r8, r4:r4, r8:r8, s:s, t:t, u1:u1, u2:u2, u4:u4, u8:u8, v:v}

> ToR4(g)
ToR4(g) : r4?
*** Error: (5,6) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : ToR4(Error(ErrBadType_Src_Dst))
###
> ToR4(s)
ToR4(s) : r4?
Binder : ToR4(s)
###
> ToR4(v)
ToR4(v) : r4
Binder : ToR4*(Unit<r4>(v))
Reducer: 0
###
> ToR4(b)
ToR4(b) : r4
Binder : ToR4*(b)
Reducer: Num<r4>(b)
###
> ToR4(d)
ToR4(d) : r4
Binder : ToR4*(d)
Reducer: Num<r4>(Date.TotalTicks(d))
###
> ToR4(t)
ToR4(t) : r4
Binder : ToR4*(t)
Reducer: Num<r4>(Time.TotalTicks(t))
###
> ToR4(n)
ToR4(n) : r4
Binder : ToR4*(n)
Reducer: CastR4(n)
###
> ToR4(r8)
ToR4(r8) : r4
Binder : ToR4*(r8)
Reducer: CastR4(r8)
###
> ToR4(r4)
ToR4(r4) : r4
Binder : ToR4*(r4)
Reducer: r4
###
> ToR4(i)
ToR4(i) : r4
Binder : ToR4*(i)
Reducer: Num<r4>(i)
###
> ToR4(i8)
ToR4(i8) : r4
Binder : ToR4*(i8)
Reducer: Num<r4>(i8)
###
> ToR4(i4)
ToR4(i4) : r4
Binder : ToR4*(i4)
Reducer: Num<r4>(i4)
###
> ToR4(i2)
ToR4(i2) : r4
Binder : ToR4*(i2)
Reducer: Num<r4>(i2)
###
> ToR4(i1)
ToR4(i1) : r4
Binder : ToR4*(i1)
Reducer: Num<r4>(i1)
###
> ToR4(u8)
ToR4(u8) : r4
Binder : ToR4*(u8)
Reducer: Num<r4>(u8)
###
> ToR4(u4)
ToR4(u4) : r4
Binder : ToR4*(u4)
Reducer: Num<r4>(u4)
###
> ToR4(u2)
ToR4(u2) : r4
Binder : ToR4*(u2)
Reducer: Num<r4>(u2)
###
> ToR4(u1)
ToR4(u1) : r4
Binder : ToR4*(u1)
Reducer: Num<r4>(u1)
###

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

> ToR4(o)
ToR4(o) : r4?
Binder : Guard(?1: o, ToR4*(Unit<r4>(?1)))
Reducer: null
###
> ToR4(qb)
ToR4(qb) : r4?
Binder : Guard(?1: qb, ToR4*(?1))
Reducer: Guard(?1: qb, Num<r4>(?1))
###
> ToR4(qd)
ToR4(qd) : r4?
Binder : Guard(?1: qd, ToR4*(?1))
Reducer: Guard(?1: qd, Num<r4>(Date.TotalTicks(?1)))
###
> ToR4(qt)
ToR4(qt) : r4?
Binder : Guard(?1: qt, ToR4*(?1))
Reducer: Guard(?1: qt, Num<r4>(Time.TotalTicks(?1)))
###
> ToR4(qn)
ToR4(qn) : r4?
Binder : Guard(?1: qn, ToR4*(?1))
Reducer: Guard(?1: qn, CastR4(?1))
###
> ToR4(qr8)
ToR4(qr8) : r4?
Binder : Guard(?1: qr8, ToR4*(?1))
Reducer: Guard(?1: qr8, CastR4(?1))
###
> ToR4(qr4)
ToR4(qr4) : r4?
Binder : Guard(?1: qr4, ToR4*(?1))
Reducer: qr4
###
> ToR4(qi)
ToR4(qi) : r4?
Binder : Guard(?1: qi, ToR4*(?1))
Reducer: Guard(?1: qi, Num<r4>(?1))
###
> ToR4(qi8)
ToR4(qi8) : r4?
Binder : Guard(?1: qi8, ToR4*(?1))
Reducer: Guard(?1: qi8, Num<r4>(?1))
###
> ToR4(qi4)
ToR4(qi4) : r4?
Binder : Guard(?1: qi4, ToR4*(?1))
Reducer: Guard(?1: qi4, Num<r4>(?1))
###
> ToR4(qi2)
ToR4(qi2) : r4?
Binder : Guard(?1: qi2, ToR4*(?1))
Reducer: Guard(?1: qi2, Num<r4>(?1))
###
> ToR4(qi1)
ToR4(qi1) : r4?
Binder : Guard(?1: qi1, ToR4*(?1))
Reducer: Guard(?1: qi1, Num<r4>(?1))
###
> ToR4(qu8)
ToR4(qu8) : r4?
Binder : Guard(?1: qu8, ToR4*(?1))
Reducer: Guard(?1: qu8, Num<r4>(?1))
###
> ToR4(qu4)
ToR4(qu4) : r4?
Binder : Guard(?1: qu4, ToR4*(?1))
Reducer: Guard(?1: qu4, Num<r4>(?1))
###
> ToR4(qu2)
ToR4(qu2) : r4?
Binder : Guard(?1: qu2, ToR4*(?1))
Reducer: Guard(?1: qu2, Num<r4>(?1))
###
> ToR4(qu1)
ToR4(qu1) : r4?
Binder : Guard(?1: qu1, ToR4*(?1))
Reducer: Guard(?1: qu1, Num<r4>(?1))
###

**** New globals: {g:g, i:i, o:o, qi:i?, qr4:r4?, r4:r4, s:s, v:v}

> ToR4(v)
ToR4(v) : r4
Binder : ToR4*(Unit<r4>(v))
Reducer: 0
###
> ToR4(v, v)
ToR4(v, v) : r4
*** Warning: (8,9) Node: v, Message: Second argument of 'ToR4' is not used
Binder : ToR4*(Unit<r4>(v), Unit<r4>(v))
Reducer: 0
###
> ToR4(v, o)
ToR4(v, o) : r4
*** Warning: (8,9) Node: o, Message: Second argument of 'ToR4' is not used
Binder : ToR4*(Unit<r4>(v), null)
Reducer: 0
###
> ToR4(v, qi)
ToR4(v, qi) : r4
*** Warning: (8,10) Node: qi, Message: Second argument of 'ToR4' is not used
Binder : ToR4*(Unit<r4>(v), Guard(?1: qi, Num<r4>(?1)))
Reducer: 0
###
> ToR4(v, i)
ToR4(v, i) : r4
*** Warning: (8,9) Node: i, Message: Second argument of 'ToR4' is not used
Binder : ToR4*(Unit<r4>(v), Num<r4>(i))
Reducer: 0
###
> ToR4(i)
ToR4(i) : r4
Binder : ToR4*(i)
Reducer: Num<r4>(i)
###
> ToR4(i, v)
ToR4(i, v) : r4
*** Warning: (8,9) Node: v, Message: Second argument of 'ToR4' is not used
Binder : ToR4*(i, Unit<r4>(v))
Reducer: Num<r4>(i)
###
> ToR4(i, o)
ToR4(i, o) : r4
*** Warning: (8,9) Node: o, Message: Second argument of 'ToR4' is not used
Binder : ToR4*(i, null)
Reducer: Num<r4>(i)
###
> ToR4(i, qi)
ToR4(i, qi) : r4
*** Warning: (8,10) Node: qi, Message: Second argument of 'ToR4' is not used
Binder : ToR4*(i, Guard(?1: qi, Num<r4>(?1)))
Reducer: Num<r4>(i)
###
> ToR4(i, i)
ToR4(i, i) : r4
*** Warning: (8,9) Node: i, Message: Second argument of 'ToR4' is not used
Binder : ToR4*(i, Num<r4>(i))
Reducer: Num<r4>(i)
###
> ToR4(s)
ToR4(s) : r4?
Binder : ToR4(s)
###
> ToR4(s, v)
ToR4(s, v) : r4
Binder : ToR4(s, Unit<r4>(v))
Reducer: ToR4(s, 0)
###
> ToR4(s, o)
ToR4(s, o) : r4?
Binder : ToR4(s, null)
###
> ToR4(s, qi)
ToR4(s, qi) : r4?
Binder : ToR4(s, Guard(?1: qi, Num<r4>(?1)))
###
> ToR4(s, i)
ToR4(s, i) : r4
Binder : ToR4(s, Num<r4>(i))
###
> ToR4(o)
ToR4(o) : r4?
Binder : Guard(?1: o, ToR4*(Unit<r4>(?1)))
Reducer: null
###
> ToR4(o, v)
ToR4(o, v) : r4?
*** Warning: (8,9) Node: v, Message: Second argument of 'ToR4' is not used
Binder : Guard(?1: o, ToR4*(Unit<r4>(?1), Unit<r4>(v)))
Reducer: null
###
> ToR4(o, o)
ToR4(o, o) : r4?
*** Warning: (8,9) Node: o, Message: Second argument of 'ToR4' is not used
Binder : Guard(?1: o, ToR4*(Unit<r4>(?1), null))
Reducer: null
###
> ToR4(o, qi)
ToR4(o, qi) : r4?
*** Warning: (8,10) Node: qi, Message: Second argument of 'ToR4' is not used
Binder : Guard(?1: o, ToR4*(Unit<r4>(?1), Guard(?2: qi, Num<r4>(?2))))
Reducer: null
###
> ToR4(o, i)
ToR4(o, i) : r4?
*** Warning: (8,9) Node: i, Message: Second argument of 'ToR4' is not used
Binder : Guard(?1: o, ToR4*(Unit<r4>(?1), Num<r4>(i)))
Reducer: null
###
> ToR4(qi)
ToR4(qi) : r4?
Binder : Guard(?1: qi, ToR4*(?1))
Reducer: Guard(?1: qi, Num<r4>(?1))
###
> ToR4(qi, v)
ToR4(qi, v) : r4?
*** Warning: (9,10) Node: v, Message: Second argument of 'ToR4' is not used
Binder : Guard(?1: qi, ToR4*(?1, Unit<r4>(v)))
Reducer: Guard(?1: qi, Num<r4>(?1))
###
> ToR4(qi, o)
ToR4(qi, o) : r4?
*** Warning: (9,10) Node: o, Message: Second argument of 'ToR4' is not used
Binder : Guard(?1: qi, ToR4*(?1, null))
Reducer: Guard(?1: qi, Num<r4>(?1))
###
> ToR4(qi, qi)
ToR4(qi, qi) : r4?
*** Warning: (9,11) Node: qi, Message: Second argument of 'ToR4' is not used
Binder : Guard(?1: qi, ToR4*(?1, Guard(?2: qi, Num<r4>(?2))))
Reducer: Guard(?1: qi, Num<r4>(?1))
###
> ToR4(qi, i)
ToR4(qi, i) : r4?
*** Warning: (9,10) Node: i, Message: Second argument of 'ToR4' is not used
Binder : Guard(?1: qi, ToR4*(?1, Num<r4>(i)))
Reducer: Guard(?1: qi, Num<r4>(?1))
###
> To(g, g)
To(g, g) : i8?
*** Error: (3,4) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
*** Error: (6,7) Node: g, Message: Invalid operand type: cannot convert type 'g' to 'i8?'
Binder : To*(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst))
Reducer: ToI8(Error(ErrBadType_Src_Dst), Error(ErrBadType_Src_Dst))
###
> To(g, qr4)
To(g, qr4) : r4?
*** Error: (3,4) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : To*(Error(ErrBadType_Src_Dst), qr4)
Reducer: ToR4(Error(ErrBadType_Src_Dst), qr4)
###
> To(g, r4)
To(g, r4) : r4
*** Error: (3,4) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : To*(Error(ErrBadType_Src_Dst), r4)
Reducer: ToR4(Error(ErrBadType_Src_Dst), r4)
###
> To(v, qr4)
To(v, qr4) : r4
*** Warning: (6,9) Node: qr4, Message: Second argument of 'To' is not used
Binder : To*(Unit<r4>(v), qr4)
Reducer: 0
###
> To(v, r4)
To(v, r4) : r4
*** Warning: (6,8) Node: r4, Message: Second argument of 'To' is not used
Binder : To*(Unit<r4>(v), r4)
Reducer: 0
###
> To(s, qr4)
To(s, qr4) : r4?
Binder : To*(s, qr4)
Reducer: ToR4(s, qr4)
###
> To(s, r4)
To(s, r4) : r4
Binder : To*(s, r4)
Reducer: ToR4(s, r4)
###
> To(o, qr4)
To(o, qr4) : r4?
*** Warning: (6,9) Node: qr4, Message: Second argument of 'To' is not used
Binder : Guard(?1: o, To*(Unit<r4>(?1), qr4))
Reducer: null
###
> To(o, r4)
To(o, r4) : r4?
*** Warning: (6,8) Node: r4, Message: Second argument of 'To' is not used
Binder : Guard(?1: o, To*(Unit<r4>(?1), r4))
Reducer: null
###

**** New globals: {b:b*, d:d*, g:g*, i:i*, i1:i1*, i2:i2*, i4:i4*, i8:i8*, n:r8*, r4:r4*, r8:r8*, s:s*, u1:u1*, u2:u2*, u4:u4*, u8:u8*, v:v*}

> ToR4(g)
ToR4(g) : r4?*
*** Error: (5,6) Node: g, Message: Invalid operand type: cannot convert type 'g' to 's'
Binder : ForEach(*1: g, ToR4(Error(ErrBadType_Src_Dst)))
###
> ToR4(s)
ToR4(s) : r4?*
Binder : ForEach(*1: s, ToR4(*1))
###
> ToR4(v)
ToR4(v) : r4*
Binder : ForEach(*1: v, ToR4*(Unit<r4>(*1)))
Reducer: ForEach(*1: v, 0)
###
> ToR4(b)
ToR4(b) : r4*
Binder : ForEach(*1: b, ToR4*(*1))
Reducer: ForEach(*1: b, Num<r4>(*1))
###
> ToR4(d)
ToR4(d) : r4*
Binder : ForEach(*1: d, ToR4*(*1))
Reducer: ForEach(*1: d, Num<r4>(Date.TotalTicks(*1)))
###
> ToR4(n)
ToR4(n) : r4*
Binder : ForEach(*1: n, ToR4*(*1))
Reducer: ForEach(*1: n, CastR4(*1))
###
> ToR4(r8)
ToR4(r8) : r4*
Binder : ForEach(*1: r8, ToR4*(*1))
Reducer: ForEach(*1: r8, CastR4(*1))
###
> ToR4(r4)
ToR4(r4) : r4*
Binder : ForEach(*1: r4, ToR4*(*1))
Reducer: r4
###
> ToR4(i)
ToR4(i) : r4*
Binder : ForEach(*1: i, ToR4*(*1))
Reducer: ForEach(*1: i, Num<r4>(*1))
###
> ToR4(i8)
ToR4(i8) : r4*
Binder : ForEach(*1: i8, ToR4*(*1))
Reducer: ForEach(*1: i8, Num<r4>(*1))
###
> ToR4(i4)
ToR4(i4) : r4*
Binder : ForEach(*1: i4, ToR4*(*1))
Reducer: ForEach(*1: i4, Num<r4>(*1))
###
> ToR4(i2)
ToR4(i2) : r4*
Binder : ForEach(*1: i2, ToR4*(*1))
Reducer: ForEach(*1: i2, Num<r4>(*1))
###
> ToR4(i1)
ToR4(i1) : r4*
Binder : ForEach(*1: i1, ToR4*(*1))
Reducer: ForEach(*1: i1, Num<r4>(*1))
###
> ToR4(u8)
ToR4(u8) : r4*
Binder : ForEach(*1: u8, ToR4*(*1))
Reducer: ForEach(*1: u8, Num<r4>(*1))
###
> ToR4(u4)
ToR4(u4) : r4*
Binder : ForEach(*1: u4, ToR4*(*1))
Reducer: ForEach(*1: u4, Num<r4>(*1))
###
> ToR4(u2)
ToR4(u2) : r4*
Binder : ForEach(*1: u2, ToR4*(*1))
Reducer: ForEach(*1: u2, Num<r4>(*1))
###
> ToR4(u1)
ToR4(u1) : r4*
Binder : ForEach(*1: u1, ToR4*(*1))
Reducer: ForEach(*1: u1, Num<r4>(*1))
###

**** New globals: {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?*}

> ToR4(o)
ToR4(o) : r4?*
Binder : ForEach(*1: o, Guard(?2: *1, ToR4*(Unit<r4>(?2))))
Reducer: ForEach(*1: o, null)
###
> ToR4(qb)
ToR4(qb) : r4?*
Binder : ForEach(*1: qb, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qb, Guard(?2: *1, Num<r4>(?2)))
###
> ToR4(qd)
ToR4(qd) : r4?*
Binder : ForEach(*1: qd, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qd, Guard(?2: *1, Num<r4>(Date.TotalTicks(?2))))
###
> ToR4(qn)
ToR4(qn) : r4?*
Binder : ForEach(*1: qn, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qn, Guard(?2: *1, CastR4(?2)))
###
> ToR4(qr8)
ToR4(qr8) : r4?*
Binder : ForEach(*1: qr8, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qr8, Guard(?2: *1, CastR4(?2)))
###
> ToR4(qr4)
ToR4(qr4) : r4?*
Binder : ForEach(*1: qr4, Guard(?2: *1, ToR4*(?2)))
Reducer: qr4
###
> ToR4(qi)
ToR4(qi) : r4?*
Binder : ForEach(*1: qi, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qi, Guard(?2: *1, Num<r4>(?2)))
###
> ToR4(qi8)
ToR4(qi8) : r4?*
Binder : ForEach(*1: qi8, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qi8, Guard(?2: *1, Num<r4>(?2)))
###
> ToR4(qi4)
ToR4(qi4) : r4?*
Binder : ForEach(*1: qi4, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qi4, Guard(?2: *1, Num<r4>(?2)))
###
> ToR4(qi2)
ToR4(qi2) : r4?*
Binder : ForEach(*1: qi2, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qi2, Guard(?2: *1, Num<r4>(?2)))
###
> ToR4(qi1)
ToR4(qi1) : r4?*
Binder : ForEach(*1: qi1, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qi1, Guard(?2: *1, Num<r4>(?2)))
###
> ToR4(qu8)
ToR4(qu8) : r4?*
Binder : ForEach(*1: qu8, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qu8, Guard(?2: *1, Num<r4>(?2)))
###
> ToR4(qu4)
ToR4(qu4) : r4?*
Binder : ForEach(*1: qu4, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qu4, Guard(?2: *1, Num<r4>(?2)))
###
> ToR4(qu2)
ToR4(qu2) : r4?*
Binder : ForEach(*1: qu2, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qu2, Guard(?2: *1, Num<r4>(?2)))
###
> ToR4(qu1)
ToR4(qu1) : r4?*
Binder : ForEach(*1: qu1, Guard(?2: *1, ToR4*(?2)))
Reducer: ForEach(*1: qu1, Guard(?2: *1, Num<r4>(?2)))
###
> ToR4(false)
ToR4(false) : r4
Binder : ToR4*(false)
Reducer: 0
###
> ToR4(true)
ToR4(true) : r4
Binder : ToR4*(true)
Reducer: 1
###
> ToR4(-128i1)
ToR4(-128) : r4
Binder : ToR4*(-128)
Reducer: -128
###
> ToR4(-32768i2)
ToR4(-32768) : r4
Binder : ToR4*(-32768)
Reducer: -32768
###
> ToR4(-2147483648i4)
ToR4(-2147483648) : r4
Binder : ToR4*(-2147483648)
Reducer: -2147483648
###
> ToR4(-9223372036854775808i8)
ToR4(-9223372036854775808) : r4
Binder : ToR4*(-9223372036854775808)
Reducer: -9.223372036854776E+18
###
> ToR4(255u1)
ToR4(255) : r4
Binder : ToR4*(255)
Reducer: 255
###
> ToR4(65535u2)
ToR4(65535) : r4
Binder : ToR4*(65535)
Reducer: 65535
###
> ToR4(4294967295u4)
ToR4(4294967295) : r4
Binder : ToR4*(4294967295)
Reducer: 4294967296
###
> ToR4(18446744073709551615u8)
ToR4(18446744073709551615) : r4
Binder : ToR4*(18446744073709551615)
Reducer: 1.8446744073709552E+19
###
> 9_999_999_999_999_999->CastR8()->CastI8() // Should round up to 10^16.
9999999999999999->CastR8()->CastI8() : i8
Binder : CastI8(CastR8*(9999999999999999))
Reducer: 10000000000000000
###
> 0x8000_0000_0000_0000u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex)
9223372036854775808->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 9223372036854775808, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("8000000000000000", "08000000000000000", "43E0000000000000")
###
> 0x8000_0000_0000_0400u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round down.
9223372036854776832->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 9223372036854776832, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("8000000000000400", "08000000000000000", "43E0000000000000")
###
> 0x8000_0000_0000_0401u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round up.
9223372036854776833->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 9223372036854776833, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("8000000000000401", "08000000000000800", "43E0000000000001")
###
> 0x8000_0000_0000_0800u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex)
9223372036854777856->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 9223372036854777856, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("8000000000000800", "08000000000000800", "43E0000000000001")
###
> 0x8000_0000_0000_0BFFu8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round down.
9223372036854778879->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 9223372036854778879, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("8000000000000BFF", "08000000000000800", "43E0000000000001")
###
> 0x8000_0000_0000_0C00u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round up.
9223372036854778880->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 9223372036854778880, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("8000000000000C00", "08000000000001000", "43E0000000000002")
###
> 0xC123_4567_89AB_C000u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex)
13917043584498647040->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 13917043584498647040, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("C123456789ABC000", "0C123456789ABC000", "43E82468ACF13578")
###
> 0xC123_4567_89AB_C400u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round down.
13917043584498648064->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 13917043584498648064, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("C123456789ABC400", "0C123456789ABC000", "43E82468ACF13578")
###
> 0xC123_4567_89AB_C401u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round up.
13917043584498648065->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 13917043584498648065, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("C123456789ABC401", "0C123456789ABC800", "43E82468ACF13579")
###
> 0xC123_4567_89AB_C800u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex)
13917043584498649088->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 13917043584498649088, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("C123456789ABC800", "0C123456789ABC800", "43E82468ACF13579")
###
> 0xC123_4567_89AB_CBFFu8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round down.
13917043584498650111->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 13917043584498650111, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("C123456789ABCBFF", "0C123456789ABC800", "43E82468ACF13579")
###
> 0xC123_4567_89AB_CC00u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round up.
13917043584498650112->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 13917043584498650112, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("C123456789ABCC00", "0C123456789ABD000", "43E82468ACF1357A")
###
> 0xFFFF_FFFF_FFFF_F800u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex)
18446744073709549568->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709549568, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("FFFFFFFFFFFFF800", "0FFFFFFFFFFFFF800", "43EFFFFFFFFFFFFF")
###
> 0xFFFF_FFFF_FFFF_FBFFu8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round down.
18446744073709550591->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709550591, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("FFFFFFFFFFFFFBFF", "0FFFFFFFFFFFFF800", "43EFFFFFFFFFFFFF")
###
> 0xFFFF_FFFF_FFFF_FC00u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round up.
18446744073709550592->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709550592, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("FFFFFFFFFFFFFC00", "10000000000000000", "43F0000000000000")
###
> 0xFFFF_FFFF_FFFF_FC00u8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round up.
18446744073709550592->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709550592, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("FFFFFFFFFFFFFC00", "10000000000000000", "43F0000000000000")
###
> 0xFFFF_FFFF_FFFF_FFFFu8->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round up.
18446744073709551615->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709551615, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("FFFFFFFFFFFFFFFF", "10000000000000000", "43F0000000000000")
###
> 0x8000_0000u4->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex)
2147483648->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 2147483648, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("80000000", "080000000", "4F000000")
###
> 0x8000_0080u4->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round down.
2147483776->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 2147483776, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("80000080", "080000000", "4F000000")
###
> 0x8000_0081u4->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round up.
2147483777->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 2147483777, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("80000081", "080000100", "4F000001")
###
> 0x8000_0100u4->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex)
2147483904->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 2147483904, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("80000100", "080000100", "4F000001")
###
> 0x8000_017Fu4->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round down.
2147484031->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 2147484031, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("8000017F", "080000100", "4F000001")
###
> 0x8000_0180u4->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round up.
2147484032->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 2147484032, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("80000180", "080000200", "4F000002")
###
> 0x8000_0000_0000_0000u8->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex)
9223372036854775808->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 9223372036854775808, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("8000000000000000", "08000000000000000", "5F000000")
###
> 0x8000_0080_0000_0000u8->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round down.
9223372586610589696->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 9223372586610589696, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("8000008000000000", "08000000000000000", "5F000000")
###
> 0x8000_0080_0000_0001u8->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round up.
9223372586610589697->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 9223372586610589697, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("8000008000000001", "08000010000000000", "5F000001")
###
> 0x8000_0100_0000_0000u8->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex)
9223373136366403584->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 9223373136366403584, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("8000010000000000", "08000010000000000", "5F000001")
###
> 0x8000_017F_FFFF_FFFFu8->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round down.
9223373686122217471->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 9223373686122217471, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("8000017FFFFFFFFF", "08000010000000000", "5F000001")
###
> 0x8000_0180_0000_0000u8->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round up.
9223373686122217472->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 9223373686122217472, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("8000018000000000", "08000020000000000", "5F000002")
###
> 0x1_0000_0000_0000_0000ia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex)
18446744073709551616->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709551616, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("10000000000000000", "10000000000000000", "43F0000000000000")
###
> 0x1_0000_0000_0000_0800ia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round down.
18446744073709553664->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709553664, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("10000000000000800", "10000000000000000", "43F0000000000000")
###
> 0x1_0000_0000_0000_0801ia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round up.
18446744073709553665->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709553665, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("10000000000000801", "10000000000001000", "43F0000000000001")
###
> 0x1_0000_0000_0000_0900ia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round up.
18446744073709553920->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709553920, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("10000000000000900", "10000000000001000", "43F0000000000001")
###
> 0x1_0000_0000_0000_1000ia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex)
18446744073709555712->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709555712, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("10000000000001000", "10000000000001000", "43F0000000000001")
###
> 0x1_0000_0000_0000_17FFia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round down.
18446744073709557759->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709557759, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("100000000000017FF", "10000000000001000", "43F0000000000001")
###
> 0x1_0000_0000_0000_1800ia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round up.
18446744073709557760->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709557760, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("10000000000001800", "10000000000002000", "43F0000000000002")
###
> 0x1_0000_0000_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex)
18446744073709551616->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446744073709551616, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("10000000000000000", "10000000000000000", "5F800000")
###
> 0x1_0000_0100_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round down.
18446745173221179392->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446745173221179392, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("10000010000000000", "10000000000000000", "5F800000")
###
> 0x1_0000_0100_0000_0001ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round up.
18446745173221179393->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446745173221179393, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("10000010000000001", "10000020000000000", "5F800001")
###
> 0x1_0000_0101_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round up.
18446745177516146688->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446745177516146688, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("10000010100000000", "10000020000000000", "5F800001")
###
> 0x1_0000_0180_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round up.
18446745722976993280->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446745722976993280, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("10000018000000000", "10000020000000000", "5F800001")
###
> 0x1_0000_0200_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex)
18446746272732807168->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446746272732807168, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("10000020000000000", "10000020000000000", "5F800001")
###
> 0x1_0000_02FF_FFFF_FFFFia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round down.
18446747372244434943->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446747372244434943, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("1000002FFFFFFFFFF", "10000020000000000", "5F800001")
###
> 0x1_0000_0300_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round up.
18446747372244434944->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 18446747372244434944, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("10000030000000000", "10000040000000000", "5F800002")
###
> 0x1_0000_0000_0000_0000_0000ia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex)
1208925819614629174706176->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925819614629174706176, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("100000000000000000000", "100000000000000000000", "44F0000000000000")
###
> 0x1_0000_0000_0000_0800_0000ia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round down.
1208925819614629308923904->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925819614629308923904, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("100000000000008000000", "100000000000000000000", "44F0000000000000")
###
> 0x1_0000_0000_0000_0800_0001ia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round up.
1208925819614629308923905->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925819614629308923905, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("100000000000008000001", "100000000000010000000", "44F0000000000001")
###
> 0x1_0000_0000_0000_1000_0000ia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex)
1208925819614629443141632->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925819614629443141632, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("100000000000010000000", "100000000000010000000", "44F0000000000001")
###
> 0x1_0000_0000_0000_17FF_FFFFia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round down.
1208925819614629577359359->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925819614629577359359, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("100000000000017FFFFFF", "100000000000010000000", "44F0000000000001")
###
> 0x1_0000_0000_0000_1800_0000ia->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) // Round up.
1208925819614629577359360->(it.Hex, CastR8(it)->CastIA().Hex, CastR8(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925819614629577359360, (Int.Hex(!1), Int.Hex(CastIA(CastR8*(!1))), Int.Hex(Float.Bits(CastR8*(!1)))))
Reducer: ("100000000000018000000", "100000000000020000000", "44F0000000000002")
###
> 0x1_0000_0000_0000_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex)
1208925819614629174706176->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925819614629174706176, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("100000000000000000000", "100000000000000000000", "67800000")
###
> 0x1_0000_0100_0000_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round down.
1208925891672223212634112->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925891672223212634112, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("100000100000000000000", "100000000000000000000", "67800000")
###
> 0x1_0000_0100_0000_0000_0001ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round up.
1208925891672223212634113->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925891672223212634113, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("100000100000000000001", "100000200000000000000", "67800001")
###
> 0x1_0000_0200_0000_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex)
1208925963729817250562048->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925963729817250562048, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("100000200000000000000", "100000200000000000000", "67800001")
###
> 0x1_0000_02FF_FFFF_FFFF_FFFFia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round down.
1208926035787411288489983->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208926035787411288489983, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("1000002FFFFFFFFFFFFFF", "100000200000000000000", "67800001")
###
> 0x1_0000_0300_0000_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round up.
1208926035787411288489984->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208926035787411288489984, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("100000300000000000000", "100000400000000000000", "67800002")
###
> 0x1_0000_0000_0000_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex)
1208925819614629174706176->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925819614629174706176, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("100000000000000000000", "100000000000000000000", "67800000")
###
> 0x1_0000_0100_0000_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round down.
1208925891672223212634112->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925891672223212634112, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("100000100000000000000", "100000000000000000000", "67800000")
###
> 0x1_0000_0100_0000_0000_0001ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round up.
1208925891672223212634113->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925891672223212634113, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("100000100000000000001", "100000200000000000000", "67800001")
###
> 0x1_0000_0200_0000_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex)
1208925963729817250562048->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208925963729817250562048, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("100000200000000000000", "100000200000000000000", "67800001")
###
> 0x1_0000_02FF_FFFF_FFFF_FFFFia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round down.
1208926035787411288489983->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208926035787411288489983, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("1000002FFFFFFFFFFFFFF", "100000200000000000000", "67800001")
###
> 0x1_0000_0300_0000_0000_0000ia->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) // Round up.
1208926035787411288489984->(it.Hex, CastR4(it)->CastIA().Hex, CastR4(it).Bits.Hex) : (s, s, s)
Binder : Guard(!1: 1208926035787411288489984, (Int.Hex(!1), Int.Hex(CastIA(CastR4*(!1))), Int.Hex(Float.Bits(CastR4*(!1)))))
Reducer: ("100000300000000000000", "100000400000000000000", "67800002")
###
> (0x8000ia shl 48)->(it - 0x0000ia)->(it shl 961)->(it - 0)->(CastR8(it), CastR8(-it), CastR8(it).Bits.Hex, CastR8(it)->CastIA().Hex[:20] & "...", it.Hex) // Round up to infinity.
(32768 shl 48)->(it - 0)->(it shl 961)->(it - 0)->(CastR8(it), CastR8(-it), CastR8(it).Bits.Hex, CastR8(it)->CastIA().Hex[:20] & "...", it.Hex) : (r8, r8, s, s, s)
Binder : Guard(!4: Guard(!3: Guard(!2: Guard(!1: Shl(32768, 48), Add(!1, [-] 0)), Shl(!2, 961)), Add(!3, [-] 0)), (CastR8*(!4), CastR8*(Add([-] !4)), Int.Hex(Float.Bits(CastR8*(!4))), StrConcat(Int.Hex(CastIA(CastR8*(!4)))[:20:], "..."), Int.Hex(!4)))
Reducer: (∞, -∞, "7FF0000000000000", "0...", "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
###
> (0x8000ia shl 48)->(it - 0x0200ia)->(it shl 961)->(it - 0)->(CastR8(it), CastR8(-it), CastR8(it).Bits.Hex, CastR8(it)->CastIA().Hex[:20] & "...", it.Hex) // Round up to infinity.
(32768 shl 48)->(it - 512)->(it shl 961)->(it - 0)->(CastR8(it), CastR8(-it), CastR8(it).Bits.Hex, CastR8(it)->CastIA().Hex[:20] & "...", it.Hex) : (r8, r8, s, s, s)
Binder : Guard(!4: Guard(!3: Guard(!2: Guard(!1: Shl(32768, 48), Add(!1, [-] 512)), Shl(!2, 961)), Add(!3, [-] 0)), (CastR8*(!4), CastR8*(Add([-] !4)), Int.Hex(Float.Bits(CastR8*(!4))), StrConcat(Int.Hex(CastIA(CastR8*(!4)))[:20:], "..."), Int.Hex(!4)))
Reducer: (∞, -∞, "7FF0000000000000", "0...", "0FFFFFFFFFFFFFC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
###
> (0x8000ia shl 48)->(it - 0x0200ia)->(it shl 961)->(it - 1)->(CastR8(it), CastR8(-it), CastR8(it).Bits.Hex, CastR8(it)->CastIA().Hex[:20] & "...", it.Hex) // Round down.
(32768 shl 48)->(it - 512)->(it shl 961)->(it - 1)->(CastR8(it), CastR8(-it), CastR8(it).Bits.Hex, CastR8(it)->CastIA().Hex[:20] & "...", it.Hex) : (r8, r8, s, s, s)
Binder : Guard(!4: Guard(!3: Guard(!2: Guard(!1: Shl(32768, 48), Add(!1, [-] 512)), Shl(!2, 961)), Add(!3, [-] 1)), (CastR8*(!4), CastR8*(Add([-] !4)), Int.Hex(Float.Bits(CastR8*(!4))), StrConcat(Int.Hex(CastIA(CastR8*(!4)))[:20:], "..."), Int.Hex(!4)))
Reducer: (1.7976931348623157E+308, -1.7976931348623157E+308, "7FEFFFFFFFFFFFFF", "0FFFFFFFFFFFFF800000...", "0FFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF")
###
> (0x8000ia shl 48)->(it - 0x0201ia)->(it shl 961)->(it - 0)->(CastR8(it), CastR8(-it), CastR8(it).Bits.Hex, CastR8(it)->CastIA().Hex[:20] & "...", it.Hex) // Round down.
(32768 shl 48)->(it - 513)->(it shl 961)->(it - 0)->(CastR8(it), CastR8(-it), CastR8(it).Bits.Hex, CastR8(it)->CastIA().Hex[:20] & "...", it.Hex) : (r8, r8, s, s, s)
Binder : Guard(!4: Guard(!3: Guard(!2: Guard(!1: Shl(32768, 48), Add(!1, [-] 513)), Shl(!2, 961)), Add(!3, [-] 0)), (CastR8*(!4), CastR8*(Add([-] !4)), Int.Hex(Float.Bits(CastR8*(!4))), StrConcat(Int.Hex(CastIA(CastR8*(!4)))[:20:], "..."), Int.Hex(!4)))
Reducer: (1.7976931348623157E+308, -1.7976931348623157E+308, "7FEFFFFFFFFFFFFF", "0FFFFFFFFFFFFF800000...", "0FFFFFFFFFFFFFBFE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
###
> (0x8000ia shl 48)->(it - 0x0400ia)->(it shl 961)->(it - 0)->(CastR8(it), CastR8(-it), CastR8(it).Bits.Hex, CastR8(it)->CastIA().Hex[:20] & "...", it.Hex)
(32768 shl 48)->(it - 1024)->(it shl 961)->(it - 0)->(CastR8(it), CastR8(-it), CastR8(it).Bits.Hex, CastR8(it)->CastIA().Hex[:20] & "...", it.Hex) : (r8, r8, s, s, s)
Binder : Guard(!4: Guard(!3: Guard(!2: Guard(!1: Shl(32768, 48), Add(!1, [-] 1024)), Shl(!2, 961)), Add(!3, [-] 0)), (CastR8*(!4), CastR8*(Add([-] !4)), Int.Hex(Float.Bits(CastR8*(!4))), StrConcat(Int.Hex(CastIA(CastR8*(!4)))[:20:], "..."), Int.Hex(!4)))
Reducer: (1.7976931348623157E+308, -1.7976931348623157E+308, "7FEFFFFFFFFFFFFF", "0FFFFFFFFFFFFF800000...", "0FFFFFFFFFFFFF800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
###
> (0x8000ia shl 16)->(it - 0x0000ia)->(it shl 97)->(it - 0)->(CastR4(it), CastR4(-it), CastR4(it).Bits.Hex, CastR4(it)->CastIA().Hex[:20] & "...", it.Hex) // Round up to infinity.
(32768 shl 16)->(it - 0)->(it shl 97)->(it - 0)->(CastR4(it), CastR4(-it), CastR4(it).Bits.Hex, CastR4(it)->CastIA().Hex[:20] & "...", it.Hex) : (r4, r4, s, s, s)
Binder : Guard(!4: Guard(!3: Guard(!2: Guard(!1: Shl(32768, 16), Add(!1, [-] 0)), Shl(!2, 97)), Add(!3, [-] 0)), (CastR4*(!4), CastR4*(Add([-] !4)), Int.Hex(Float.Bits(CastR4*(!4))), StrConcat(Int.Hex(CastIA(CastR4*(!4)))[:20:], "..."), Int.Hex(!4)))
Reducer: (∞, -∞, "7F800000", "0...", "100000000000000000000000000000000")
###
> (0x8000ia shl 16)->(it - 0x0040ia)->(it shl 97)->(it - 0)->(CastR4(it), CastR4(-it), CastR4(it).Bits.Hex, CastR4(it)->CastIA().Hex[:20] & "...", it.Hex) // Round up to infinity.
(32768 shl 16)->(it - 64)->(it shl 97)->(it - 0)->(CastR4(it), CastR4(-it), CastR4(it).Bits.Hex, CastR4(it)->CastIA().Hex[:20] & "...", it.Hex) : (r4, r4, s, s, s)
Binder : Guard(!4: Guard(!3: Guard(!2: Guard(!1: Shl(32768, 16), Add(!1, [-] 64)), Shl(!2, 97)), Add(!3, [-] 0)), (CastR4*(!4), CastR4*(Add([-] !4)), Int.Hex(Float.Bits(CastR4*(!4))), StrConcat(Int.Hex(CastIA(CastR4*(!4)))[:20:], "..."), Int.Hex(!4)))
Reducer: (∞, -∞, "7F800000", "0...", "0FFFFFF80000000000000000000000000")
###
> (0x8000ia shl 16)->(it - 0x0040ia)->(it shl 97)->(it - 1)->(CastR4(it), CastR4(-it), CastR4(it).Bits.Hex, CastR4(it)->CastIA().Hex[:20] & "...", it.Hex) // Round down.
(32768 shl 16)->(it - 64)->(it shl 97)->(it - 1)->(CastR4(it), CastR4(-it), CastR4(it).Bits.Hex, CastR4(it)->CastIA().Hex[:20] & "...", it.Hex) : (r4, r4, s, s, s)
Binder : Guard(!4: Guard(!3: Guard(!2: Guard(!1: Shl(32768, 16), Add(!1, [-] 64)), Shl(!2, 97)), Add(!3, [-] 1)), (CastR4*(!4), CastR4*(Add([-] !4)), Int.Hex(Float.Bits(CastR4*(!4))), StrConcat(Int.Hex(CastIA(CastR4*(!4)))[:20:], "..."), Int.Hex(!4)))
Reducer: (3.4028234663852886E+38, -3.4028234663852886E+38, "7F7FFFFF", "0FFFFFF0000000000000...", "0FFFFFF7FFFFFFFFFFFFFFFFFFFFFFFFF")
###
> (0x8000ia shl 16)->(it - 0x0041ia)->(it shl 97)->(it - 0)->(CastR4(it), CastR4(-it), CastR4(it).Bits.Hex, CastR4(it)->CastIA().Hex[:20] & "...", it.Hex) // Round down.
(32768 shl 16)->(it - 65)->(it shl 97)->(it - 0)->(CastR4(it), CastR4(-it), CastR4(it).Bits.Hex, CastR4(it)->CastIA().Hex[:20] & "...", it.Hex) : (r4, r4, s, s, s)
Binder : Guard(!4: Guard(!3: Guard(!2: Guard(!1: Shl(32768, 16), Add(!1, [-] 65)), Shl(!2, 97)), Add(!3, [-] 0)), (CastR4*(!4), CastR4*(Add([-] !4)), Int.Hex(Float.Bits(CastR4*(!4))), StrConcat(Int.Hex(CastIA(CastR4*(!4)))[:20:], "..."), Int.Hex(!4)))
Reducer: (3.4028234663852886E+38, -3.4028234663852886E+38, "7F7FFFFF", "0FFFFFF0000000000000...", "0FFFFFF7E000000000000000000000000")
###
> (0x8000ia shl 16)->(it - 0x0080ia)->(it shl 97)->(it - 0)->(CastR4(it), CastR4(-it), CastR4(it).Bits.Hex, CastR4(it)->CastIA().Hex[:20] & "...", it.Hex)
(32768 shl 16)->(it - 128)->(it shl 97)->(it - 0)->(CastR4(it), CastR4(-it), CastR4(it).Bits.Hex, CastR4(it)->CastIA().Hex[:20] & "...", it.Hex) : (r4, r4, s, s, s)
Binder : Guard(!4: Guard(!3: Guard(!2: Guard(!1: Shl(32768, 16), Add(!1, [-] 128)), Shl(!2, 97)), Add(!3, [-] 0)), (CastR4*(!4), CastR4*(Add([-] !4)), Int.Hex(Float.Bits(CastR4*(!4))), StrConcat(Int.Hex(CastIA(CastR4*(!4)))[:20:], "..."), Int.Hex(!4)))
Reducer: (3.4028234663852886E+38, -3.4028234663852886E+38, "7F7FFFFF", "0FFFFFF0000000000000...", "0FFFFFF00000000000000000000000000")
###
> ToR4(0.0)
ToR4(0) : r4
Binder : ToR4*(0)
Reducer: 0
###
> ToR4(-0.0)
ToR4(-0) : r4
Binder : ToR4*(-0)
Reducer: -0
###
> ToR4(-1/0)
ToR4(-1 / 0) : r4
Binder : ToR4*(Mul(-1, [/] 0))
Reducer: -∞
###
> ToR4(0/0)
ToR4(0 / 0) : r4
Binder : ToR4*(Mul(0, [/] 0))
Reducer: NaN
###
> ToR4(1/0)
ToR4(1 / 0) : r4
Binder : ToR4*(Mul(1, [/] 0))
Reducer: ∞
###
> ToR8(-CastR4(0x1 * 2.0 ^ -149))
ToR8(-CastR4(1 * 2^-149)) : r8
Binder : ToR8*(Add([-] Num<r8>(CastR4(Mul(1, Power(2, -149))))))
Reducer: -1.401298464324817E-45
###
> ToR8(-CastR4(0xFFFFFF * 2.0 ^ 104))
ToR8(-CastR4(16777215 * 2^104)) : r8
Binder : ToR8*(Add([-] Num<r8>(CastR4(Mul(16777215, Power(2, 104))))))
Reducer: -3.4028234663852886E+38
###
> CastR4(-0x10000000000000 * 2.0 ^ 76)   = -1/0
CastR4(-4503599627370496 * 2^76) @= -1 / 0 : b
Binder : Num<r8>(CastR4(Mul(-4503599627370496, Power(2, 76)))) @= Mul(-1, [/] 0)
Reducer: true
###
> CastR4(-0x1FFFFFF0000000 * 2.0 ^ 75)
CastR4(-9007198986305536 * 2^75) : r4
Binder : CastR4(Mul(-9007198986305536, Power(2, 75)))
Reducer: -∞
###
> CastR4(-0x1FFFFFEFFFFFFF * 2.0 ^ 75)
CastR4(-9007198986305535 * 2^75) : r4
Binder : CastR4(Mul(-9007198986305535, Power(2, 75)))
Reducer: -3.4028234663852886E+38
###
> CastR4(-0x1FFFFFE0000000 * 2.0 ^ 75)   > -1/0
CastR4(-9007198717870080 * 2^75) $> -1 / 0 : b
Binder : Num<r8>(CastR4(Mul(-9007198717870080, Power(2, 75)))) $> Mul(-1, [/] 0)
Reducer: true
###
> CastR4(-0x10000000000000 * 2.0 ^ -201) < -0.0
CastR4(-4503599627370496 * 2^-201) $< -0 : b
Binder : Num<r8>(CastR4(Mul(-4503599627370496, Power(2, -201)))) $< -0
Reducer: true
###
> CastR4(-0x1FFFFFFFFFFFFF * 2.0 ^ -202)
CastR4(-9007199254740991 * 2^-202) : r4
Binder : CastR4(Mul(-9007199254740991, Power(2, -202)))
Reducer: -1.401298464324817E-45
###
> CastR4(-0x10000000000001 * 2.0 ^ -202)
CastR4(-4503599627370497 * 2^-202) : r4
Binder : CastR4(Mul(-4503599627370497, Power(2, -202)))
Reducer: -1.401298464324817E-45
###
> CastR4(-0x10000000000000 * 2.0 ^ -202)
CastR4(-4503599627370496 * 2^-202) : r4
Binder : CastR4(Mul(-4503599627370496, Power(2, -202)))
Reducer: -0
###
> CastR4(-0x1FFFFFFFFFFFFF * 2.0 ^ -203) // expect -0
CastR4(-9007199254740991 * 2^-203) : r4
Binder : CastR4(Mul(-9007199254740991, Power(2, -203)))
Reducer: -0
###
> CastR4(0x1FFFFFFFFFFFFF * 2.0 ^ -203)  // expect 0
CastR4(9007199254740991 * 2^-203) : r4
Binder : CastR4(Mul(9007199254740991, Power(2, -203)))
Reducer: 0
###
> CastR4(0x10000000000000 * 2.0 ^ -202)
CastR4(4503599627370496 * 2^-202) : r4
Binder : CastR4(Mul(4503599627370496, Power(2, -202)))
Reducer: 0
###
> CastR4(0x10000000000001 * 2.0 ^ -202)
CastR4(4503599627370497 * 2^-202) : r4
Binder : CastR4(Mul(4503599627370497, Power(2, -202)))
Reducer: 1.401298464324817E-45
###
> CastR4(0x1FFFFFFFFFFFFF * 2.0 ^ -202)
CastR4(9007199254740991 * 2^-202) : r4
Binder : CastR4(Mul(9007199254740991, Power(2, -202)))
Reducer: 1.401298464324817E-45
###
> CastR4(0x10000000000000 * 2.0 ^ -201)  > 0.0
CastR4(4503599627370496 * 2^-201) $> 0 : b
Binder : Num<r8>(CastR4(Mul(4503599627370496, Power(2, -201)))) $> 0
Reducer: true
###
> CastR4(0x1FFFFFE0000000 * 2.0 ^ 75)    < 1/0
CastR4(9007198717870080 * 2^75) $< 1 / 0 : b
Binder : Num<r8>(CastR4(Mul(9007198717870080, Power(2, 75)))) $< Mul(1, [/] 0)
Reducer: true
###
> CastR4(0x1FFFFFEFFFFFFF * 2.0 ^ 75)
CastR4(9007198986305535 * 2^75) : r4
Binder : CastR4(Mul(9007198986305535, Power(2, 75)))
Reducer: 3.4028234663852886E+38
###
> CastR4(0x1FFFFFF0000000 * 2.0 ^ 75)
CastR4(9007198986305536 * 2^75) : r4
Binder : CastR4(Mul(9007198986305536, Power(2, 75)))
Reducer: ∞
###
> CastR4(0x10000000000000 * 2.0 ^ 76)    = 1/0
CastR4(4503599627370496 * 2^76) @= 1 / 0 : b
Binder : Num<r8>(CastR4(Mul(4503599627370496, Power(2, 76)))) @= Mul(1, [/] 0)
Reducer: true
###
> ToR4("")
ToR4("") : r4?
Binder : ToR4("")
Reducer: null
###
> ToR4(" ")
ToR4(" ") : r4?
Binder : ToR4(" ")
Reducer: null
###
> To("", 5r4)
To("", 5) : r4
Binder : To*("", 5)
Reducer: 5
###
> ToR4(" ", 5r4)
ToR4(" ", 5) : r4
Binder : ToR4(" ", 5)
Reducer: 5
###
> ToR4("false")
ToR4("false") : r4?
Binder : ToR4("false")
Reducer: null
###
> ToR4("true")
ToR4("true") : r4?
Binder : ToR4("true")
Reducer: null
###
> To("false", 0r4)
To("false", 0) : r4
Binder : To*("false", 0)
Reducer: 0
###
> ToR4("true", 1r4)
ToR4("true", 1) : r4
Binder : ToR4("true", 1)
Reducer: 1
###
> ToR8("false")
ToR8("false") : r8?
Binder : ToR8("false")
Reducer: null
###
> ToR8("true")
ToR8("true") : r8?
Binder : ToR8("true")
Reducer: null
###
> To("false", 0r8)
To("false", 0) : r8
Binder : To*("false", 0)
Reducer: 0
###
> ToR8("true", 1r8)
ToR8("true", 1) : r8
Binder : ToR8("true", 1)
Reducer: 1
###
> ToR4("1_234")
ToR4("1_234") : r4?
Binder : ToR4("1_234")
Reducer: null
###
> To("1_234", 5r4)
To("1_234", 5) : r4
Binder : To*("1_234", 5)
Reducer: 5
###
> ToR8("1_234")
ToR8("1_234") : r8?
Binder : ToR8("1_234")
Reducer: null
###
> To("1_234", 5r8)
To("1_234", 5) : r8
Binder : To*("1_234", 5)
Reducer: 5
###
> ToR4("-0")
ToR4("-0") : r4?
Binder : ToR4("-0")
Reducer: Opt<r4?>(-0)
###
> ToR4("(12.34)")
ToR4("(12.34)") : r4?
Binder : ToR4("(12.34)")
Reducer: Opt<r4?>(-12.34000015258789)
###
> ToR8("-0")
ToR8("-0") : r8?
Binder : ToR8("-0")
Reducer: Opt<r8?>(-0)
###
> ToR8("(12.34)")
ToR8("(12.34)") : r8?
Binder : ToR8("(12.34)")
Reducer: Opt<r8?>(-12.34)
###
> ToR4("-4 e37")
ToR4("-4 e37") : r4?
Binder : ToR4("-4 e37")
Reducer: null
###
> To("-4 e37", 5r4)
To("-4 e37", 5) : r4
Binder : To*("-4 e37", 5)
Reducer: 5
###
> ToR8("-4 e37")
ToR8("-4 e37") : r8?
Binder : ToR8("-4 e37")
Reducer: null
###
> To("-4 e37", 5r8)
To("-4 e37", 5) : r8
Binder : To*("-4 e37", 5)
Reducer: 5
###
> ToR4("0")
ToR4("0") : r4?
Binder : ToR4("0")
Reducer: Opt<r4?>(0)
###
> ToR4("0.0")
ToR4("0.0") : r4?
Binder : ToR4("0.0")
Reducer: Opt<r4?>(0)
###
> ToR4("-0")
ToR4("-0") : r4?
Binder : ToR4("-0")
Reducer: Opt<r4?>(-0)
###
> ToR4("-0.0")
ToR4("-0.0") : r4?
Binder : ToR4("-0.0")
Reducer: Opt<r4?>(-0)
###
> ToR4("12.34")
ToR4("12.34") : r4?
Binder : ToR4("12.34")
Reducer: Opt<r4?>(12.34000015258789)
###
> ToR4(" 12.34 ")
ToR4(" 12.34 ") : r4?
Binder : ToR4(" 12.34 ")
Reducer: Opt<r4?>(12.34000015258789)
###
> ToR4("12,345")
ToR4("12,345") : r4?
Binder : ToR4("12,345")
Reducer: Opt<r4?>(12345)
###
> ToR4("(123)")
ToR4("(123)") : r4?
Binder : ToR4("(123)")
Reducer: Opt<r4?>(-123)
###
> ToR4("2e20")
ToR4("2e20") : r4?
Binder : ToR4("2e20")
Reducer: Opt<r4?>(2.0000000400817547E+20)
###
> ToR4("∞")
ToR4("∞") : r4?
Binder : ToR4("∞")
Reducer: Opt<r4?>(∞)
###
> ToR4("-∞")
ToR4("-∞") : r4?
Binder : ToR4("-∞")
Reducer: Opt<r4?>(-∞)
###
> ToR4("Infinity")
ToR4("Infinity") : r4?
Binder : ToR4("Infinity")
Reducer: Opt<r4?>(∞)
###
> ToR4("-Infinity")
ToR4("-Infinity") : r4?
Binder : ToR4("-Infinity")
Reducer: Opt<r4?>(-∞)
###
> ToR4("NaN")
ToR4("NaN") : r4?
Binder : ToR4("NaN")
Reducer: Opt<r4?>(NaN)
###
> ToR8("0")
ToR8("0") : r8?
Binder : ToR8("0")
Reducer: Opt<r8?>(0)
###
> ToR8("0.0")
ToR8("0.0") : r8?
Binder : ToR8("0.0")
Reducer: Opt<r8?>(0)
###
> ToR8("-0")
ToR8("-0") : r8?
Binder : ToR8("-0")
Reducer: Opt<r8?>(-0)
###
> ToR8("-0.0")
ToR8("-0.0") : r8?
Binder : ToR8("-0.0")
Reducer: Opt<r8?>(-0)
###
> ToR8("12.34")
ToR8("12.34") : r8?
Binder : ToR8("12.34")
Reducer: Opt<r8?>(12.34)
###
> ToR8(" 12.34 ")
ToR8(" 12.34 ") : r8?
Binder : ToR8(" 12.34 ")
Reducer: Opt<r8?>(12.34)
###
> ToR8("12,345")
ToR8("12,345") : r8?
Binder : ToR8("12,345")
Reducer: Opt<r8?>(12345)
###
> ToR8("(123)")
ToR8("(123)") : r8?
Binder : ToR8("(123)")
Reducer: Opt<r8?>(-123)
###
> ToR8("2e20")
ToR8("2e20") : r8?
Binder : ToR8("2e20")
Reducer: Opt<r8?>(2E+20)
###
> ToR8("∞")
ToR8("∞") : r8?
Binder : ToR8("∞")
Reducer: Opt<r8?>(∞)
###
> ToR8("-∞")
ToR8("-∞") : r8?
Binder : ToR8("-∞")
Reducer: Opt<r8?>(-∞)
###
> ToR8("Infinity")
ToR8("Infinity") : r8?
Binder : ToR8("Infinity")
Reducer: Opt<r8?>(∞)
###
> ToR8("-Infinity")
ToR8("-Infinity") : r8?
Binder : ToR8("-Infinity")
Reducer: Opt<r8?>(-∞)
###
> ToR8("NaN")
ToR8("NaN") : r8?
Binder : ToR8("NaN")
Reducer: Opt<r8?>(NaN)
###
> ToR4(Date(9999, 12, 31))
ToR4(Date(9999, 12, 31)) : r4
Binder : ToR4*(Date(9999, 12, 31))
Reducer: Num<r4>(Date.TotalTicks(Date(9999, 12, 31)))
###
> ToR4(Time(23, 59, 59))
ToR4(Time(23, 59, 59)) : r4
Binder : ToR4*(Time(23, 59, 59))
Reducer: Num<r4>(Time.TotalTicks(Time(23, 59, 59)))
###
