﻿``` inf := 1r8 / 0r8;
``` nan := 0r8 / 0r8;
``` r8_s := [ nan, -inf, -1, -0r8, 0r8, 1, 2, 3.7, inf ];
``` r8qs := [null] ++ r8_s;

// These should be mostly false - true only for same values with operators that allow = (LE, GE, EQ).

Map(x: r8_s, Map(y: r8_s, { EQ: x @ = y @= x, NE: x !@ = y @= x, X: x, Y: y }))
Map(x: r8_s, Map(y: r8_s, { ET: x $ = y @= x, NT: x !$ = y @= x, X: x, Y: y }))
Map(x: r8_s, Map(y: r8_s, { GT: x @>  y @= x, LE: x  @<= y @= x, X: x, Y: y }))
Map(x: r8_s, Map(y: r8_s, { GE: x @>= y @= x, LT: x  @<  y @= x, X: x, Y: y }))

Map(x: r8_s, Map(y: r8qs, { EQ: x @ = y @= x, NE: x !@ = y @= x, X: x, Y: y }))
Map(x: r8_s, Map(y: r8qs, { ET: x $ = y @= x, NT: x !$ = y @= x, X: x, Y: y }))
Map(x: r8_s, Map(y: r8qs, { GT: x @>  y @= x, LE: x  @<= y @= x, X: x, Y: y }))
Map(x: r8_s, Map(y: r8qs, { GE: x @>= y @= x, LT: x  @<  y @= x, X: x, Y: y }))

Map(x: r8qs, Map(y: r8_s, { EQ: x @ = y @= x, NE: x !@ = y @= x, X: x, Y: y }))
Map(x: r8qs, Map(y: r8_s, { ET: x $ = y @= x, NT: x !$ = y @= x, X: x, Y: y }))
Map(x: r8qs, Map(y: r8_s, { GT: x @>  y @= x, LE: x  @<= y @= x, X: x, Y: y }))
Map(x: r8qs, Map(y: r8_s, { GE: x @>= y @= x, LT: x  @<  y @= x, X: x, Y: y }))

Map(x: r8qs, Map(y: r8qs, { EQ: x @ = y @= x, NE: x !@ = y @= x, X: x, Y: y }))
Map(x: r8qs, Map(y: r8qs, { ET: x $ = y @= x, NT: x !$ = y @= x, X: x, Y: y }))
Map(x: r8qs, Map(y: r8qs, { GT: x @>  y @= x, LE: x  @<= y @= x, X: x, Y: y }))
Map(x: r8qs, Map(y: r8qs, { GE: x @>= y @= x, LT: x  @<  y @= x, X: x, Y: y }))
