**** New globals: {b:b, d:d, i1:i1, i2:i2, i4:i4, i8:i8, ia:i, qb:b?, qd:d?, qi1:i1?, qi2:i2?, qi4:i4?, qi8:i8?, qia:i?, 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}

> Float.IsNaN(s)
Float.IsNaN(s) : b
*** Error: (12,13) Node: s, Message: Invalid operand type: cannot convert type 's' to 'r8'
Binder : Float.IsNaN(Error(ErrBadType_Src_Dst))
###
> Float.IsNaN(d)
Float.IsNaN(d) : b
*** Error: (12,13) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : Float.IsNaN(Error(ErrBadType_Src_Dst))
###
> Float.IsNaN(r8)
Float.IsNaN(r8) : b
Binder : Float.IsNaN(r8)
###
> Float.IsNaN(r4)
Float.IsNaN(r4) : b
Binder : Float.IsNaN(r4)
###
> Float.IsNaN(ia)
Float.IsNaN(ia) : b
Binder : Float.IsNaN(Num<r8>(ia))
###
> Float.IsNaN(i8)
Float.IsNaN(i8) : b
Binder : Float.IsNaN(Num<r8>(i8))
###
> Float.IsNaN(qd)
Float.IsNaN(qd) : b?
*** Error: (12,14) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : Guard(?1: qd, Float.IsNaN(Error(ErrBadType_Src_Dst)))
###
> Float.IsNaN(qr8)
Float.IsNaN(qr8) : b?
Binder : Guard(?1: qr8, Float.IsNaN(?1))
###
> Float.IsNaN(qr4)
Float.IsNaN(qr4) : b?
Binder : Guard(?1: qr4, Float.IsNaN(?1))
###
> Float.IsNaN(qia)
Float.IsNaN(qia) : b?
Binder : Guard(?1: qia, Float.IsNaN(Num<r8>(?1)))
###
> Float.IsNaN(qi8)
Float.IsNaN(qi8) : b?
Binder : Guard(?1: qi8, Float.IsNaN(Num<r8>(?1)))
###
> Float.IsNotNaN(s)
Float.IsNotNaN(s) : b
*** Error: (15,16) Node: s, Message: Invalid operand type: cannot convert type 's' to 'r8'
Binder : Float.IsNotNaN(Error(ErrBadType_Src_Dst))
###
> Float.IsNotNaN(d)
Float.IsNotNaN(d) : b
*** Error: (15,16) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : Float.IsNotNaN(Error(ErrBadType_Src_Dst))
###
> Float.IsNotNaN(r8)
Float.IsNotNaN(r8) : b
Binder : Float.IsNotNaN(r8)
###
> Float.IsNotNaN(r4)
Float.IsNotNaN(r4) : b
Binder : Float.IsNotNaN(r4)
###
> Float.IsNotNaN(ia)
Float.IsNotNaN(ia) : b
Binder : Float.IsNotNaN(Num<r8>(ia))
###
> Float.IsNotNaN(i8)
Float.IsNotNaN(i8) : b
Binder : Float.IsNotNaN(Num<r8>(i8))
###
> Float.IsNotNaN(qd)
Float.IsNotNaN(qd) : b?
*** Error: (15,17) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : Guard(?1: qd, Float.IsNotNaN(Error(ErrBadType_Src_Dst)))
###
> Float.IsNotNaN(qr8)
Float.IsNotNaN(qr8) : b?
Binder : Guard(?1: qr8, Float.IsNotNaN(?1))
###
> Float.IsNotNaN(qr4)
Float.IsNotNaN(qr4) : b?
Binder : Guard(?1: qr4, Float.IsNotNaN(?1))
###
> Float.IsNotNaN(qia)
Float.IsNotNaN(qia) : b?
Binder : Guard(?1: qia, Float.IsNotNaN(Num<r8>(?1)))
###
> Float.IsNotNaN(qi8)
Float.IsNotNaN(qi8) : b?
Binder : Guard(?1: qi8, Float.IsNotNaN(Num<r8>(?1)))
###
> Float.Bits(s)
Float.Bits(s) : i8
*** Error: (11,12) Node: s, Message: Invalid operand type: cannot convert type 's' to 'r8'
Binder : Float.Bits(Error(ErrBadType_Src_Dst))
###
> Float.Bits(d)
Float.Bits(d) : i8
*** Error: (11,12) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : Float.Bits(Error(ErrBadType_Src_Dst))
###
> Float.Bits(r8)
Float.Bits(r8) : i8
Binder : Float.Bits(r8)
###
> Float.Bits(r4)
Float.Bits(r4) : i4
Binder : Float.Bits(r4)
###
> Float.Bits(ia)
Float.Bits(ia) : i8
Binder : Float.Bits(Num<r8>(ia))
###
> Float.Bits(i8)
Float.Bits(i8) : i8
Binder : Float.Bits(Num<r8>(i8))
###
> Float.Bits(qd)
Float.Bits(qd) : i8?
*** Error: (11,13) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : Guard(?1: qd, Float.Bits(Error(ErrBadType_Src_Dst)))
###
> Float.Bits(qr8)
Float.Bits(qr8) : i8?
Binder : Guard(?1: qr8, Float.Bits(?1))
###
> Float.Bits(qr4)
Float.Bits(qr4) : i4?
Binder : Guard(?1: qr4, Float.Bits(?1))
###
> Float.Bits(qia)
Float.Bits(qia) : i8?
Binder : Guard(?1: qia, Float.Bits(Num<r8>(?1)))
###
> Float.Bits(qi8)
Float.Bits(qi8) : i8?
Binder : Guard(?1: qi8, Float.Bits(Num<r8>(?1)))
###
> Float.FromBits(s)
Float.FromBits(s) : r8
*** Error: (15,16) Node: s, Message: Invalid operand type: cannot convert type 's' to 'i8'
Binder : Float.FromBits(Error(ErrBadType_Src_Dst))
###
> Float.FromBits(d)
Float.FromBits(d) : r8
*** Error: (15,16) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : Float.FromBits(Error(ErrBadType_Src_Dst))
###
> Float.FromBits(r8)
Float.FromBits(r8) : r8
*** Error: (15,17) Node: r8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : Float.FromBits(Error(ErrBadType_Src_Dst))
###
> Float.FromBits(r4)
Float.FromBits(r4) : r8
*** Error: (15,17) Node: r4, Message: Invalid operand type: cannot convert type 'r4' to 'i8'
Binder : Float.FromBits(Error(ErrBadType_Src_Dst))
###
> Float.FromBits(ia)
Float.FromBits(ia) : r8
*** Error: (15,17) Node: ia, Message: Invalid operand type: cannot convert type 'i' to 'i8'
Binder : Float.FromBits(Error(ErrBadType_Src_Dst))
###
> Float.FromBits(i8)
Float.FromBits(i8) : r8
Binder : Float.FromBits(i8)
###
> Float.FromBits(i4)
Float.FromBits(i4) : r4
Binder : Float.FromBits(i4)
###
> Float.FromBits(i2)
Float.FromBits(i2) : r4
Binder : Float.FromBits(Num<i4>(i2))
###
> Float.FromBits(i1)
Float.FromBits(i1) : r4
Binder : Float.FromBits(Num<i4>(i1))
###
> Float.FromBits(u8)
Float.FromBits(u8) : r8
Binder : Float.FromBits(u8)
###
> Float.FromBits(u4)
Float.FromBits(u4) : r4
Binder : Float.FromBits(u4)
###
> Float.FromBits(u2)
Float.FromBits(u2) : r4
Binder : Float.FromBits(Num<i4>(u2))
###
> Float.FromBits(u1)
Float.FromBits(u1) : r4
Binder : Float.FromBits(Num<i4>(u1))
###
> Float.FromBits(b)
Float.FromBits(b) : r4
Binder : Float.FromBits(Num<i4>(b))
###
> Float.FromBits(qd)
Float.FromBits(qd) : r8?
*** Error: (15,17) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'i8'
Binder : Guard(?1: qd, Float.FromBits(Error(ErrBadType_Src_Dst)))
###
> Float.FromBits(qr8)
Float.FromBits(qr8) : r8?
*** Error: (15,18) Node: qr8, Message: Invalid operand type: cannot convert type 'r8' to 'i8'
Binder : Guard(?1: qr8, Float.FromBits(Error(ErrBadType_Src_Dst)))
###
> Float.FromBits(qr4)
Float.FromBits(qr4) : r8?
*** Error: (15,18) Node: qr4, Message: Invalid operand type: cannot convert type 'r4' to 'i8'
Binder : Guard(?1: qr4, Float.FromBits(Error(ErrBadType_Src_Dst)))
###
> Float.FromBits(qia)
Float.FromBits(qia) : r8?
*** Error: (15,18) Node: qia, Message: Invalid operand type: cannot convert type 'i' to 'i8'
Binder : Guard(?1: qia, Float.FromBits(Error(ErrBadType_Src_Dst)))
###
> Float.FromBits(qi8)
Float.FromBits(qi8) : r8?
Binder : Guard(?1: qi8, Float.FromBits(?1))
###
> Float.FromBits(qi4)
Float.FromBits(qi4) : r4?
Binder : Guard(?1: qi4, Float.FromBits(?1))
###
> Float.FromBits(qi2)
Float.FromBits(qi2) : r4?
Binder : Guard(?1: qi2, Float.FromBits(Num<i4>(?1)))
###
> Float.FromBits(qi1)
Float.FromBits(qi1) : r4?
Binder : Guard(?1: qi1, Float.FromBits(Num<i4>(?1)))
###
> Float.FromBits(qu8)
Float.FromBits(qu8) : r8?
Binder : Guard(?1: qu8, Float.FromBits(?1))
###
> Float.FromBits(qu4)
Float.FromBits(qu4) : r4?
Binder : Guard(?1: qu4, Float.FromBits(?1))
###
> Float.FromBits(qu2)
Float.FromBits(qu2) : r4?
Binder : Guard(?1: qu2, Float.FromBits(Num<i4>(?1)))
###
> Float.FromBits(qu1)
Float.FromBits(qu1) : r4?
Binder : Guard(?1: qu1, Float.FromBits(Num<i4>(?1)))
###
> Float.FromBits(qb)
Float.FromBits(qb) : r4?
Binder : Guard(?1: qb, Float.FromBits(Num<i4>(?1)))
###
> r8.IsNaN
r8.IsNaN : b
Binder : Float.IsNaN(r8)
###
> r4.IsNaN
r4.IsNaN : b
Binder : Float.IsNaN(r4)
###
> ia.IsNaN
ia.IsNaN : v
*** Error: (2,3) Node: ia.IsNaN, Message: Invalid use of '.'
Binder : Error(ErrInvalidDot)
###
> i8.IsNaN
i8.IsNaN : v
*** Error: (2,3) Node: i8.IsNaN, Message: Invalid use of '.'
Binder : Error(ErrInvalidDot)
###
> qr8.IsNaN
qr8.IsNaN : b?
Binder : Guard(?1: qr8, Float.IsNaN(?1))
###
> qr4.IsNaN
qr4.IsNaN : b?
Binder : Guard(?1: qr4, Float.IsNaN(?1))
###
> qia.IsNaN
qia.IsNaN : o
*** Error: (3,4) Node: qia.IsNaN, Message: Invalid use of '.'
Binder : Guard(?1: qia, Error(ErrInvalidDot))
Reducer: null
###
> qi8.IsNaN
qi8.IsNaN : o
*** Error: (3,4) Node: qi8.IsNaN, Message: Invalid use of '.'
Binder : Guard(?1: qi8, Error(ErrInvalidDot))
Reducer: null
###
> r8.IsNotNaN
r8.IsNotNaN : b
Binder : Float.IsNotNaN(r8)
###
> r4.IsNotNaN
r4.IsNotNaN : b
Binder : Float.IsNotNaN(r4)
###
> ia.IsNotNaN
ia.IsNotNaN : v
*** Error: (2,3) Node: ia.IsNotNaN, Message: Invalid use of '.'
Binder : Error(ErrInvalidDot)
###
> i8.IsNotNaN
i8.IsNotNaN : v
*** Error: (2,3) Node: i8.IsNotNaN, Message: Invalid use of '.'
Binder : Error(ErrInvalidDot)
###
> qr8.IsNotNaN
qr8.IsNotNaN : b?
Binder : Guard(?1: qr8, Float.IsNotNaN(?1))
###
> qr4.IsNotNaN
qr4.IsNotNaN : b?
Binder : Guard(?1: qr4, Float.IsNotNaN(?1))
###
> qia.IsNotNaN
qia.IsNotNaN : o
*** Error: (3,4) Node: qia.IsNotNaN, Message: Invalid use of '.'
Binder : Guard(?1: qia, Error(ErrInvalidDot))
Reducer: null
###
> qi8.IsNotNaN
qi8.IsNotNaN : o
*** Error: (3,4) Node: qi8.IsNotNaN, Message: Invalid use of '.'
Binder : Guard(?1: qi8, Error(ErrInvalidDot))
Reducer: null
###
> r8.Bits
r8.Bits : i8
Binder : Float.Bits(r8)
###
> r4.Bits
r4.Bits : i4
Binder : Float.Bits(r4)
###
> ia.Bits
ia.Bits : v
*** Error: (2,3) Node: ia.Bits, Message: Invalid use of '.'
Binder : Error(ErrInvalidDot)
###
> i8.Bits
i8.Bits : v
*** Error: (2,3) Node: i8.Bits, Message: Invalid use of '.'
Binder : Error(ErrInvalidDot)
###
> qr8.Bits
qr8.Bits : i8?
Binder : Guard(?1: qr8, Float.Bits(?1))
###
> qr4.Bits
qr4.Bits : i4?
Binder : Guard(?1: qr4, Float.Bits(?1))
###
> qia.Bits
qia.Bits : o
*** Error: (3,4) Node: qia.Bits, Message: Invalid use of '.'
Binder : Guard(?1: qia, Error(ErrInvalidDot))
Reducer: null
###
> qi8.Bits
qi8.Bits : o
*** Error: (3,4) Node: qi8.Bits, Message: Invalid use of '.'
Binder : Guard(?1: qi8, Error(ErrInvalidDot))
Reducer: null
###
> 0r8.IsNaN
0.IsNaN : b
Binder : Float.IsNaN(0)
Reducer: false
###
> 0r4.IsNaN
0.IsNaN : b
Binder : Float.IsNaN(0)
Reducer: false
###
> 1r8.IsNaN
1.IsNaN : b
Binder : Float.IsNaN(1)
Reducer: false
###
> 1r4.IsNaN
1.IsNaN : b
Binder : Float.IsNaN(1)
Reducer: false
###
> (1r8/0).IsNaN
(1 / 0).IsNaN : b
Binder : Float.IsNaN(Mul(1, [/] 0))
Reducer: false
###
> (1r4/0).IsNaN
(1 / 0).IsNaN : b
Binder : Float.IsNaN(Mul(1, [/] 0))
Reducer: false
###
> (0r8/0).IsNaN
(0 / 0).IsNaN : b
Binder : Float.IsNaN(Mul(0, [/] 0))
Reducer: true
###
> (0r4/0).IsNaN // Promotes to R8. REVIEW: Should this promote?
(0 / 0).IsNaN : b
Binder : Float.IsNaN(Mul(0, [/] 0))
Reducer: true
###
> CastR4(0/0).IsNaN
CastR4(0 / 0).IsNaN : b
Binder : Float.IsNaN(CastR4(Mul(0, [/] 0)))
Reducer: true
###
> 0r8.IsNotNaN
0.IsNotNaN : b
Binder : Float.IsNotNaN(0)
Reducer: true
###
> 0r4.IsNotNaN
0.IsNotNaN : b
Binder : Float.IsNotNaN(0)
Reducer: true
###
> 1r8.IsNotNaN
1.IsNotNaN : b
Binder : Float.IsNotNaN(1)
Reducer: true
###
> 1r4.IsNotNaN
1.IsNotNaN : b
Binder : Float.IsNotNaN(1)
Reducer: true
###
> (1r8/0).IsNotNaN
(1 / 0).IsNotNaN : b
Binder : Float.IsNotNaN(Mul(1, [/] 0))
Reducer: true
###
> (1r4/0).IsNotNaN
(1 / 0).IsNotNaN : b
Binder : Float.IsNotNaN(Mul(1, [/] 0))
Reducer: true
###
> (0r8/0).IsNotNaN
(0 / 0).IsNotNaN : b
Binder : Float.IsNotNaN(Mul(0, [/] 0))
Reducer: false
###
> (0r4/0).IsNotNaN // Promotes to R8. REVIEW: Should this promote?
(0 / 0).IsNotNaN : b
Binder : Float.IsNotNaN(Mul(0, [/] 0))
Reducer: false
###
> CastR4(0/0).IsNotNaN
CastR4(0 / 0).IsNotNaN : b
Binder : Float.IsNotNaN(CastR4(Mul(0, [/] 0)))
Reducer: false
###
> 0r8.Bits.Hex
0.Bits.Hex : s
Binder : Int.Hex(Float.Bits(0))
Reducer: "0000000000000000"
###
> 0r4.Bits.Hex
0.Bits.Hex : s
Binder : Int.Hex(Float.Bits(0))
Reducer: "00000000"
###
> 1r8.Bits.Hex
1.Bits.Hex : s
Binder : Int.Hex(Float.Bits(1))
Reducer: "3FF0000000000000"
###
> 1r4.Bits.Hex
1.Bits.Hex : s
Binder : Int.Hex(Float.Bits(1))
Reducer: "3F800000"
###
> 3.5r8.Bits.Hex
3.5.Bits.Hex : s
Binder : Int.Hex(Float.Bits(3.5))
Reducer: "400C000000000000"
###
> 3.5r4.Bits.Hex
3.5.Bits.Hex : s
Binder : Int.Hex(Float.Bits(3.5))
Reducer: "40600000"
###
> (1r8/0).Bits.Hex
(1 / 0).Bits.Hex : s
Binder : Int.Hex(Float.Bits(Mul(1, [/] 0)))
Reducer: "7FF0000000000000"
###
> (1r4/0).Bits.Hex
(1 / 0).Bits.Hex : s
Binder : Int.Hex(Float.Bits(Mul(1, [/] 0)))
Reducer: "7FF0000000000000"
###
> (0r8/0).Bits.Hex
(0 / 0).Bits.Hex : s
Binder : Int.Hex(Float.Bits(Mul(0, [/] 0)))
Reducer: "FFF8000000000000"
###
> (0r4/0).Bits.Hex // Promotes to R8. REVIEW: Should this promote?
(0 / 0).Bits.Hex : s
Binder : Int.Hex(Float.Bits(Mul(0, [/] 0)))
Reducer: "FFF8000000000000"
###
> CastR4(0r/0).Bits.Hex
CastR4(0 / 0).Bits.Hex : s
Binder : Int.Hex(Float.Bits(CastR4(Mul(0, [/] 0))))
Reducer: "FFC00000"
###
> (-0r8).IsNaN
(-0).IsNaN : b
Binder : Float.IsNaN(-0)
Reducer: false
###
> (-0r4).IsNaN
(-0).IsNaN : b
Binder : Float.IsNaN(-0)
Reducer: false
###
> (-1r8).IsNaN
(-1).IsNaN : b
Binder : Float.IsNaN(-1)
Reducer: false
###
> (-1r4).IsNaN
(-1).IsNaN : b
Binder : Float.IsNaN(-1)
Reducer: false
###
> (-1r8/0).IsNaN
(-1 / 0).IsNaN : b
Binder : Float.IsNaN(Mul(-1, [/] 0))
Reducer: false
###
> (-1r4/0).IsNaN
(-1 / 0).IsNaN : b
Binder : Float.IsNaN(Mul(-1, [/] 0))
Reducer: false
###
> (-(0r8/0)).IsNaN
(-(0 / 0)).IsNaN : b
Binder : Float.IsNaN(Add([-] Mul(0, [/] 0)))
Reducer: true
###
> (-(0r4/0)).IsNaN // Promotes to R8. REVIEW: Should this promote?
(-(0 / 0)).IsNaN : b
Binder : Float.IsNaN(Add([-] Mul(0, [/] 0)))
Reducer: true
###
> CastR4(-(0r/0)).IsNaN
CastR4(-(0 / 0)).IsNaN : b
Binder : Float.IsNaN(CastR4(Add([-] Mul(0, [/] 0))))
Reducer: true
###
> (-0r8).IsNotNaN
(-0).IsNotNaN : b
Binder : Float.IsNotNaN(-0)
Reducer: true
###
> (-0r4).IsNotNaN
(-0).IsNotNaN : b
Binder : Float.IsNotNaN(-0)
Reducer: true
###
> (-1r8).IsNotNaN
(-1).IsNotNaN : b
Binder : Float.IsNotNaN(-1)
Reducer: true
###
> (-1r4).IsNotNaN
(-1).IsNotNaN : b
Binder : Float.IsNotNaN(-1)
Reducer: true
###
> (-1r8/0).IsNotNaN
(-1 / 0).IsNotNaN : b
Binder : Float.IsNotNaN(Mul(-1, [/] 0))
Reducer: true
###
> (-1r4/0).IsNotNaN
(-1 / 0).IsNotNaN : b
Binder : Float.IsNotNaN(Mul(-1, [/] 0))
Reducer: true
###
> (-(0r8/0)).IsNotNaN
(-(0 / 0)).IsNotNaN : b
Binder : Float.IsNotNaN(Add([-] Mul(0, [/] 0)))
Reducer: false
###
> (-(0r4/0)).IsNotNaN // Promotes to R8. REVIEW: Should this promote?
(-(0 / 0)).IsNotNaN : b
Binder : Float.IsNotNaN(Add([-] Mul(0, [/] 0)))
Reducer: false
###
> CastR4(-(0r/0)).IsNotNaN
CastR4(-(0 / 0)).IsNotNaN : b
Binder : Float.IsNotNaN(CastR4(Add([-] Mul(0, [/] 0))))
Reducer: false
###
> (-0r8).Bits.Hex
(-0).Bits.Hex : s
Binder : Int.Hex(Float.Bits(-0))
Reducer: "8000000000000000"
###
> (-0r4).Bits.Hex
(-0).Bits.Hex : s
Binder : Int.Hex(Float.Bits(-0))
Reducer: "80000000"
###
> (-1r8).Bits.Hex
(-1).Bits.Hex : s
Binder : Int.Hex(Float.Bits(-1))
Reducer: "BFF0000000000000"
###
> (-1r4).Bits.Hex
(-1).Bits.Hex : s
Binder : Int.Hex(Float.Bits(-1))
Reducer: "BF800000"
###
> (-3.5r8).Bits.Hex
(-3.5).Bits.Hex : s
Binder : Int.Hex(Float.Bits(-3.5))
Reducer: "C00C000000000000"
###
> (-3.5r4).Bits.Hex
(-3.5).Bits.Hex : s
Binder : Int.Hex(Float.Bits(-3.5))
Reducer: "C0600000"
###
> (-1r8/0).Bits.Hex
(-1 / 0).Bits.Hex : s
Binder : Int.Hex(Float.Bits(Mul(-1, [/] 0)))
Reducer: "FFF0000000000000"
###
> (-1r4/0).Bits.Hex
(-1 / 0).Bits.Hex : s
Binder : Int.Hex(Float.Bits(Mul(-1, [/] 0)))
Reducer: "FFF0000000000000"
###
> (-(0r8/0)).Bits.Hex
(-(0 / 0)).Bits.Hex : s
Binder : Int.Hex(Float.Bits(Add([-] Mul(0, [/] 0))))
Reducer: "7FF8000000000000"
###
> (-(0r4/0)).Bits.Hex // Promotes to R8. REVIEW: Should this promote?
(-(0 / 0)).Bits.Hex : s
Binder : Int.Hex(Float.Bits(Add([-] Mul(0, [/] 0))))
Reducer: "7FF8000000000000"
###
> CastR4(-(0r/0)).Bits.Hex
CastR4(-(0 / 0)).Bits.Hex : s
Binder : Int.Hex(Float.Bits(CastR4(Add([-] Mul(0, [/] 0)))))
Reducer: "7FC00000"
###
> Float.FromBits(0)
Float.FromBits(0) : r8
Binder : Float.FromBits(0)
Reducer: 0
###
> Float.FromBits(0x3FF shl 52)
Float.FromBits(1023 shl 52) : r8
Binder : Float.FromBits(Shl(1023, 52))
Reducer: 1
###
> Float.FromBits(0x7FF shl 52)
Float.FromBits(2047 shl 52) : r8
Binder : Float.FromBits(Shl(2047, 52))
Reducer: ∞
###
> Float.FromBits(0x7FF shl 52 bor 1)
Float.FromBits(2047 shl 52 bor 1) : r8
Binder : Float.FromBits(BitOr(Shl(2047, 52), 1))
Reducer: NaN
###
> Float.FromBits(0i4)
Float.FromBits(0) : r4
Binder : Float.FromBits(0)
Reducer: 0
###
> Float.FromBits(0x7Fi4 shl 23)
Float.FromBits(127 shl 23) : r4
Binder : Float.FromBits(Shl(127, 23))
Reducer: 1
###
> Float.FromBits(0xFFi4 shl 23)
Float.FromBits(255 shl 23) : r4
Binder : Float.FromBits(Shl(255, 23))
Reducer: ∞
###
> Float.FromBits(0xFFi4 shl 23 bor 1i4)
Float.FromBits(255 shl 23 bor 1) : r4
Binder : Float.FromBits(BitOr(Shl(255, 23), 1))
Reducer: NaN
###
> Float.FromBits((0) bor (1 shl 63))
Float.FromBits(0 bor 1 shl 63) : r8
Binder : Float.FromBits(BitOr(0, Shl(1, 63)))
Reducer: -0
###
> Float.FromBits((0x3FF shl 52) bor (1 shl 63))
Float.FromBits(1023 shl 52 bor 1 shl 63) : r8
Binder : Float.FromBits(BitOr(Shl(1023, 52), Shl(1, 63)))
Reducer: -1
###
> Float.FromBits((0x7FF shl 52) bor (1 shl 63))
Float.FromBits(2047 shl 52 bor 1 shl 63) : r8
Binder : Float.FromBits(BitOr(Shl(2047, 52), Shl(1, 63)))
Reducer: -∞
###
> Float.FromBits((0x7FF shl 52 bor 1) bor (1 shl 63))
Float.FromBits(2047 shl 52 bor 1 bor 1 shl 63) : r8
Binder : Float.FromBits(BitOr(Shl(2047, 52), 1, Shl(1, 63)))
Reducer: NaN
###
> Float.FromBits((0i4) bor (1i4 shl 31))
Float.FromBits(0 bor 1 shl 31) : r4
Binder : Float.FromBits(BitOr(0, Shl(1, 31)))
Reducer: -0
###
> Float.FromBits((0x7Fi4 shl 23) bor (1i4 shl 31))
Float.FromBits(127 shl 23 bor 1 shl 31) : r4
Binder : Float.FromBits(BitOr(Shl(127, 23), Shl(1, 31)))
Reducer: -1
###
> Float.FromBits((0xFFi4 shl 23) bor (1i4 shl 31))
Float.FromBits(255 shl 23 bor 1 shl 31) : r4
Binder : Float.FromBits(BitOr(Shl(255, 23), Shl(1, 31)))
Reducer: -∞
###
> Float.FromBits((0xFFi4 shl 23 bor 1i4) bor (1i4 shl 31))
Float.FromBits(255 shl 23 bor 1 bor 1 shl 31) : r4
Binder : Float.FromBits(BitOr(Shl(255, 23), 1, Shl(1, 31)))
Reducer: NaN
###

