if IsNaN(x) | IsNaN(y) then
return 0b0
+ if IsInf(x) & IsInf(y) then
+ return x.sign = y.sign
+ if IsInf(x) | IsInf(y) then
+ return 0b0
if IsZero(x) & IsZero(y) then
return 0b1
if IsZero(x) | IsZero(y) then
if IsNaN(x) | IsNaN(y) then
return 0b0
+ if IsInf(x) & IsInf(y) then
+ return ¬IsNeg(x) & IsNeg(y)
+ if IsInf(x) then
+ return ¬IsNeg(x)
+ if IsInf(y) then
+ return IsNeg(y)
if IsZero(x) & IsZero(y) then
return 0b0
if IsZero(x) then
if IsNaN(x) | IsNaN(y) then
return 0b0
+ if IsInf(x) & IsInf(y) then
+ return IsNeg(x) & ¬IsNeg(y)
+ if IsInf(x) then
+ return IsNeg(x)
+ if IsInf(y) then
+ return ¬IsNeg(y)
if IsZero(x) & IsZero(y) then
return 0b0
if IsZero(x) then