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

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

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

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

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