**** New globals: {b:b*, d:d*, i1:i1*, i2:i2*, i4:i4*, i8:i8*, ia:i*, qb:b?*, qd:d?*, qi1:i1?*, qi2:i2?*, qi4:i4?*, qi8:i8?*, qia:i?*, 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*}

> Float.IsNaN(s)
Float.IsNaN(s) : b*
*** Error: (12,13) Node: s, Message: Invalid operand type: cannot convert type 's' to 'r8'
Binder : ForEach(*1: s, Float.IsNaN(Error(ErrBadType_Src_Dst)))
###
> Float.IsNaN(d)
Float.IsNaN(d) : b*
*** Error: (12,13) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : ForEach(*1: d, Float.IsNaN(Error(ErrBadType_Src_Dst)))
###
> Float.IsNaN(r8)
Float.IsNaN(r8) : b*
Binder : ForEach(*1: r8, Float.IsNaN(*1))
###
> Float.IsNaN(r4)
Float.IsNaN(r4) : b*
Binder : ForEach(*1: r4, Float.IsNaN(*1))
###
> Float.IsNaN(ia)
Float.IsNaN(ia) : b*
Binder : ForEach(*1: ia, Float.IsNaN(Num<r8>(*1)))
###
> Float.IsNaN(i8)
Float.IsNaN(i8) : b*
Binder : ForEach(*1: i8, Float.IsNaN(Num<r8>(*1)))
###
> Float.IsNaN(qd)
Float.IsNaN(qd) : b?*
*** Error: (12,14) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : ForEach(*1: qd, Guard(?2: *1, Float.IsNaN(Error(ErrBadType_Src_Dst))))
###
> Float.IsNaN(qr8)
Float.IsNaN(qr8) : b?*
Binder : ForEach(*1: qr8, Guard(?2: *1, Float.IsNaN(?2)))
###
> Float.IsNaN(qr4)
Float.IsNaN(qr4) : b?*
Binder : ForEach(*1: qr4, Guard(?2: *1, Float.IsNaN(?2)))
###
> Float.IsNaN(qia)
Float.IsNaN(qia) : b?*
Binder : ForEach(*1: qia, Guard(?2: *1, Float.IsNaN(Num<r8>(?2))))
###
> Float.IsNaN(qi8)
Float.IsNaN(qi8) : b?*
Binder : ForEach(*1: qi8, Guard(?2: *1, Float.IsNaN(Num<r8>(?2))))
###
> Float.IsNotNaN(s)
Float.IsNotNaN(s) : b*
*** Error: (15,16) Node: s, Message: Invalid operand type: cannot convert type 's' to 'r8'
Binder : ForEach(*1: s, Float.IsNotNaN(Error(ErrBadType_Src_Dst)))
###
> Float.IsNotNaN(d)
Float.IsNotNaN(d) : b*
*** Error: (15,16) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : ForEach(*1: d, Float.IsNotNaN(Error(ErrBadType_Src_Dst)))
###
> Float.IsNotNaN(r8)
Float.IsNotNaN(r8) : b*
Binder : ForEach(*1: r8, Float.IsNotNaN(*1))
###
> Float.IsNotNaN(r4)
Float.IsNotNaN(r4) : b*
Binder : ForEach(*1: r4, Float.IsNotNaN(*1))
###
> Float.IsNotNaN(ia)
Float.IsNotNaN(ia) : b*
Binder : ForEach(*1: ia, Float.IsNotNaN(Num<r8>(*1)))
###
> Float.IsNotNaN(i8)
Float.IsNotNaN(i8) : b*
Binder : ForEach(*1: i8, Float.IsNotNaN(Num<r8>(*1)))
###
> Float.IsNotNaN(qd)
Float.IsNotNaN(qd) : b?*
*** Error: (15,17) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : ForEach(*1: qd, Guard(?2: *1, Float.IsNotNaN(Error(ErrBadType_Src_Dst))))
###
> Float.IsNotNaN(qr8)
Float.IsNotNaN(qr8) : b?*
Binder : ForEach(*1: qr8, Guard(?2: *1, Float.IsNotNaN(?2)))
###
> Float.IsNotNaN(qr4)
Float.IsNotNaN(qr4) : b?*
Binder : ForEach(*1: qr4, Guard(?2: *1, Float.IsNotNaN(?2)))
###
> Float.IsNotNaN(qia)
Float.IsNotNaN(qia) : b?*
Binder : ForEach(*1: qia, Guard(?2: *1, Float.IsNotNaN(Num<r8>(?2))))
###
> Float.IsNotNaN(qi8)
Float.IsNotNaN(qi8) : b?*
Binder : ForEach(*1: qi8, Guard(?2: *1, Float.IsNotNaN(Num<r8>(?2))))
###
> Float.Bits(s)
Float.Bits(s) : i8*
*** Error: (11,12) Node: s, Message: Invalid operand type: cannot convert type 's' to 'r8'
Binder : ForEach(*1: s, Float.Bits(Error(ErrBadType_Src_Dst)))
###
> Float.Bits(d)
Float.Bits(d) : i8*
*** Error: (11,12) Node: d, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : ForEach(*1: d, Float.Bits(Error(ErrBadType_Src_Dst)))
###
> Float.Bits(r8)
Float.Bits(r8) : i8*
Binder : ForEach(*1: r8, Float.Bits(*1))
###
> Float.Bits(r4)
Float.Bits(r4) : i4*
Binder : ForEach(*1: r4, Float.Bits(*1))
###
> Float.Bits(ia)
Float.Bits(ia) : i8*
Binder : ForEach(*1: ia, Float.Bits(Num<r8>(*1)))
###
> Float.Bits(i8)
Float.Bits(i8) : i8*
Binder : ForEach(*1: i8, Float.Bits(Num<r8>(*1)))
###
> Float.Bits(qd)
Float.Bits(qd) : i8?*
*** Error: (11,13) Node: qd, Message: Invalid operand type: cannot convert type 'd' to 'r8'
Binder : ForEach(*1: qd, Guard(?2: *1, Float.Bits(Error(ErrBadType_Src_Dst))))
###
> Float.Bits(qr8)
Float.Bits(qr8) : i8?*
Binder : ForEach(*1: qr8, Guard(?2: *1, Float.Bits(?2)))
###
> Float.Bits(qr4)
Float.Bits(qr4) : i4?*
Binder : ForEach(*1: qr4, Guard(?2: *1, Float.Bits(?2)))
###
> Float.Bits(qia)
Float.Bits(qia) : i8?*
Binder : ForEach(*1: qia, Guard(?2: *1, Float.Bits(Num<r8>(?2))))
###
> Float.Bits(qi8)
Float.Bits(qi8) : i8?*
Binder : ForEach(*1: qi8, Guard(?2: *1, Float.Bits(Num<r8>(?2))))
###
> r8.IsNaN
r8.IsNaN : b*
Binder : ForEach(*1: r8, Float.IsNaN(*1))
###
> r4.IsNaN
r4.IsNaN : b*
Binder : ForEach(*1: r4, Float.IsNaN(*1))
###
> ia.IsNaN
ia.IsNaN : v*
*** Error: (2,3) Node: ia.IsNaN, Message: Invalid use of '.'
Binder : ForEach(*1: ia, Error(ErrInvalidDot))
###
> i8.IsNaN
i8.IsNaN : v*
*** Error: (2,3) Node: i8.IsNaN, Message: Invalid use of '.'
Binder : ForEach(*1: i8, Error(ErrInvalidDot))
###
> qr8.IsNaN
qr8.IsNaN : b?*
Binder : ForEach(*1: qr8, Guard(?2: *1, Float.IsNaN(?2)))
###
> qr4.IsNaN
qr4.IsNaN : b?*
Binder : ForEach(*1: qr4, Guard(?2: *1, Float.IsNaN(?2)))
###
> qia.IsNaN
qia.IsNaN : o*
*** Error: (3,4) Node: qia.IsNaN, Message: Invalid use of '.'
Binder : ForEach(*1: qia, Guard(?2: *1, Error(ErrInvalidDot)))
Reducer: ForEach(*1: qia, null)
###
> qi8.IsNaN
qi8.IsNaN : o*
*** Error: (3,4) Node: qi8.IsNaN, Message: Invalid use of '.'
Binder : ForEach(*1: qi8, Guard(?2: *1, Error(ErrInvalidDot)))
Reducer: ForEach(*1: qi8, null)
###
> r8.IsNotNaN
r8.IsNotNaN : b*
Binder : ForEach(*1: r8, Float.IsNotNaN(*1))
###
> r4.IsNotNaN
r4.IsNotNaN : b*
Binder : ForEach(*1: r4, Float.IsNotNaN(*1))
###
> ia.IsNotNaN
ia.IsNotNaN : v*
*** Error: (2,3) Node: ia.IsNotNaN, Message: Invalid use of '.'
Binder : ForEach(*1: ia, Error(ErrInvalidDot))
###
> i8.IsNotNaN
i8.IsNotNaN : v*
*** Error: (2,3) Node: i8.IsNotNaN, Message: Invalid use of '.'
Binder : ForEach(*1: i8, Error(ErrInvalidDot))
###
> qr8.IsNotNaN
qr8.IsNotNaN : b?*
Binder : ForEach(*1: qr8, Guard(?2: *1, Float.IsNotNaN(?2)))
###
> qr4.IsNotNaN
qr4.IsNotNaN : b?*
Binder : ForEach(*1: qr4, Guard(?2: *1, Float.IsNotNaN(?2)))
###
> qia.IsNotNaN
qia.IsNotNaN : o*
*** Error: (3,4) Node: qia.IsNotNaN, Message: Invalid use of '.'
Binder : ForEach(*1: qia, Guard(?2: *1, Error(ErrInvalidDot)))
Reducer: ForEach(*1: qia, null)
###
> qi8.IsNotNaN
qi8.IsNotNaN : o*
*** Error: (3,4) Node: qi8.IsNotNaN, Message: Invalid use of '.'
Binder : ForEach(*1: qi8, Guard(?2: *1, Error(ErrInvalidDot)))
Reducer: ForEach(*1: qi8, null)
###
> r8.Bits
r8.Bits : i8*
Binder : ForEach(*1: r8, Float.Bits(*1))
###
> r4.Bits
r4.Bits : i4*
Binder : ForEach(*1: r4, Float.Bits(*1))
###
> ia.Bits
ia.Bits : v*
*** Error: (2,3) Node: ia.Bits, Message: Invalid use of '.'
Binder : ForEach(*1: ia, Error(ErrInvalidDot))
###
> i8.Bits
i8.Bits : v*
*** Error: (2,3) Node: i8.Bits, Message: Invalid use of '.'
Binder : ForEach(*1: i8, Error(ErrInvalidDot))
###
> qr8.Bits
qr8.Bits : i8?*
Binder : ForEach(*1: qr8, Guard(?2: *1, Float.Bits(?2)))
###
> qr4.Bits
qr4.Bits : i4?*
Binder : ForEach(*1: qr4, Guard(?2: *1, Float.Bits(?2)))
###
> qia.Bits
qia.Bits : o*
*** Error: (3,4) Node: qia.Bits, Message: Invalid use of '.'
Binder : ForEach(*1: qia, Guard(?2: *1, Error(ErrInvalidDot)))
Reducer: ForEach(*1: qia, null)
###
> qi8.Bits
qi8.Bits : o*
*** Error: (3,4) Node: qi8.Bits, Message: Invalid use of '.'
Binder : ForEach(*1: qi8, Guard(?2: *1, Error(ErrInvalidDot)))
Reducer: ForEach(*1: qi8, null)
###
