OpenSCAD test run report

Sysid: linux_x86_64_llvmpipe-_llvm-6.0,-256_cbsb

Result summary: 1315 / 1319 tests passed (100%)

System info

OpenSCAD Version: 2020.06.30
System information: Linux 4.15.0-1028-gcp #29~16.04.1-Ubuntu SMP Tue Feb 12 16:31:10 UTC 2019 x86_64 Ubuntu 16.04.6 LTS 2 CPUs 7.79 GB RAM
User Agent: OpenSCAD/2020.06.30 (Linux x86_64; Ubuntu 16.04.6 LTS)
Compiler: GCC "5.4.0 20160609" 64bit
MinGW build: No
Debug build: Yes
Boost version: 1_58
Eigen version: 3.2.92
CGAL version, kernels: 4.11, Cartesian, Extended_cartesian, Epeck
OpenCSG version: unknown, <1.3.2
Qt version: 5.5.1
QScintilla version: 2.9.1
InputDrivers: 
GLib version: 2.48.2
lodepng version: 20180910
libzip version: 1.0.1
fontconfig version: 2.11.94
freetype version: 2.6.1
harfbuzz version: 1.0.1
lib3mf version: 1.8.1
Features: input-driver-dbus, function-literals, lazy-union, mouse-selection
Application Path: /home/travis/build/openscad/openscad/tests/..
Documents Path: /home/travis/.local/share
User Documents Path: /home/travis
Resource Path: /home/travis/build/openscad/openscad
User Library Path: /home/travis/.local/share/OpenSCAD/libraries
User Config Path: 
Backup Path: /home/travis/.local/share/OpenSCAD/backups
OPENSCADPATH: /home/travis/build/openscad/openscad/tests/../libraries
OpenSCAD library path:
  /home/travis/build/openscad/openscad/tests/../libraries
  /home/travis/.local/share/OpenSCAD/libraries
  /home/travis/build/openscad/openscad/libraries

OPENSCAD_FONT_PATH: 
OpenSCAD font path:
  /usr/share/fonts
  /usr/local/share/fonts
  /home/travis/.local/share/fonts
  /home/travis/.fonts
  /usr/X11/lib/X11/fonts
  /System/Library/Fonts
  /Library/Fonts
  /home/travis/Library/Fonts
  /usr/share/fonts/truetype
  /usr/share/fonts/truetype/dejavu
  /usr/share/fonts/truetype/liberation


GLEW version: 1.13.0
OpenGL Version: 3.0 Mesa 18.0.5
GL Renderer: llvmpipe (LLVM 6.0, 256 bits)
GL Vendor: VMware, Inc.
RGBA(8888), depth(24), stencil(8)
GL_ARB_framebuffer_object: yes
GL_EXT_framebuffer_object: yes
GL_EXT_packed_depth_stencil: yes
GL context creator: GLX
PNG generator: lodepng
GLX version: 1.4
OS info: Linux 4.15.0-1028-gcp #29~16.04.1-Ubuntu SMP Tue Feb 12 16:31:10 UTC 2019
Machine: x86_64
Git branch: (HEAD detached at FETCH_HEAD) from origin https://github.com/openscad/openscad.git
Git upstream:

Image comparer: ImageMagick

Tests start time: Jun 30 12:36 UTC

Tests end time: Jun 30 12:42 UTC

Image tests

all given tests passed

Text tests

echotest_expression-evaluation-tests
60/1319 Testing: echotest_expression-evaluation-tests
60/1319 Test: echotest_expression-evaluation-tests
Command: "/opt/pyenv/shims/python3" "/home/travis/build/openscad/openscad/tests/test_cmdline_tool.py" "--comparator=" "-c" "/usr/bin/convert" "-s" "echo" "-t" "echotest" "-f" "expression-evaluation-tests" "/home/travis/build/openscad/openscad/tests/../openscad" "/home/travis/build/openscad/openscad/tests/../testdata/scad/misc/expression-evaluation-tests.scad" "-o"
Directory: /home/travis/build/openscad/openscad/tests
"echotest_expression-evaluation-tests" start time: Jun 30 12:36 UTC
Output:
----------------------------------------------------------
expression-evaluation-tests
run_test() cmdline: /home/travis/build/openscad/openscad/tests/../openscad /home/travis/build/openscad/openscad/tests/../testdata/scad/misc/expression-evaluation-tests.scad -o /home/travis/build/openscad/openscad/tests/echotest-output/expression-evaluation-tests-actual.echo
using font directory: /home/travis/build/openscad/openscad/testdata/ttf
text comparison: 
 expected textfile:  /home/travis/build/openscad/openscad/tests/regression/echotest/expression-evaluation-tests-expected.echo
 actual textfile:  /home/travis/build/openscad/openscad/tests/echotest-output/expression-evaluation-tests-actual.echo
--- 

+++ 

@@ -321,41 +321,41 @@

 ECHO: v = [1], op = "[v]", result = undef
 ECHO: v = [1], op = "v[0]", result = 1
 ECHO: v = [1], op = "v[4]", result = undef
-ECHO: v = [0 : 1 : 0], op = "not v", result = false
-ECHO: v = [0 : 1 : 0], op = "-v", result = undef
-ECHO: v = [0 : 1 : 0], op = "v *", result = undef
-ECHO: v = [0 : 1 : 0], op = "* v", result = undef
-ECHO: v = [0 : 1 : 0], op = "v /", result = undef
-ECHO: v = [0 : 1 : 0], op = "/ v", result = undef
-ECHO: v = [0 : 1 : 0], op = "v %", result = undef
-ECHO: v = [0 : 1 : 0], op = "% v", result = undef
-ECHO: v = [0 : 1 : 0], op = "v +", result = undef
-ECHO: v = [0 : 1 : 0], op = "+ v", result = undef
-ECHO: v = [0 : 1 : 0], op = "v -", result = undef
-ECHO: v = [0 : 1 : 0], op = "- v", result = undef
-ECHO: v = [0 : 1 : 0], op = "v and true", result = true
-ECHO: v = [0 : 1 : 0], op = "v and false", result = false
-ECHO: v = [0 : 1 : 0], op = "v or true", result = true
-ECHO: v = [0 : 1 : 0], op = "v or false", result = true
-ECHO: v = [0 : 1 : 0], op = "[v]", result = undef
-ECHO: v = [0 : 1 : 0], op = "v[0]", result = 0
-ECHO: v = [0 : 1 : 0], op = "v[4]", result = undef
-ECHO: v = [1 : 1 : 2], op = "not v", result = false
-ECHO: v = [1 : 1 : 2], op = "-v", result = undef
-ECHO: v = [1 : 1 : 2], op = "v *", result = undef
-ECHO: v = [1 : 1 : 2], op = "* v", result = undef
-ECHO: v = [1 : 1 : 2], op = "v /", result = undef
-ECHO: v = [1 : 1 : 2], op = "/ v", result = undef
-ECHO: v = [1 : 1 : 2], op = "v %", result = undef
-ECHO: v = [1 : 1 : 2], op = "% v", result = undef
-ECHO: v = [1 : 1 : 2], op = "v +", result = undef
-ECHO: v = [1 : 1 : 2], op = "+ v", result = undef
-ECHO: v = [1 : 1 : 2], op = "v -", result = undef
-ECHO: v = [1 : 1 : 2], op = "- v", result = undef
-ECHO: v = [1 : 1 : 2], op = "v and true", result = true
-ECHO: v = [1 : 1 : 2], op = "v and false", result = false
-ECHO: v = [1 : 1 : 2], op = "v or true", result = true
-ECHO: v = [1 : 1 : 2], op = "v or false", result = true
-ECHO: v = [1 : 1 : 2], op = "[v]", result = undef
-ECHO: v = [1 : 1 : 2], op = "v[0]", result = 1
-ECHO: v = [1 : 1 : 2], op = "v[4]", result = undef
+ECHO: v = [0 : 0 : 0], op = "not v", result = false
+ECHO: v = [0 : 0 : 0], op = "-v", result = undef
+ECHO: v = [0 : 0 : 0], op = "v *", result = undef
+ECHO: v = [0 : 0 : 0], op = "* v", result = undef
+ECHO: v = [0 : 0 : 0], op = "v /", result = undef
+ECHO: v = [0 : 0 : 0], op = "/ v", result = undef
+ECHO: v = [0 : 0 : 0], op = "v %", result = undef
+ECHO: v = [0 : 0 : 0], op = "% v", result = undef
+ECHO: v = [0 : 0 : 0], op = "v +", result = undef
+ECHO: v = [0 : 0 : 0], op = "+ v", result = undef
+ECHO: v = [0 : 0 : 0], op = "v -", result = undef
+ECHO: v = [0 : 0 : 0], op = "- v", result = undef
+ECHO: v = [0 : 0 : 0], op = "v and true", result = true
+ECHO: v = [0 : 0 : 0], op = "v and false", result = false
+ECHO: v = [0 : 0 : 0], op = "v or true", result = true
+ECHO: v = [0 : 0 : 0], op = "v or false", result = true
+ECHO: v = [0 : 0 : 0], op = "[v]", result = undef
+ECHO: v = [0 : 0 : 0], op = "v[0]", result = 0
+ECHO: v = [0 : 0 : 0], op = "v[4]", result = undef
+ECHO: v = [1 : 1 : 1], op = "not v", result = false
+ECHO: v = [1 : 1 : 1], op = "-v", result = undef
+ECHO: v = [1 : 1 : 1], op = "v *", result = undef
+ECHO: v = [1 : 1 : 1], op = "* v", result = undef
+ECHO: v = [1 : 1 : 1], op = "v /", result = undef
+ECHO: v = [1 : 1 : 1], op = "/ v", result = undef
+ECHO: v = [1 : 1 : 1], op = "v %", result = undef
+ECHO: v = [1 : 1 : 1], op = "% v", result = undef
+ECHO: v = [1 : 1 : 1], op = "v +", result = undef
+ECHO: v = [1 : 1 : 1], op = "+ v", result = undef
+ECHO: v = [1 : 1 : 1], op = "v -", result = undef
+ECHO: v = [1 : 1 : 1], op = "- v", result = undef
+ECHO: v = [1 : 1 : 1], op = "v and true", result = true
+ECHO: v = [1 : 1 : 1], op = "v and false", result = false
+ECHO: v = [1 : 1 : 1], op = "v or true", result = true
+ECHO: v = [1 : 1 : 1], op = "v or false", result = true
+ECHO: v = [1 : 1 : 1], op = "[v]", result = undef
+ECHO: v = [1 : 1 : 1], op = "v[0]", result = 1
+ECHO: v = [1 : 1 : 1], op = "v[4]", result = undef
<end of output>
Test time =   0.42 sec
----------------------------------------------------------
Test Failed.
"echotest_expression-evaluation-tests" end time: Jun 30 12:36 UTC
"echotest_expression-evaluation-tests" time elapsed: 00:00:00

    
echotest_echo-tests
61/1319 Testing: echotest_echo-tests
61/1319 Test: echotest_echo-tests
Command: "/opt/pyenv/shims/python3" "/home/travis/build/openscad/openscad/tests/test_cmdline_tool.py" "--comparator=" "-c" "/usr/bin/convert" "-s" "echo" "-t" "echotest" "-f" "echo-tests" "/home/travis/build/openscad/openscad/tests/../openscad" "/home/travis/build/openscad/openscad/tests/../testdata/scad/misc/echo-tests.scad" "-o"
Directory: /home/travis/build/openscad/openscad/tests
"echotest_echo-tests" start time: Jun 30 12:36 UTC
Output:
----------------------------------------------------------
echo-tests
run_test() cmdline: /home/travis/build/openscad/openscad/tests/../openscad /home/travis/build/openscad/openscad/tests/../testdata/scad/misc/echo-tests.scad -o /home/travis/build/openscad/openscad/tests/echotest-output/echo-tests-actual.echo
using font directory: /home/travis/build/openscad/openscad/testdata/ttf
text comparison: 
 expected textfile:  /home/travis/build/openscad/openscad/tests/regression/echotest/echo-tests-expected.echo
 actual textfile:  /home/travis/build/openscad/openscad/tests/echotest-output/echo-tests-actual.echo
--- 

+++ 

@@ -3,9 +3,9 @@

 ECHO: "stringvar"
 ECHO: a = 1, b = 2, true, c = false
 ECHO: [1, "vecstr", 2.34, false]
-ECHO: [1 : 2 : 10]
+ECHO: [1 : 1 : 1]
 ECHO: vec = [1, 2, 3]
-ECHO: range = [0 : 1 : 2]
+ECHO: range = [0 : 0 : 0]
 ECHO: "string generated by str()"
 ECHO: 0.8
 ECHO: 1.1e-10
<end of output>
Test time =   0.43 sec
----------------------------------------------------------
Test Failed.
"echotest_echo-tests" end time: Jun 30 12:36 UTC
"echotest_echo-tests" time elapsed: 00:00:00

    
echotest_concat-tests
99/1319 Testing: echotest_concat-tests
99/1319 Test: echotest_concat-tests
Command: "/opt/pyenv/shims/python3" "/home/travis/build/openscad/openscad/tests/test_cmdline_tool.py" "--comparator=" "-c" "/usr/bin/convert" "-s" "echo" "-t" "echotest" "-f" "concat-tests" "/home/travis/build/openscad/openscad/tests/../openscad" "/home/travis/build/openscad/openscad/tests/../testdata/scad/misc/concat-tests.scad" "-o"
Directory: /home/travis/build/openscad/openscad/tests
"echotest_concat-tests" start time: Jun 30 12:36 UTC
Output:
----------------------------------------------------------
concat-tests
run_test() cmdline: /home/travis/build/openscad/openscad/tests/../openscad /home/travis/build/openscad/openscad/tests/../testdata/scad/misc/concat-tests.scad -o /home/travis/build/openscad/openscad/tests/echotest-output/concat-tests-actual.echo
using font directory: /home/travis/build/openscad/openscad/testdata/ttf
text comparison: 
 expected textfile:  /home/travis/build/openscad/openscad/tests/regression/echotest/concat-tests-expected.echo
 actual textfile:  /home/travis/build/openscad/openscad/tests/echotest-output/concat-tests-actual.echo
--- 

+++ 

@@ -8,7 +8,7 @@

 ECHO: [true]
 ECHO: [3]
 ECHO: ["abc"]
-ECHO: [[0 : 1 : 10]]
+ECHO: [[0 : 0 : 0]]
 ECHO: "--- single vectors"
 ECHO: [1, 2, 3]
 ECHO: [[1, 2, 3]]
@@ -18,20 +18,20 @@

 ECHO: [3, 3]
 ECHO: [1, 2, 3]
 ECHO: [1, 2, 3, 4, 5]
-ECHO: [1, "text", false, [1 : 0.5 : 3]]
+ECHO: [1, "text", false, [1 : 1 : 1]]
 ECHO: "--- vector / element"
 ECHO: [3, 4, undef]
 ECHO: [3, 4, 5, 6]
 ECHO: [3, 4, 5, 6, true]
 ECHO: [3, 4, "5", 6, "test"]
 WARNING: begin is greater than the end, but step is positive, in file concat-tests.scad, line 33
-ECHO: [3, 4, true, 6, [4 : 1 : 3]]
+ECHO: [3, 4, true, 6, [4 : 4 : 4]]
 ECHO: "--- element / vector"
 ECHO: [3]
 ECHO: [3, 3, 4]
 ECHO: [true, 3, [4]]
 ECHO: ["9", 1, 2, 3]
-ECHO: [[6 : 2 : 9], 3, [4]]
+ECHO: [[6 : 6 : 6], 3, [4]]
 ECHO: "--- vector / vector"
 ECHO: [3, 4]
 ECHO: [[], 3, 4]
<end of output>
Test time =   0.42 sec
----------------------------------------------------------
Test Failed.
"echotest_concat-tests" end time: Jun 30 12:36 UTC
"echotest_concat-tests" time elapsed: 00:00:00

    
echotest_operators-tests
109/1319 Testing: echotest_operators-tests
109/1319 Test: echotest_operators-tests
Command: "/opt/pyenv/shims/python3" "/home/travis/build/openscad/openscad/tests/test_cmdline_tool.py" "--comparator=" "-c" "/usr/bin/convert" "-s" "echo" "-t" "echotest" "-f" "operators-tests" "/home/travis/build/openscad/openscad/tests/../openscad" "/home/travis/build/openscad/openscad/tests/../testdata/scad/misc/operators-tests.scad" "-o"
Directory: /home/travis/build/openscad/openscad/tests
"echotest_operators-tests" start time: Jun 30 12:36 UTC
Output:
----------------------------------------------------------
operators-tests
run_test() cmdline: /home/travis/build/openscad/openscad/tests/../openscad /home/travis/build/openscad/openscad/tests/../testdata/scad/misc/operators-tests.scad -o /home/travis/build/openscad/openscad/tests/echotest-output/operators-tests-actual.echo
using font directory: /home/travis/build/openscad/openscad/testdata/ttf
text comparison: 
 expected textfile:  /home/travis/build/openscad/openscad/tests/regression/echotest/operators-tests-expected.echo
 actual textfile:  /home/travis/build/openscad/openscad/tests/echotest-output/operators-tests-actual.echo
--- 

+++ 

@@ -54,12 +54,12 @@

 ECHO: false, " <  ", [1, 2, 3], "->", false
 ECHO: false, " <= ", [1, 2, 3], "->", false
 ECHO: false, " != ", [1, 2, 3], "->", true
-ECHO: false, " == ", [0 : 1 : 3], "->", false
-ECHO: false, " >  ", [0 : 1 : 3], "->", false
-ECHO: false, " >= ", [0 : 1 : 3], "->", false
-ECHO: false, " <  ", [0 : 1 : 3], "->", false
-ECHO: false, " <= ", [0 : 1 : 3], "->", false
-ECHO: false, " != ", [0 : 1 : 3], "->", true
+ECHO: false, " == ", [0 : 0 : 0], "->", false
+ECHO: false, " >  ", [0 : 0 : 0], "->", false
+ECHO: false, " >= ", [0 : 0 : 0], "->", false
+ECHO: false, " <  ", [0 : 0 : 0], "->", false
+ECHO: false, " <= ", [0 : 0 : 0], "->", false
+ECHO: false, " != ", [0 : 0 : 0], "->", true
 ECHO: false, " == ", undef, "->", false
 ECHO: false, " >  ", undef, "->", false
 ECHO: false, " >= ", undef, "->", false
@@ -120,12 +120,12 @@

 ECHO: true, " <  ", [1, 2, 3], "->", false
 ECHO: true, " <= ", [1, 2, 3], "->", false
 ECHO: true, " != ", [1, 2, 3], "->", true
-ECHO: true, " == ", [0 : 1 : 3], "->", false
-ECHO: true, " >  ", [0 : 1 : 3], "->", false
-ECHO: true, " >= ", [0 : 1 : 3], "->", false
-ECHO: true, " <  ", [0 : 1 : 3], "->", false
-ECHO: true, " <= ", [0 : 1 : 3], "->", false
-ECHO: true, " != ", [0 : 1 : 3], "->", true
+ECHO: true, " == ", [0 : 0 : 0], "->", false
+ECHO: true, " >  ", [0 : 0 : 0], "->", false
+ECHO: true, " >= ", [0 : 0 : 0], "->", false
+ECHO: true, " <  ", [0 : 0 : 0], "->", false
+ECHO: true, " <= ", [0 : 0 : 0], "->", false
+ECHO: true, " != ", [0 : 0 : 0], "->", true
 ECHO: true, " == ", undef, "->", false
 ECHO: true, " >  ", undef, "->", false
 ECHO: true, " >= ", undef, "->", false
@@ -186,12 +186,12 @@

 ECHO: -1, " <  ", [1, 2, 3], "->", false
 ECHO: -1, " <= ", [1, 2, 3], "->", false
 ECHO: -1, " != ", [1, 2, 3], "->", true
-ECHO: -1, " == ", [0 : 1 : 3], "->", false
-ECHO: -1, " >  ", [0 : 1 : 3], "->", false
-ECHO: -1, " >= ", [0 : 1 : 3], "->", false
-ECHO: -1, " <  ", [0 : 1 : 3], "->", false
-ECHO: -1, " <= ", [0 : 1 : 3], "->", false
-ECHO: -1, " != ", [0 : 1 : 3], "->", true
+ECHO: -1, " == ", [0 : 0 : 0], "->", false
+ECHO: -1, " >  ", [0 : 0 : 0], "->", false
+ECHO: -1, " >= ", [0 : 0 : 0], "->", false
+ECHO: -1, " <  ", [0 : 0 : 0], "->", false
+ECHO: -1, " <= ", [0 : 0 : 0], "->", false
+ECHO: -1, " != ", [0 : 0 : 0], "->", true
 ECHO: -1, " == ", undef, "->", false
 ECHO: -1, " >  ", undef, "->", false
 ECHO: -1, " >= ", undef, "->", false
@@ -252,12 +252,12 @@

 ECHO: 0, " <  ", [1, 2, 3], "->", false
 ECHO: 0, " <= ", [1, 2, 3], "->", false
 ECHO: 0, " != ", [1, 2, 3], "->", true
-ECHO: 0, " == ", [0 : 1 : 3], "->", false
-ECHO: 0, " >  ", [0 : 1 : 3], "->", false
-ECHO: 0, " >= ", [0 : 1 : 3], "->", false
-ECHO: 0, " <  ", [0 : 1 : 3], "->", false
-ECHO: 0, " <= ", [0 : 1 : 3], "->", false
-ECHO: 0, " != ", [0 : 1 : 3], "->", true
+ECHO: 0, " == ", [0 : 0 : 0], "->", false
+ECHO: 0, " >  ", [0 : 0 : 0], "->", false
+ECHO: 0, " >= ", [0 : 0 : 0], "->", false
+ECHO: 0, " <  ", [0 : 0 : 0], "->", false
+ECHO: 0, " <= ", [0 : 0 : 0], "->", false
+ECHO: 0, " != ", [0 : 0 : 0], "->", true
 ECHO: 0, " == ", undef, "->", false
 ECHO: 0, " >  ", undef, "->", false
 ECHO: 0, " >= ", undef, "->", false
@@ -318,12 +318,12 @@

 ECHO: 1, " <  ", [1, 2, 3], "->", false
 ECHO: 1, " <= ", [1, 2, 3], "->", false
 ECHO: 1, " != ", [1, 2, 3], "->", true
-ECHO: 1, " == ", [0 : 1 : 3], "->", false
-ECHO: 1, " >  ", [0 : 1 : 3], "->", false
-ECHO: 1, " >= ", [0 : 1 : 3], "->", false
-ECHO: 1, " <  ", [0 : 1 : 3], "->", false
-ECHO: 1, " <= ", [0 : 1 : 3], "->", false
-ECHO: 1, " != ", [0 : 1 : 3], "->", true
+ECHO: 1, " == ", [0 : 0 : 0], "->", false
+ECHO: 1, " >  ", [0 : 0 : 0], "->", false
+ECHO: 1, " >= ", [0 : 0 : 0], "->", false
+ECHO: 1, " <  ", [0 : 0 : 0], "->", false
+ECHO: 1, " <= ", [0 : 0 : 0], "->", false
+ECHO: 1, " != ", [0 : 0 : 0], "->", true
 ECHO: 1, " == ", undef, "->", false
 ECHO: 1, " >  ", undef, "->", false
 ECHO: 1, " >= ", undef, "->", false
@@ -384,12 +384,12 @@

 ECHO: nan, " <  ", [1, 2, 3], "->", false
 ECHO: nan, " <= ", [1, 2, 3], "->", false
 ECHO: nan, " != ", [1, 2, 3], "->", true
-ECHO: nan, " == ", [0 : 1 : 3], "->", false
-ECHO: nan, " >  ", [0 : 1 : 3], "->", false
-ECHO: nan, " >= ", [0 : 1 : 3], "->", false
-ECHO: nan, " <  ", [0 : 1 : 3], "->", false
-ECHO: nan, " <= ", [0 : 1 : 3], "->", false
-ECHO: nan, " != ", [0 : 1 : 3], "->", true
+ECHO: nan, " == ", [0 : 0 : 0], "->", false
+ECHO: nan, " >  ", [0 : 0 : 0], "->", false
+ECHO: nan, " >= ", [0 : 0 : 0], "->", false
+ECHO: nan, " <  ", [0 : 0 : 0], "->", false
+ECHO: nan, " <= ", [0 : 0 : 0], "->", false
+ECHO: nan, " != ", [0 : 0 : 0], "->", true
 ECHO: nan, " == ", undef, "->", false
 ECHO: nan, " >  ", undef, "->", false
 ECHO: nan, " >= ", undef, "->", false
@@ -450,12 +450,12 @@

 ECHO: inf, " <  ", [1, 2, 3], "->", false
 ECHO: inf, " <= ", [1, 2, 3], "->", false
 ECHO: inf, " != ", [1, 2, 3], "->", true
-ECHO: inf, " == ", [0 : 1 : 3], "->", false
-ECHO: inf, " >  ", [0 : 1 : 3], "->", false
-ECHO: inf, " >= ", [0 : 1 : 3], "->", false
-ECHO: inf, " <  ", [0 : 1 : 3], "->", false
-ECHO: inf, " <= ", [0 : 1 : 3], "->", false
-ECHO: inf, " != ", [0 : 1 : 3], "->", true
+ECHO: inf, " == ", [0 : 0 : 0], "->", false
+ECHO: inf, " >  ", [0 : 0 : 0], "->", false
+ECHO: inf, " >= ", [0 : 0 : 0], "->", false
+ECHO: inf, " <  ", [0 : 0 : 0], "->", false
+ECHO: inf, " <= ", [0 : 0 : 0], "->", false
+ECHO: inf, " != ", [0 : 0 : 0], "->", true
 ECHO: inf, " == ", undef, "->", false
 ECHO: inf, " >  ", undef, "->", false
 ECHO: inf, " >= ", undef, "->", false
@@ -516,12 +516,12 @@

 ECHO: "alpha", " <  ", [1, 2, 3], "->", false
 ECHO: "alpha", " <= ", [1, 2, 3], "->", false
 ECHO: "alpha", " != ", [1, 2, 3], "->", true
-ECHO: "alpha", " == ", [0 : 1 : 3], "->", false
-ECHO: "alpha", " >  ", [0 : 1 : 3], "->", false
-ECHO: "alpha", " >= ", [0 : 1 : 3], "->", false
-ECHO: "alpha", " <  ", [0 : 1 : 3], "->", false
-ECHO: "alpha", " <= ", [0 : 1 : 3], "->", false
-ECHO: "alpha", " != ", [0 : 1 : 3], "->", true
+ECHO: "alpha", " == ", [0 : 0 : 0], "->", false
+ECHO: "alpha", " >  ", [0 : 0 : 0], "->", false
+ECHO: "alpha", " >= ", [0 : 0 : 0], "->", false
+ECHO: "alpha", " <  ", [0 : 0 : 0], "->", false
+ECHO: "alpha", " <= ", [0 : 0 : 0], "->", false
+ECHO: "alpha", " != ", [0 : 0 : 0], "->", true
 ECHO: "alpha", " == ", undef, "->", false
 ECHO: "alpha", " >  ", undef, "->", false
 ECHO: "alpha", " >= ", undef, "->", false
@@ -582,12 +582,12 @@

 ECHO: "beta", " <  ", [1, 2, 3], "->", false
 ECHO: "beta", " <= ", [1, 2, 3], "->", false
 ECHO: "beta", " != ", [1, 2, 3], "->", true
-ECHO: "beta", " == ", [0 : 1 : 3], "->", false
-ECHO: "beta", " >  ", [0 : 1 : 3], "->", false
-ECHO: "beta", " >= ", [0 : 1 : 3], "->", false
-ECHO: "beta", " <  ", [0 : 1 : 3], "->", false
-ECHO: "beta", " <= ", [0 : 1 : 3], "->", false
-ECHO: "beta", " != ", [0 : 1 : 3], "->", true
+ECHO: "beta", " == ", [0 : 0 : 0], "->", false
+ECHO: "beta", " >  ", [0 : 0 : 0], "->", false
+ECHO: "beta", " >= ", [0 : 0 : 0], "->", false
+ECHO: "beta", " <  ", [0 : 0 : 0], "->", false
+ECHO: "beta", " <= ", [0 : 0 : 0], "->", false
+ECHO: "beta", " != ", [0 : 0 : 0], "->", true
 ECHO: "beta", " == ", undef, "->", false
 ECHO: "beta", " >  ", undef, "->", false
 ECHO: "beta", " >= ", undef, "->", false
@@ -648,12 +648,12 @@

 ECHO: [1, 2, 3], " <  ", [1, 2, 3], "->", false
 ECHO: [1, 2, 3], " <= ", [1, 2, 3], "->", true
 ECHO: [1, 2, 3], " != ", [1, 2, 3], "->", false
-ECHO: [1, 2, 3], " == ", [0 : 1 : 3], "->", false
-ECHO: [1, 2, 3], " >  ", [0 : 1 : 3], "->", false
-ECHO: [1, 2, 3], " >= ", [0 : 1 : 3], "->", false
-ECHO: [1, 2, 3], " <  ", [0 : 1 : 3], "->", false
-ECHO: [1, 2, 3], " <= ", [0 : 1 : 3], "->", false
-ECHO: [1, 2, 3], " != ", [0 : 1 : 3], "->", true
+ECHO: [1, 2, 3], " == ", [0 : 0 : 0], "->", false
+ECHO: [1, 2, 3], " >  ", [0 : 0 : 0], "->", false
+ECHO: [1, 2, 3], " >= ", [0 : 0 : 0], "->", false
+ECHO: [1, 2, 3], " <  ", [0 : 0 : 0], "->", false
+ECHO: [1, 2, 3], " <= ", [0 : 0 : 0], "->", false
+ECHO: [1, 2, 3], " != ", [0 : 0 : 0], "->", true
 ECHO: [1, 2, 3], " == ", undef, "->", false
 ECHO: [1, 2, 3], " >  ", undef, "->", false
 ECHO: [1, 2, 3], " >= ", undef, "->", false
@@ -714,150 +714,150 @@

 ECHO: [1, 2, 4], " <  ", [1, 2, 3], "->", false
 ECHO: [1, 2, 4], " <= ", [1, 2, 3], "->", false
 ECHO: [1, 2, 4], " != ", [1, 2, 3], "->", true
-ECHO: [1, 2, 4], " == ", [0 : 1 : 3], "->", false
-ECHO: [1, 2, 4], " >  ", [0 : 1 : 3], "->", false
-ECHO: [1, 2, 4], " >= ", [0 : 1 : 3], "->", false
-ECHO: [1, 2, 4], " <  ", [0 : 1 : 3], "->", false
-ECHO: [1, 2, 4], " <= ", [0 : 1 : 3], "->", false
-ECHO: [1, 2, 4], " != ", [0 : 1 : 3], "->", true
+ECHO: [1, 2, 4], " == ", [0 : 0 : 0], "->", false
+ECHO: [1, 2, 4], " >  ", [0 : 0 : 0], "->", false
+ECHO: [1, 2, 4], " >= ", [0 : 0 : 0], "->", false
+ECHO: [1, 2, 4], " <  ", [0 : 0 : 0], "->", false
+ECHO: [1, 2, 4], " <= ", [0 : 0 : 0], "->", false
+ECHO: [1, 2, 4], " != ", [0 : 0 : 0], "->", true
 ECHO: [1, 2, 4], " == ", undef, "->", false
 ECHO: [1, 2, 4], " >  ", undef, "->", false
 ECHO: [1, 2, 4], " >= ", undef, "->", false
 ECHO: [1, 2, 4], " <  ", undef, "->", false
 ECHO: [1, 2, 4], " <= ", undef, "->", false
 ECHO: [1, 2, 4], " != ", undef, "->", true
-ECHO: [0 : 1 : 3], " == ", false, "->", false
-ECHO: [0 : 1 : 3], " >  ", false, "->", false
-ECHO: [0 : 1 : 3], " >= ", false, "->", false
-ECHO: [0 : 1 : 3], " <  ", false, "->", false
-ECHO: [0 : 1 : 3], " <= ", false, "->", false
-ECHO: [0 : 1 : 3], " != ", false, "->", true
-ECHO: [0 : 1 : 3], " == ", true, "->", false
-ECHO: [0 : 1 : 3], " >  ", true, "->", false
-ECHO: [0 : 1 : 3], " >= ", true, "->", false
-ECHO: [0 : 1 : 3], " <  ", true, "->", false
-ECHO: [0 : 1 : 3], " <= ", true, "->", false
-ECHO: [0 : 1 : 3], " != ", true, "->", true
-ECHO: [0 : 1 : 3], " == ", -1, "->", false
-ECHO: [0 : 1 : 3], " >  ", -1, "->", false
-ECHO: [0 : 1 : 3], " >= ", -1, "->", false
-ECHO: [0 : 1 : 3], " <  ", -1, "->", false
-ECHO: [0 : 1 : 3], " <= ", -1, "->", false
-ECHO: [0 : 1 : 3], " != ", -1, "->", true
-ECHO: [0 : 1 : 3], " == ", 0, "->", false
-ECHO: [0 : 1 : 3], " >  ", 0, "->", false
-ECHO: [0 : 1 : 3], " >= ", 0, "->", false
-ECHO: [0 : 1 : 3], " <  ", 0, "->", false
-ECHO: [0 : 1 : 3], " <= ", 0, "->", false
-ECHO: [0 : 1 : 3], " != ", 0, "->", true
-ECHO: [0 : 1 : 3], " == ", 1, "->", false
-ECHO: [0 : 1 : 3], " >  ", 1, "->", false
-ECHO: [0 : 1 : 3], " >= ", 1, "->", false
-ECHO: [0 : 1 : 3], " <  ", 1, "->", false
-ECHO: [0 : 1 : 3], " <= ", 1, "->", false
-ECHO: [0 : 1 : 3], " != ", 1, "->", true
-ECHO: [0 : 1 : 3], " == ", nan, "->", false
-ECHO: [0 : 1 : 3], " >  ", nan, "->", false
-ECHO: [0 : 1 : 3], " >= ", nan, "->", false
-ECHO: [0 : 1 : 3], " <  ", nan, "->", false
-ECHO: [0 : 1 : 3], " <= ", nan, "->", false
-ECHO: [0 : 1 : 3], " != ", nan, "->", true
-ECHO: [0 : 1 : 3], " == ", inf, "->", false
-ECHO: [0 : 1 : 3], " >  ", inf, "->", false
-ECHO: [0 : 1 : 3], " >= ", inf, "->", false
-ECHO: [0 : 1 : 3], " <  ", inf, "->", false
-ECHO: [0 : 1 : 3], " <= ", inf, "->", false
-ECHO: [0 : 1 : 3], " != ", inf, "->", true
-ECHO: [0 : 1 : 3], " == ", "alpha", "->", false
-ECHO: [0 : 1 : 3], " >  ", "alpha", "->", false
-ECHO: [0 : 1 : 3], " >= ", "alpha", "->", false
-ECHO: [0 : 1 : 3], " <  ", "alpha", "->", false
-ECHO: [0 : 1 : 3], " <= ", "alpha", "->", false
-ECHO: [0 : 1 : 3], " != ", "alpha", "->", true
-ECHO: [0 : 1 : 3], " == ", [1, 2, 3], "->", false
-ECHO: [0 : 1 : 3], " >  ", [1, 2, 3], "->", false
-ECHO: [0 : 1 : 3], " >= ", [1, 2, 3], "->", false
-ECHO: [0 : 1 : 3], " <  ", [1, 2, 3], "->", false
-ECHO: [0 : 1 : 3], " <= ", [1, 2, 3], "->", false
-ECHO: [0 : 1 : 3], " != ", [1, 2, 3], "->", true
-ECHO: [0 : 1 : 3], " == ", [0 : 1 : 3], "->", true
-ECHO: [0 : 1 : 3], " >  ", [0 : 1 : 3], "->", false
-ECHO: [0 : 1 : 3], " >= ", [0 : 1 : 3], "->", true
-ECHO: [0 : 1 : 3], " <  ", [0 : 1 : 3], "->", false
-ECHO: [0 : 1 : 3], " <= ", [0 : 1 : 3], "->", true
-ECHO: [0 : 1 : 3], " != ", [0 : 1 : 3], "->", false
-ECHO: [0 : 1 : 3], " == ", undef, "->", false
-ECHO: [0 : 1 : 3], " >  ", undef, "->", false
-ECHO: [0 : 1 : 3], " >= ", undef, "->", false
-ECHO: [0 : 1 : 3], " <  ", undef, "->", false
-ECHO: [0 : 1 : 3], " <= ", undef, "->", false
-ECHO: [0 : 1 : 3], " != ", undef, "->", true
-ECHO: [0 : 1 : 1], " == ", false, "->", false
-ECHO: [0 : 1 : 1], " >  ", false, "->", false
-ECHO: [0 : 1 : 1], " >= ", false, "->", false
-ECHO: [0 : 1 : 1], " <  ", false, "->", false
-ECHO: [0 : 1 : 1], " <= ", false, "->", false
-ECHO: [0 : 1 : 1], " != ", false, "->", true
-ECHO: [0 : 1 : 1], " == ", true, "->", false
-ECHO: [0 : 1 : 1], " >  ", true, "->", false
-ECHO: [0 : 1 : 1], " >= ", true, "->", false
-ECHO: [0 : 1 : 1], " <  ", true, "->", false
-ECHO: [0 : 1 : 1], " <= ", true, "->", false
-ECHO: [0 : 1 : 1], " != ", true, "->", true
-ECHO: [0 : 1 : 1], " == ", -1, "->", false
-ECHO: [0 : 1 : 1], " >  ", -1, "->", false
-ECHO: [0 : 1 : 1], " >= ", -1, "->", false
-ECHO: [0 : 1 : 1], " <  ", -1, "->", false
-ECHO: [0 : 1 : 1], " <= ", -1, "->", false
-ECHO: [0 : 1 : 1], " != ", -1, "->", true
-ECHO: [0 : 1 : 1], " == ", 0, "->", false
-ECHO: [0 : 1 : 1], " >  ", 0, "->", false
-ECHO: [0 : 1 : 1], " >= ", 0, "->", false
-ECHO: [0 : 1 : 1], " <  ", 0, "->", false
-ECHO: [0 : 1 : 1], " <= ", 0, "->", false
-ECHO: [0 : 1 : 1], " != ", 0, "->", true
-ECHO: [0 : 1 : 1], " == ", 1, "->", false
-ECHO: [0 : 1 : 1], " >  ", 1, "->", false
-ECHO: [0 : 1 : 1], " >= ", 1, "->", false
-ECHO: [0 : 1 : 1], " <  ", 1, "->", false
-ECHO: [0 : 1 : 1], " <= ", 1, "->", false
-ECHO: [0 : 1 : 1], " != ", 1, "->", true
-ECHO: [0 : 1 : 1], " == ", nan, "->", false
-ECHO: [0 : 1 : 1], " >  ", nan, "->", false
-ECHO: [0 : 1 : 1], " >= ", nan, "->", false
-ECHO: [0 : 1 : 1], " <  ", nan, "->", false
-ECHO: [0 : 1 : 1], " <= ", nan, "->", false
-ECHO: [0 : 1 : 1], " != ", nan, "->", true
-ECHO: [0 : 1 : 1], " == ", inf, "->", false
-ECHO: [0 : 1 : 1], " >  ", inf, "->", false
-ECHO: [0 : 1 : 1], " >= ", inf, "->", false
-ECHO: [0 : 1 : 1], " <  ", inf, "->", false
-ECHO: [0 : 1 : 1], " <= ", inf, "->", false
-ECHO: [0 : 1 : 1], " != ", inf, "->", true
-ECHO: [0 : 1 : 1], " == ", "alpha", "->", false
-ECHO: [0 : 1 : 1], " >  ", "alpha", "->", false
-ECHO: [0 : 1 : 1], " >= ", "alpha", "->", false
-ECHO: [0 : 1 : 1], " <  ", "alpha", "->", false
-ECHO: [0 : 1 : 1], " <= ", "alpha", "->", false
-ECHO: [0 : 1 : 1], " != ", "alpha", "->", true
-ECHO: [0 : 1 : 1], " == ", [1, 2, 3], "->", false
-ECHO: [0 : 1 : 1], " >  ", [1, 2, 3], "->", false
-ECHO: [0 : 1 : 1], " >= ", [1, 2, 3], "->", false
-ECHO: [0 : 1 : 1], " <  ", [1, 2, 3], "->", false
-ECHO: [0 : 1 : 1], " <= ", [1, 2, 3], "->", false
-ECHO: [0 : 1 : 1], " != ", [1, 2, 3], "->", true
-ECHO: [0 : 1 : 1], " == ", [0 : 1 : 3], "->", false
-ECHO: [0 : 1 : 1], " >  ", [0 : 1 : 3], "->", false
-ECHO: [0 : 1 : 1], " >= ", [0 : 1 : 3], "->", false
-ECHO: [0 : 1 : 1], " <  ", [0 : 1 : 3], "->", true
-ECHO: [0 : 1 : 1], " <= ", [0 : 1 : 3], "->", true
-ECHO: [0 : 1 : 1], " != ", [0 : 1 : 3], "->", true
-ECHO: [0 : 1 : 1], " == ", undef, "->", false
-ECHO: [0 : 1 : 1], " >  ", undef, "->", false
-ECHO: [0 : 1 : 1], " >= ", undef, "->", false
-ECHO: [0 : 1 : 1], " <  ", undef, "->", false
-ECHO: [0 : 1 : 1], " <= ", undef, "->", false
-ECHO: [0 : 1 : 1], " != ", undef, "->", true
+ECHO: [0 : 0 : 0], " == ", false, "->", false
+ECHO: [0 : 0 : 0], " >  ", false, "->", false
+ECHO: [0 : 0 : 0], " >= ", false, "->", false
+ECHO: [0 : 0 : 0], " <  ", false, "->", false
+ECHO: [0 : 0 : 0], " <= ", false, "->", false
+ECHO: [0 : 0 : 0], " != ", false, "->", true
+ECHO: [0 : 0 : 0], " == ", true, "->", false
+ECHO: [0 : 0 : 0], " >  ", true, "->", false
+ECHO: [0 : 0 : 0], " >= ", true, "->", false
+ECHO: [0 : 0 : 0], " <  ", true, "->", false
+ECHO: [0 : 0 : 0], " <= ", true, "->", false
+ECHO: [0 : 0 : 0], " != ", true, "->", true
+ECHO: [0 : 0 : 0], " == ", -1, "->", false
+ECHO: [0 : 0 : 0], " >  ", -1, "->", false
+ECHO: [0 : 0 : 0], " >= ", -1, "->", false
+ECHO: [0 : 0 : 0], " <  ", -1, "->", false
+ECHO: [0 : 0 : 0], " <= ", -1, "->", false
+ECHO: [0 : 0 : 0], " != ", -1, "->", true
+ECHO: [0 : 0 : 0], " == ", 0, "->", false
+ECHO: [0 : 0 : 0], " >  ", 0, "->", false
+ECHO: [0 : 0 : 0], " >= ", 0, "->", false
+ECHO: [0 : 0 : 0], " <  ", 0, "->", false
+ECHO: [0 : 0 : 0], " <= ", 0, "->", false
+ECHO: [0 : 0 : 0], " != ", 0, "->", true
+ECHO: [0 : 0 : 0], " == ", 1, "->", false
+ECHO: [0 : 0 : 0], " >  ", 1, "->", false
+ECHO: [0 : 0 : 0], " >= ", 1, "->", false
+ECHO: [0 : 0 : 0], " <  ", 1, "->", false
+ECHO: [0 : 0 : 0], " <= ", 1, "->", false
+ECHO: [0 : 0 : 0], " != ", 1, "->", true
+ECHO: [0 : 0 : 0], " == ", nan, "->", false
+ECHO: [0 : 0 : 0], " >  ", nan, "->", false
+ECHO: [0 : 0 : 0], " >= ", nan, "->", false
+ECHO: [0 : 0 : 0], " <  ", nan, "->", false
+ECHO: [0 : 0 : 0], " <= ", nan, "->", false
+ECHO: [0 : 0 : 0], " != ", nan, "->", true
+ECHO: [0 : 0 : 0], " == ", inf, "->", false
+ECHO: [0 : 0 : 0], " >  ", inf, "->", false
+ECHO: [0 : 0 : 0], " >= ", inf, "->", false
+ECHO: [0 : 0 : 0], " <  ", inf, "->", false
+ECHO: [0 : 0 : 0], " <= ", inf, "->", false
+ECHO: [0 : 0 : 0], " != ", inf, "->", true
+ECHO: [0 : 0 : 0], " == ", "alpha", "->", false
+ECHO: [0 : 0 : 0], " >  ", "alpha", "->", false
+ECHO: [0 : 0 : 0], " >= ", "alpha", "->", false
+ECHO: [0 : 0 : 0], " <  ", "alpha", "->", false
+ECHO: [0 : 0 : 0], " <= ", "alpha", "->", false
+ECHO: [0 : 0 : 0], " != ", "alpha", "->", true
+ECHO: [0 : 0 : 0], " == ", [1, 2, 3], "->", false
+ECHO: [0 : 0 : 0], " >  ", [1, 2, 3], "->", false
+ECHO: [0 : 0 : 0], " >= ", [1, 2, 3], "->", false
+ECHO: [0 : 0 : 0], " <  ", [1, 2, 3], "->", false
+ECHO: [0 : 0 : 0], " <= ", [1, 2, 3], "->", false
+ECHO: [0 : 0 : 0], " != ", [1, 2, 3], "->", true
+ECHO: [0 : 0 : 0], " == ", [0 : 0 : 0], "->", true
+ECHO: [0 : 0 : 0], " >  ", [0 : 0 : 0], "->", false
+ECHO: [0 : 0 : 0], " >= ", [0 : 0 : 0], "->", true
+ECHO: [0 : 0 : 0], " <  ", [0 : 0 : 0], "->", false
+ECHO: [0 : 0 : 0], " <= ", [0 : 0 : 0], "->", true
+ECHO: [0 : 0 : 0], " != ", [0 : 0 : 0], "->", false
+ECHO: [0 : 0 : 0], " == ", undef, "->", false
+ECHO: [0 : 0 : 0], " >  ", undef, "->", false
+ECHO: [0 : 0 : 0], " >= ", undef, "->", false
+ECHO: [0 : 0 : 0], " <  ", undef, "->", false
+ECHO: [0 : 0 : 0], " <= ", undef, "->", false
+ECHO: [0 : 0 : 0], " != ", undef, "->", true
+ECHO: [0 : 0 : 0], " == ", false, "->", false
+ECHO: [0 : 0 : 0], " >  ", false, "->", false
+ECHO: [0 : 0 : 0], " >= ", false, "->", false
+ECHO: [0 : 0 : 0], " <  ", false, "->", false
+ECHO: [0 : 0 : 0], " <= ", false, "->", false
+ECHO: [0 : 0 : 0], " != ", false, "->", true
+ECHO: [0 : 0 : 0], " == ", true, "->", false
+ECHO: [0 : 0 : 0], " >  ", true, "->", false
+ECHO: [0 : 0 : 0], " >= ", true, "->", false
+ECHO: [0 : 0 : 0], " <  ", true, "->", false
+ECHO: [0 : 0 : 0], " <= ", true, "->", false
+ECHO: [0 : 0 : 0], " != ", true, "->", true
+ECHO: [0 : 0 : 0], " == ", -1, "->", false
+ECHO: [0 : 0 : 0], " >  ", -1, "->", false
+ECHO: [0 : 0 : 0], " >= ", -1, "->", false
+ECHO: [0 : 0 : 0], " <  ", -1, "->", false
+ECHO: [0 : 0 : 0], " <= ", -1, "->", false
+ECHO: [0 : 0 : 0], " != ", -1, "->", true
+ECHO: [0 : 0 : 0], " == ", 0, "->", false
+ECHO: [0 : 0 : 0], " >  ", 0, "->", false
+ECHO: [0 : 0 : 0], " >= ", 0, "->", false
+ECHO: [0 : 0 : 0], " <  ", 0, "->", false
+ECHO: [0 : 0 : 0], " <= ", 0, "->", false
+ECHO: [0 : 0 : 0], " != ", 0, "->", true
+ECHO: [0 : 0 : 0], " == ", 1, "->", false
+ECHO: [0 : 0 : 0], " >  ", 1, "->", false
+ECHO: [0 : 0 : 0], " >= ", 1, "->", false
+ECHO: [0 : 0 : 0], " <  ", 1, "->", false
+ECHO: [0 : 0 : 0], " <= ", 1, "->", false
+ECHO: [0 : 0 : 0], " != ", 1, "->", true
+ECHO: [0 : 0 : 0], " == ", nan, "->", false
+ECHO: [0 : 0 : 0], " >  ", nan, "->", false
+ECHO: [0 : 0 : 0], " >= ", nan, "->", false
+ECHO: [0 : 0 : 0], " <  ", nan, "->", false
+ECHO: [0 : 0 : 0], " <= ", nan, "->", false
+ECHO: [0 : 0 : 0], " != ", nan, "->", true
+ECHO: [0 : 0 : 0], " == ", inf, "->", false
+ECHO: [0 : 0 : 0], " >  ", inf, "->", false
+ECHO: [0 : 0 : 0], " >= ", inf, "->", false
+ECHO: [0 : 0 : 0], " <  ", inf, "->", false
+ECHO: [0 : 0 : 0], " <= ", inf, "->", false
+ECHO: [0 : 0 : 0], " != ", inf, "->", true
+ECHO: [0 : 0 : 0], " == ", "alpha", "->", false
+ECHO: [0 : 0 : 0], " >  ", "alpha", "->", false
+ECHO: [0 : 0 : 0], " >= ", "alpha", "->", false
+ECHO: [0 : 0 : 0], " <  ", "alpha", "->", false
+ECHO: [0 : 0 : 0], " <= ", "alpha", "->", false
+ECHO: [0 : 0 : 0], " != ", "alpha", "->", true
+ECHO: [0 : 0 : 0], " == ", [1, 2, 3], "->", false
+ECHO: [0 : 0 : 0], " >  ", [1, 2, 3], "->", false
+ECHO: [0 : 0 : 0], " >= ", [1, 2, 3], "->", false
+ECHO: [0 : 0 : 0], " <  ", [1, 2, 3], "->", false
+ECHO: [0 : 0 : 0], " <= ", [1, 2, 3], "->", false
+ECHO: [0 : 0 : 0], " != ", [1, 2, 3], "->", true
+ECHO: [0 : 0 : 0], " == ", [0 : 0 : 0], "->", false
+ECHO: [0 : 0 : 0], " >  ", [0 : 0 : 0], "->", false
+ECHO: [0 : 0 : 0], " >= ", [0 : 0 : 0], "->", false
+ECHO: [0 : 0 : 0], " <  ", [0 : 0 : 0], "->", true
+ECHO: [0 : 0 : 0], " <= ", [0 : 0 : 0], "->", true
+ECHO: [0 : 0 : 0], " != ", [0 : 0 : 0], "->", true
+ECHO: [0 : 0 : 0], " == ", undef, "->", false
+ECHO: [0 : 0 : 0], " >  ", undef, "->", false
+ECHO: [0 : 0 : 0], " >= ", undef, "->", false
+ECHO: [0 : 0 : 0], " <  ", undef, "->", false
+ECHO: [0 : 0 : 0], " <= ", undef, "->", false
+ECHO: [0 : 0 : 0], " != ", undef, "->", true
 ECHO: undef, " == ", false, "->", false
 ECHO: undef, " >  ", false, "->", false
 ECHO: undef, " >= ", false, "->", false
@@ -912,309 +912,309 @@

 ECHO: undef, " <  ", [1, 2, 3], "->", false
 ECHO: undef, " <= ", [1, 2, 3], "->", false
 ECHO: undef, " != ", [1, 2, 3], "->", true
-ECHO: undef, " == ", [0 : 1 : 3], "->", false
-ECHO: undef, " >  ", [0 : 1 : 3], "->", false
-ECHO: undef, " >= ", [0 : 1 : 3], "->", false
-ECHO: undef, " <  ", [0 : 1 : 3], "->", false
-ECHO: undef, " <= ", [0 : 1 : 3], "->", false
-ECHO: undef, " != ", [0 : 1 : 3], "->", true
+ECHO: undef, " == ", [0 : 0 : 0], "->", false
+ECHO: undef, " >  ", [0 : 0 : 0], "->", false
+ECHO: undef, " >= ", [0 : 0 : 0], "->", false
+ECHO: undef, " <  ", [0 : 0 : 0], "->", false
+ECHO: undef, " <= ", [0 : 0 : 0], "->", false
+ECHO: undef, " != ", [0 : 0 : 0], "->", true
 ECHO: undef, " == ", undef, "->", true
 ECHO: undef, " >  ", undef, "->", false
 ECHO: undef, " >= ", undef, "->", true
 ECHO: undef, " <  ", undef, "->", false
 ECHO: undef, " <= ", undef, "->", true
 ECHO: undef, " != ", undef, "->", false
-ECHO: "([] == []) == ([1 : -1 : 3] == [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([] >  []) == ([1 : -1 : 3] >  [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([] >= []) == ([1 : -1 : 3] >  [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([] <  []) == ([1 : -1 : 3] <  [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([] <= []) == ([1 : -1 : 3] <= [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([] != []) == ([1 : -1 : 3] != [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([] == []) == ([1 : -1 : 3] == [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([] >  []) == ([1 : -1 : 3] >  [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([] >= []) == ([1 : -1 : 3] >  [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([] <  []) == ([1 : -1 : 3] <  [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([] <= []) == ([1 : -1 : 3] <= [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([] != []) == ([1 : -1 : 3] != [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([] == [1, 0, -1]) == ([1 : -1 : 3] == [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([] >  [1, 0, -1]) == ([1 : -1 : 3] >  [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([] >= [1, 0, -1]) == ([1 : -1 : 3] >  [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([] <  [1, 0, -1]) == ([1 : -1 : 3] <  [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([] <= [1, 0, -1]) == ([1 : -1 : 3] <= [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([] != [1, 0, -1]) == ([1 : -1 : 3] != [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([] == [1, 2, 3]) == ([1 : -1 : 3] == [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([] >  [1, 2, 3]) == ([1 : -1 : 3] >  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([] >= [1, 2, 3]) == ([1 : -1 : 3] >  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([] <  [1, 2, 3]) == ([1 : -1 : 3] <  [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([] <= [1, 2, 3]) == ([1 : -1 : 3] <= [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([] != [1, 2, 3]) == ([1 : -1 : 3] != [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([] == [1, 0, -1, -2]) == ([1 : -1 : 3] == [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([] >  [1, 0, -1, -2]) == ([1 : -1 : 3] >  [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([] >= [1, 0, -1, -2]) == ([1 : -1 : 3] >  [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([] <  [1, 0, -1, -2]) == ([1 : -1 : 3] <  [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([] <= [1, 0, -1, -2]) == ([1 : -1 : 3] <= [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([] != [1, 0, -1, -2]) == ([1 : -1 : 3] != [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([] == [1, 2, 3, 4]) == ([1 : -1 : 3] == [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([] >  [1, 2, 3, 4]) == ([1 : -1 : 3] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([] >= [1, 2, 3, 4]) == ([1 : -1 : 3] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([] <  [1, 2, 3, 4]) == ([1 : -1 : 3] <  [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([] <= [1, 2, 3, 4]) == ([1 : -1 : 3] <= [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([] != [1, 2, 3, 4]) == ([1 : -1 : 3] != [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([] == [0]) == ([1 : -1 : 3] == [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([] >  [0]) == ([1 : -1 : 3] >  [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([] >= [0]) == ([1 : -1 : 3] >  [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([] <  [0]) == ([1 : -1 : 3] <  [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([] <= [0]) == ([1 : -1 : 3] <= [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([] != [0]) == ([1 : -1 : 3] != [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([] == []) == ([-1 : -1 : 1] == [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([] >  []) == ([-1 : -1 : 1] >  [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([] >= []) == ([-1 : -1 : 1] >  [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([] <  []) == ([-1 : -1 : 1] <  [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([] <= []) == ([-1 : -1 : 1] <= [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([] != []) == ([-1 : -1 : 1] != [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([] == []) == ([-1 : -1 : 1] == [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([] >  []) == ([-1 : -1 : 1] >  [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([] >= []) == ([-1 : -1 : 1] >  [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([] <  []) == ([-1 : -1 : 1] <  [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([] <= []) == ([-1 : -1 : 1] <= [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([] != []) == ([-1 : -1 : 1] != [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([] == [1, 0, -1]) == ([-1 : -1 : 1] == [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([] >  [1, 0, -1]) == ([-1 : -1 : 1] >  [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([] >= [1, 0, -1]) == ([-1 : -1 : 1] >  [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([] <  [1, 0, -1]) == ([-1 : -1 : 1] <  [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([] <= [1, 0, -1]) == ([-1 : -1 : 1] <= [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([] != [1, 0, -1]) == ([-1 : -1 : 1] != [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([] == [1, 2, 3]) == ([-1 : -1 : 1] == [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([] >  [1, 2, 3]) == ([-1 : -1 : 1] >  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([] >= [1, 2, 3]) == ([-1 : -1 : 1] >  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([] <  [1, 2, 3]) == ([-1 : -1 : 1] <  [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([] <= [1, 2, 3]) == ([-1 : -1 : 1] <= [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([] != [1, 2, 3]) == ([-1 : -1 : 1] != [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([] == [1, 0, -1, -2]) == ([-1 : -1 : 1] == [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([] >  [1, 0, -1, -2]) == ([-1 : -1 : 1] >  [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([] >= [1, 0, -1, -2]) == ([-1 : -1 : 1] >  [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([] <  [1, 0, -1, -2]) == ([-1 : -1 : 1] <  [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([] <= [1, 0, -1, -2]) == ([-1 : -1 : 1] <= [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([] != [1, 0, -1, -2]) == ([-1 : -1 : 1] != [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([] == [1, 2, 3, 4]) == ([-1 : -1 : 1] == [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([] >  [1, 2, 3, 4]) == ([-1 : -1 : 1] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([] >= [1, 2, 3, 4]) == ([-1 : -1 : 1] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([] <  [1, 2, 3, 4]) == ([-1 : -1 : 1] <  [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([] <= [1, 2, 3, 4]) == ([-1 : -1 : 1] <= [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([] != [1, 2, 3, 4]) == ([-1 : -1 : 1] != [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([] == [0]) == ([-1 : -1 : 1] == [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([] >  [0]) == ([-1 : -1 : 1] >  [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([] >= [0]) == ([-1 : -1 : 1] >  [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([] <  [0]) == ([-1 : -1 : 1] <  [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([] <= [0]) == ([-1 : -1 : 1] <= [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([] != [0]) == ([-1 : -1 : 1] != [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([1, 0, -1] == []) == ([1 : -1 : -1] == [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([1, 0, -1] >  []) == ([1 : -1 : -1] >  [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([1, 0, -1] >= []) == ([1 : -1 : -1] >  [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([1, 0, -1] <  []) == ([1 : -1 : -1] <  [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([1, 0, -1] <= []) == ([1 : -1 : -1] <= [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([1, 0, -1] != []) == ([1 : -1 : -1] != [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([1, 0, -1] == []) == ([1 : -1 : -1] == [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([1, 0, -1] >  []) == ([1 : -1 : -1] >  [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([1, 0, -1] >= []) == ([1 : -1 : -1] >  [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([1, 0, -1] <  []) == ([1 : -1 : -1] <  [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([1, 0, -1] <= []) == ([1 : -1 : -1] <= [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([1, 0, -1] != []) == ([1 : -1 : -1] != [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([1, 0, -1] == [1, 0, -1]) == ([1 : -1 : -1] == [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([1, 0, -1] >  [1, 0, -1]) == ([1 : -1 : -1] >  [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([1, 0, -1] >= [1, 0, -1]) == ([1 : -1 : -1] >  [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([1, 0, -1] <  [1, 0, -1]) == ([1 : -1 : -1] <  [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([1, 0, -1] <= [1, 0, -1]) == ([1 : -1 : -1] <= [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([1, 0, -1] != [1, 0, -1]) == ([1 : -1 : -1] != [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([1, 0, -1] == [1, 2, 3]) == ([1 : -1 : -1] == [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([1, 0, -1] >  [1, 2, 3]) == ([1 : -1 : -1] >  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([1, 0, -1] >= [1, 2, 3]) == ([1 : -1 : -1] >  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([1, 0, -1] <  [1, 2, 3]) == ([1 : -1 : -1] <  [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([1, 0, -1] <= [1, 2, 3]) == ([1 : -1 : -1] <= [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([1, 0, -1] != [1, 2, 3]) == ([1 : -1 : -1] != [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([1, 0, -1] == [1, 0, -1, -2]) == ([1 : -1 : -1] == [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([1, 0, -1] >  [1, 0, -1, -2]) == ([1 : -1 : -1] >  [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([1, 0, -1] >= [1, 0, -1, -2]) == ([1 : -1 : -1] >  [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([1, 0, -1] <  [1, 0, -1, -2]) == ([1 : -1 : -1] <  [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([1, 0, -1] <= [1, 0, -1, -2]) == ([1 : -1 : -1] <= [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([1, 0, -1] != [1, 0, -1, -2]) == ([1 : -1 : -1] != [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([1, 0, -1] == [1, 2, 3, 4]) == ([1 : -1 : -1] == [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([1, 0, -1] >  [1, 2, 3, 4]) == ([1 : -1 : -1] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([1, 0, -1] >= [1, 2, 3, 4]) == ([1 : -1 : -1] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([1, 0, -1] <  [1, 2, 3, 4]) == ([1 : -1 : -1] <  [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([1, 0, -1] <= [1, 2, 3, 4]) == ([1 : -1 : -1] <= [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([1, 0, -1] != [1, 2, 3, 4]) == ([1 : -1 : -1] != [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([1, 0, -1] == [0]) == ([1 : -1 : -1] == [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([1, 0, -1] >  [0]) == ([1 : -1 : -1] >  [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([1, 0, -1] >= [0]) == ([1 : -1 : -1] >  [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([1, 0, -1] <  [0]) == ([1 : -1 : -1] <  [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([1, 0, -1] <= [0]) == ([1 : -1 : -1] <= [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([1, 0, -1] != [0]) == ([1 : -1 : -1] != [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([1, 2, 3] == []) == ([1 : 1 : 3] == [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([1, 2, 3] >  []) == ([1 : 1 : 3] >  [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([1, 2, 3] >= []) == ([1 : 1 : 3] >  [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([1, 2, 3] <  []) == ([1 : 1 : 3] <  [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([1, 2, 3] <= []) == ([1 : 1 : 3] <= [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([1, 2, 3] != []) == ([1 : 1 : 3] != [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([1, 2, 3] == []) == ([1 : 1 : 3] == [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([1, 2, 3] >  []) == ([1 : 1 : 3] >  [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([1, 2, 3] >= []) == ([1 : 1 : 3] >  [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([1, 2, 3] <  []) == ([1 : 1 : 3] <  [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([1, 2, 3] <= []) == ([1 : 1 : 3] <= [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([1, 2, 3] != []) == ([1 : 1 : 3] != [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([1, 2, 3] == [1, 0, -1]) == ([1 : 1 : 3] == [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([1, 2, 3] >  [1, 0, -1]) == ([1 : 1 : 3] >  [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([1, 2, 3] >= [1, 0, -1]) == ([1 : 1 : 3] >  [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([1, 2, 3] <  [1, 0, -1]) == ([1 : 1 : 3] <  [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([1, 2, 3] <= [1, 0, -1]) == ([1 : 1 : 3] <= [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([1, 2, 3] != [1, 0, -1]) == ([1 : 1 : 3] != [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([1, 2, 3] == [1, 2, 3]) == ([1 : 1 : 3] == [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([1, 2, 3] >  [1, 2, 3]) == ([1 : 1 : 3] >  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([1, 2, 3] >= [1, 2, 3]) == ([1 : 1 : 3] >  [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([1, 2, 3] <  [1, 2, 3]) == ([1 : 1 : 3] <  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([1, 2, 3] <= [1, 2, 3]) == ([1 : 1 : 3] <= [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([1, 2, 3] != [1, 2, 3]) == ([1 : 1 : 3] != [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([1, 2, 3] == [1, 0, -1, -2]) == ([1 : 1 : 3] == [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([1, 2, 3] >  [1, 0, -1, -2]) == ([1 : 1 : 3] >  [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([1, 2, 3] >= [1, 0, -1, -2]) == ([1 : 1 : 3] >  [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([1, 2, 3] <  [1, 0, -1, -2]) == ([1 : 1 : 3] <  [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([1, 2, 3] <= [1, 0, -1, -2]) == ([1 : 1 : 3] <= [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([1, 2, 3] != [1, 0, -1, -2]) == ([1 : 1 : 3] != [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([1, 2, 3] == [1, 2, 3, 4]) == ([1 : 1 : 3] == [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([1, 2, 3] >  [1, 2, 3, 4]) == ([1 : 1 : 3] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([1, 2, 3] >= [1, 2, 3, 4]) == ([1 : 1 : 3] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([1, 2, 3] <  [1, 2, 3, 4]) == ([1 : 1 : 3] <  [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([1, 2, 3] <= [1, 2, 3, 4]) == ([1 : 1 : 3] <= [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([1, 2, 3] != [1, 2, 3, 4]) == ([1 : 1 : 3] != [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([1, 2, 3] == [0]) == ([1 : 1 : 3] == [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([1, 2, 3] >  [0]) == ([1 : 1 : 3] >  [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([1, 2, 3] >= [0]) == ([1 : 1 : 3] >  [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([1, 2, 3] <  [0]) == ([1 : 1 : 3] <  [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([1, 2, 3] <= [0]) == ([1 : 1 : 3] <= [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([1, 2, 3] != [0]) == ([1 : 1 : 3] != [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] == []) == ([1 : -1 : -2] == [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] >  []) == ([1 : -1 : -2] >  [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] >= []) == ([1 : -1 : -2] >  [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] <  []) == ([1 : -1 : -2] <  [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] <= []) == ([1 : -1 : -2] <= [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] != []) == ([1 : -1 : -2] != [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] == []) == ([1 : -1 : -2] == [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] >  []) == ([1 : -1 : -2] >  [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] >= []) == ([1 : -1 : -2] >  [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] <  []) == ([1 : -1 : -2] <  [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] <= []) == ([1 : -1 : -2] <= [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] != []) == ([1 : -1 : -2] != [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] == [1, 0, -1]) == ([1 : -1 : -2] == [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] >  [1, 0, -1]) == ([1 : -1 : -2] >  [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] >= [1, 0, -1]) == ([1 : -1 : -2] >  [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] <  [1, 0, -1]) == ([1 : -1 : -2] <  [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] <= [1, 0, -1]) == ([1 : -1 : -2] <= [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] != [1, 0, -1]) == ([1 : -1 : -2] != [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] == [1, 2, 3]) == ([1 : -1 : -2] == [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] >  [1, 2, 3]) == ([1 : -1 : -2] >  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] >= [1, 2, 3]) == ([1 : -1 : -2] >  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] <  [1, 2, 3]) == ([1 : -1 : -2] <  [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] <= [1, 2, 3]) == ([1 : -1 : -2] <= [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] != [1, 2, 3]) == ([1 : -1 : -2] != [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] == [1, 0, -1, -2]) == ([1 : -1 : -2] == [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] >  [1, 0, -1, -2]) == ([1 : -1 : -2] >  [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] >= [1, 0, -1, -2]) == ([1 : -1 : -2] >  [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] <  [1, 0, -1, -2]) == ([1 : -1 : -2] <  [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] <= [1, 0, -1, -2]) == ([1 : -1 : -2] <= [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] != [1, 0, -1, -2]) == ([1 : -1 : -2] != [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] == [1, 2, 3, 4]) == ([1 : -1 : -2] == [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] >  [1, 2, 3, 4]) == ([1 : -1 : -2] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] >= [1, 2, 3, 4]) == ([1 : -1 : -2] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] <  [1, 2, 3, 4]) == ([1 : -1 : -2] <  [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] <= [1, 2, 3, 4]) == ([1 : -1 : -2] <= [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] != [1, 2, 3, 4]) == ([1 : -1 : -2] != [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] == [0]) == ([1 : -1 : -2] == [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] >  [0]) == ([1 : -1 : -2] >  [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] >= [0]) == ([1 : -1 : -2] >  [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([1, 0, -1, -2] <  [0]) == ([1 : -1 : -2] <  [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] <= [0]) == ([1 : -1 : -2] <= [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([1, 0, -1, -2] != [0]) == ([1 : -1 : -2] != [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] == []) == ([1 : 1 : 4] == [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] >  []) == ([1 : 1 : 4] >  [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] >= []) == ([1 : 1 : 4] >  [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] <  []) == ([1 : 1 : 4] <  [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] <= []) == ([1 : 1 : 4] <= [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] != []) == ([1 : 1 : 4] != [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] == []) == ([1 : 1 : 4] == [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] >  []) == ([1 : 1 : 4] >  [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] >= []) == ([1 : 1 : 4] >  [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] <  []) == ([1 : 1 : 4] <  [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] <= []) == ([1 : 1 : 4] <= [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] != []) == ([1 : 1 : 4] != [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] == [1, 0, -1]) == ([1 : 1 : 4] == [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] >  [1, 0, -1]) == ([1 : 1 : 4] >  [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] >= [1, 0, -1]) == ([1 : 1 : 4] >  [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] <  [1, 0, -1]) == ([1 : 1 : 4] <  [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] <= [1, 0, -1]) == ([1 : 1 : 4] <= [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] != [1, 0, -1]) == ([1 : 1 : 4] != [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] == [1, 2, 3]) == ([1 : 1 : 4] == [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] >  [1, 2, 3]) == ([1 : 1 : 4] >  [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] >= [1, 2, 3]) == ([1 : 1 : 4] >  [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] <  [1, 2, 3]) == ([1 : 1 : 4] <  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] <= [1, 2, 3]) == ([1 : 1 : 4] <= [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] != [1, 2, 3]) == ([1 : 1 : 4] != [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] == [1, 0, -1, -2]) == ([1 : 1 : 4] == [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] >  [1, 0, -1, -2]) == ([1 : 1 : 4] >  [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] >= [1, 0, -1, -2]) == ([1 : 1 : 4] >  [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] <  [1, 0, -1, -2]) == ([1 : 1 : 4] <  [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] <= [1, 0, -1, -2]) == ([1 : 1 : 4] <= [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] != [1, 0, -1, -2]) == ([1 : 1 : 4] != [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] == [1, 2, 3, 4]) == ([1 : 1 : 4] == [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] >  [1, 2, 3, 4]) == ([1 : 1 : 4] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] >= [1, 2, 3, 4]) == ([1 : 1 : 4] >  [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] <  [1, 2, 3, 4]) == ([1 : 1 : 4] <  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] <= [1, 2, 3, 4]) == ([1 : 1 : 4] <= [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] != [1, 2, 3, 4]) == ([1 : 1 : 4] != [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] == [0]) == ([1 : 1 : 4] == [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] >  [0]) == ([1 : 1 : 4] >  [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] >= [0]) == ([1 : 1 : 4] >  [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([1, 2, 3, 4] <  [0]) == ([1 : 1 : 4] <  [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] <= [0]) == ([1 : 1 : 4] <= [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([1, 2, 3, 4] != [0]) == ([1 : 1 : 4] != [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([0] == []) == ([0 : 1 : 0] == [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([0] >  []) == ([0 : 1 : 0] >  [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([0] >= []) == ([0 : 1 : 0] >  [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([0] <  []) == ([0 : 1 : 0] <  [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([0] <= []) == ([0 : 1 : 0] <= [1 : -1 : 3]) -> false == false -> true"
-ECHO: "([0] != []) == ([0 : 1 : 0] != [1 : -1 : 3]) -> true == true -> true"
-ECHO: "([0] == []) == ([0 : 1 : 0] == [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([0] >  []) == ([0 : 1 : 0] >  [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([0] >= []) == ([0 : 1 : 0] >  [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([0] <  []) == ([0 : 1 : 0] <  [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([0] <= []) == ([0 : 1 : 0] <= [-1 : -1 : 1]) -> false == false -> true"
-ECHO: "([0] != []) == ([0 : 1 : 0] != [-1 : -1 : 1]) -> true == true -> true"
-ECHO: "([0] == [1, 0, -1]) == ([0 : 1 : 0] == [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([0] >  [1, 0, -1]) == ([0 : 1 : 0] >  [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([0] >= [1, 0, -1]) == ([0 : 1 : 0] >  [1 : -1 : -1]) -> false == false -> true"
-ECHO: "([0] <  [1, 0, -1]) == ([0 : 1 : 0] <  [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([0] <= [1, 0, -1]) == ([0 : 1 : 0] <= [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([0] != [1, 0, -1]) == ([0 : 1 : 0] != [1 : -1 : -1]) -> true == true -> true"
-ECHO: "([0] == [1, 2, 3]) == ([0 : 1 : 0] == [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([0] >  [1, 2, 3]) == ([0 : 1 : 0] >  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([0] >= [1, 2, 3]) == ([0 : 1 : 0] >  [1 : 1 : 3]) -> false == false -> true"
-ECHO: "([0] <  [1, 2, 3]) == ([0 : 1 : 0] <  [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([0] <= [1, 2, 3]) == ([0 : 1 : 0] <= [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([0] != [1, 2, 3]) == ([0 : 1 : 0] != [1 : 1 : 3]) -> true == true -> true"
-ECHO: "([0] == [1, 0, -1, -2]) == ([0 : 1 : 0] == [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([0] >  [1, 0, -1, -2]) == ([0 : 1 : 0] >  [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([0] >= [1, 0, -1, -2]) == ([0 : 1 : 0] >  [1 : -1 : -2]) -> false == false -> true"
-ECHO: "([0] <  [1, 0, -1, -2]) == ([0 : 1 : 0] <  [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([0] <= [1, 0, -1, -2]) == ([0 : 1 : 0] <= [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([0] != [1, 0, -1, -2]) == ([0 : 1 : 0] != [1 : -1 : -2]) -> true == true -> true"
-ECHO: "([0] == [1, 2, 3, 4]) == ([0 : 1 : 0] == [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([0] >  [1, 2, 3, 4]) == ([0 : 1 : 0] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([0] >= [1, 2, 3, 4]) == ([0 : 1 : 0] >  [1 : 1 : 4]) -> false == false -> true"
-ECHO: "([0] <  [1, 2, 3, 4]) == ([0 : 1 : 0] <  [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([0] <= [1, 2, 3, 4]) == ([0 : 1 : 0] <= [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([0] != [1, 2, 3, 4]) == ([0 : 1 : 0] != [1 : 1 : 4]) -> true == true -> true"
-ECHO: "([0] == [0]) == ([0 : 1 : 0] == [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([0] >  [0]) == ([0 : 1 : 0] >  [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([0] >= [0]) == ([0 : 1 : 0] >  [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([0] <  [0]) == ([0 : 1 : 0] <  [0 : 1 : 0]) -> false == false -> true"
-ECHO: "([0] <= [0]) == ([0 : 1 : 0] <= [0 : 1 : 0]) -> true == true -> true"
-ECHO: "([0] != [0]) == ([0 : 1 : 0] != [0 : 1 : 0]) -> false == false -> true"
+ECHO: "([] == []) == ([1 : 1 : 1] == [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] >  []) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >= []) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] <  []) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] <= []) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] != []) == ([1 : 1 : 1] != [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] == []) == ([1 : 1 : 1] == [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([] >  []) == ([1 : 1 : 1] >  [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([] >= []) == ([1 : 1 : 1] >  [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([] <  []) == ([1 : 1 : 1] <  [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([] <= []) == ([1 : 1 : 1] <= [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([] != []) == ([1 : 1 : 1] != [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([] == [1, 0, -1]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >  [1, 0, -1]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >= [1, 0, -1]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] <  [1, 0, -1]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] <= [1, 0, -1]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] != [1, 0, -1]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] == [1, 2, 3]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >  [1, 2, 3]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >= [1, 2, 3]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] <  [1, 2, 3]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] <= [1, 2, 3]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] != [1, 2, 3]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] == [1, 0, -1, -2]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >  [1, 0, -1, -2]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >= [1, 0, -1, -2]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] <  [1, 0, -1, -2]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] <= [1, 0, -1, -2]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] != [1, 0, -1, -2]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] == [1, 2, 3, 4]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >  [1, 2, 3, 4]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >= [1, 2, 3, 4]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] <  [1, 2, 3, 4]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] <= [1, 2, 3, 4]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] != [1, 2, 3, 4]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] == [0]) == ([1 : 1 : 1] == [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([] >  [0]) == ([1 : 1 : 1] >  [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([] >= [0]) == ([1 : 1 : 1] >  [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([] <  [0]) == ([1 : 1 : 1] <  [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([] <= [0]) == ([1 : 1 : 1] <= [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([] != [0]) == ([1 : 1 : 1] != [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([] == []) == ([-1 : -1 : -1] == [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] >  []) == ([-1 : -1 : -1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >= []) == ([-1 : -1 : -1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] <  []) == ([-1 : -1 : -1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] <= []) == ([-1 : -1 : -1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] != []) == ([-1 : -1 : -1] != [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] == []) == ([-1 : -1 : -1] == [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([] >  []) == ([-1 : -1 : -1] >  [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([] >= []) == ([-1 : -1 : -1] >  [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([] <  []) == ([-1 : -1 : -1] <  [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([] <= []) == ([-1 : -1 : -1] <= [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([] != []) == ([-1 : -1 : -1] != [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([] == [1, 0, -1]) == ([-1 : -1 : -1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >  [1, 0, -1]) == ([-1 : -1 : -1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >= [1, 0, -1]) == ([-1 : -1 : -1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] <  [1, 0, -1]) == ([-1 : -1 : -1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] <= [1, 0, -1]) == ([-1 : -1 : -1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] != [1, 0, -1]) == ([-1 : -1 : -1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] == [1, 2, 3]) == ([-1 : -1 : -1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >  [1, 2, 3]) == ([-1 : -1 : -1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >= [1, 2, 3]) == ([-1 : -1 : -1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] <  [1, 2, 3]) == ([-1 : -1 : -1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] <= [1, 2, 3]) == ([-1 : -1 : -1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] != [1, 2, 3]) == ([-1 : -1 : -1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] == [1, 0, -1, -2]) == ([-1 : -1 : -1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >  [1, 0, -1, -2]) == ([-1 : -1 : -1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >= [1, 0, -1, -2]) == ([-1 : -1 : -1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] <  [1, 0, -1, -2]) == ([-1 : -1 : -1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] <= [1, 0, -1, -2]) == ([-1 : -1 : -1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] != [1, 0, -1, -2]) == ([-1 : -1 : -1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] == [1, 2, 3, 4]) == ([-1 : -1 : -1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >  [1, 2, 3, 4]) == ([-1 : -1 : -1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] >= [1, 2, 3, 4]) == ([-1 : -1 : -1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([] <  [1, 2, 3, 4]) == ([-1 : -1 : -1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] <= [1, 2, 3, 4]) == ([-1 : -1 : -1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] != [1, 2, 3, 4]) == ([-1 : -1 : -1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([] == [0]) == ([-1 : -1 : -1] == [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([] >  [0]) == ([-1 : -1 : -1] >  [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([] >= [0]) == ([-1 : -1 : -1] >  [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([] <  [0]) == ([-1 : -1 : -1] <  [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([] <= [0]) == ([-1 : -1 : -1] <= [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([] != [0]) == ([-1 : -1 : -1] != [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([1, 0, -1] == []) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] >  []) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] >= []) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] <  []) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] <= []) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] != []) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] == []) == ([1 : 1 : 1] == [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([1, 0, -1] >  []) == ([1 : 1 : 1] >  [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([1, 0, -1] >= []) == ([1 : 1 : 1] >  [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([1, 0, -1] <  []) == ([1 : 1 : 1] <  [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([1, 0, -1] <= []) == ([1 : 1 : 1] <= [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([1, 0, -1] != []) == ([1 : 1 : 1] != [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([1, 0, -1] == [1, 0, -1]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] >  [1, 0, -1]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] >= [1, 0, -1]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] <  [1, 0, -1]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] <= [1, 0, -1]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] != [1, 0, -1]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] == [1, 2, 3]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] >  [1, 2, 3]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] >= [1, 2, 3]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] <  [1, 2, 3]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] <= [1, 2, 3]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] != [1, 2, 3]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] == [1, 0, -1, -2]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] >  [1, 0, -1, -2]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] >= [1, 0, -1, -2]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] <  [1, 0, -1, -2]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] <= [1, 0, -1, -2]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] != [1, 0, -1, -2]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] == [1, 2, 3, 4]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] >  [1, 2, 3, 4]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] >= [1, 2, 3, 4]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1] <  [1, 2, 3, 4]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] <= [1, 2, 3, 4]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] != [1, 2, 3, 4]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1] == [0]) == ([1 : 1 : 1] == [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([1, 0, -1] >  [0]) == ([1 : 1 : 1] >  [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([1, 0, -1] >= [0]) == ([1 : 1 : 1] >  [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([1, 0, -1] <  [0]) == ([1 : 1 : 1] <  [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([1, 0, -1] <= [0]) == ([1 : 1 : 1] <= [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([1, 0, -1] != [0]) == ([1 : 1 : 1] != [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([1, 2, 3] == []) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] >  []) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] >= []) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] <  []) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] <= []) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] != []) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] == []) == ([1 : 1 : 1] == [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([1, 2, 3] >  []) == ([1 : 1 : 1] >  [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([1, 2, 3] >= []) == ([1 : 1 : 1] >  [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([1, 2, 3] <  []) == ([1 : 1 : 1] <  [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([1, 2, 3] <= []) == ([1 : 1 : 1] <= [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([1, 2, 3] != []) == ([1 : 1 : 1] != [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([1, 2, 3] == [1, 0, -1]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] >  [1, 0, -1]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] >= [1, 0, -1]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] <  [1, 0, -1]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] <= [1, 0, -1]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] != [1, 0, -1]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] == [1, 2, 3]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] >  [1, 2, 3]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] >= [1, 2, 3]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] <  [1, 2, 3]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] <= [1, 2, 3]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] != [1, 2, 3]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] == [1, 0, -1, -2]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] >  [1, 0, -1, -2]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] >= [1, 0, -1, -2]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] <  [1, 0, -1, -2]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] <= [1, 0, -1, -2]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] != [1, 0, -1, -2]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] == [1, 2, 3, 4]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] >  [1, 2, 3, 4]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] >= [1, 2, 3, 4]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3] <  [1, 2, 3, 4]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] <= [1, 2, 3, 4]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] != [1, 2, 3, 4]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3] == [0]) == ([1 : 1 : 1] == [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([1, 2, 3] >  [0]) == ([1 : 1 : 1] >  [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([1, 2, 3] >= [0]) == ([1 : 1 : 1] >  [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([1, 2, 3] <  [0]) == ([1 : 1 : 1] <  [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([1, 2, 3] <= [0]) == ([1 : 1 : 1] <= [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([1, 2, 3] != [0]) == ([1 : 1 : 1] != [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] == []) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] >  []) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] >= []) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] <  []) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] <= []) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] != []) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] == []) == ([1 : 1 : 1] == [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] >  []) == ([1 : 1 : 1] >  [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] >= []) == ([1 : 1 : 1] >  [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] <  []) == ([1 : 1 : 1] <  [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] <= []) == ([1 : 1 : 1] <= [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] != []) == ([1 : 1 : 1] != [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] == [1, 0, -1]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] >  [1, 0, -1]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] >= [1, 0, -1]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] <  [1, 0, -1]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] <= [1, 0, -1]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] != [1, 0, -1]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] == [1, 2, 3]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] >  [1, 2, 3]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] >= [1, 2, 3]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] <  [1, 2, 3]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] <= [1, 2, 3]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] != [1, 2, 3]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] == [1, 0, -1, -2]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] >  [1, 0, -1, -2]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] >= [1, 0, -1, -2]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] <  [1, 0, -1, -2]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] <= [1, 0, -1, -2]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] != [1, 0, -1, -2]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] == [1, 2, 3, 4]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] >  [1, 2, 3, 4]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] >= [1, 2, 3, 4]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] <  [1, 2, 3, 4]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] <= [1, 2, 3, 4]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] != [1, 2, 3, 4]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] == [0]) == ([1 : 1 : 1] == [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] >  [0]) == ([1 : 1 : 1] >  [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] >= [0]) == ([1 : 1 : 1] >  [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([1, 0, -1, -2] <  [0]) == ([1 : 1 : 1] <  [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] <= [0]) == ([1 : 1 : 1] <= [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([1, 0, -1, -2] != [0]) == ([1 : 1 : 1] != [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] == []) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] >  []) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] >= []) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] <  []) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] <= []) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] != []) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] == []) == ([1 : 1 : 1] == [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] >  []) == ([1 : 1 : 1] >  [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] >= []) == ([1 : 1 : 1] >  [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] <  []) == ([1 : 1 : 1] <  [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] <= []) == ([1 : 1 : 1] <= [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] != []) == ([1 : 1 : 1] != [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] == [1, 0, -1]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] >  [1, 0, -1]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] >= [1, 0, -1]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] <  [1, 0, -1]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] <= [1, 0, -1]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] != [1, 0, -1]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] == [1, 2, 3]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] >  [1, 2, 3]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] >= [1, 2, 3]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] <  [1, 2, 3]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] <= [1, 2, 3]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] != [1, 2, 3]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] == [1, 0, -1, -2]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] >  [1, 0, -1, -2]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] >= [1, 0, -1, -2]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] <  [1, 0, -1, -2]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] <= [1, 0, -1, -2]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] != [1, 0, -1, -2]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] == [1, 2, 3, 4]) == ([1 : 1 : 1] == [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] >  [1, 2, 3, 4]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] >= [1, 2, 3, 4]) == ([1 : 1 : 1] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] <  [1, 2, 3, 4]) == ([1 : 1 : 1] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] <= [1, 2, 3, 4]) == ([1 : 1 : 1] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] != [1, 2, 3, 4]) == ([1 : 1 : 1] != [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] == [0]) == ([1 : 1 : 1] == [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] >  [0]) == ([1 : 1 : 1] >  [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] >= [0]) == ([1 : 1 : 1] >  [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([1, 2, 3, 4] <  [0]) == ([1 : 1 : 1] <  [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] <= [0]) == ([1 : 1 : 1] <= [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([1, 2, 3, 4] != [0]) == ([1 : 1 : 1] != [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([0] == []) == ([0 : 0 : 0] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] >  []) == ([0 : 0 : 0] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] >= []) == ([0 : 0 : 0] >  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] <  []) == ([0 : 0 : 0] <  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] <= []) == ([0 : 0 : 0] <= [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] != []) == ([0 : 0 : 0] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] == []) == ([0 : 0 : 0] == [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([0] >  []) == ([0 : 0 : 0] >  [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([0] >= []) == ([0 : 0 : 0] >  [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([0] <  []) == ([0 : 0 : 0] <  [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([0] <= []) == ([0 : 0 : 0] <= [-1 : -1 : -1]) -> false == false -> true"
+ECHO: "([0] != []) == ([0 : 0 : 0] != [-1 : -1 : -1]) -> true == true -> true"
+ECHO: "([0] == [1, 0, -1]) == ([0 : 0 : 0] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] >  [1, 0, -1]) == ([0 : 0 : 0] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] >= [1, 0, -1]) == ([0 : 0 : 0] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] <  [1, 0, -1]) == ([0 : 0 : 0] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] <= [1, 0, -1]) == ([0 : 0 : 0] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] != [1, 0, -1]) == ([0 : 0 : 0] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] == [1, 2, 3]) == ([0 : 0 : 0] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] >  [1, 2, 3]) == ([0 : 0 : 0] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] >= [1, 2, 3]) == ([0 : 0 : 0] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] <  [1, 2, 3]) == ([0 : 0 : 0] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] <= [1, 2, 3]) == ([0 : 0 : 0] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] != [1, 2, 3]) == ([0 : 0 : 0] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] == [1, 0, -1, -2]) == ([0 : 0 : 0] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] >  [1, 0, -1, -2]) == ([0 : 0 : 0] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] >= [1, 0, -1, -2]) == ([0 : 0 : 0] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] <  [1, 0, -1, -2]) == ([0 : 0 : 0] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] <= [1, 0, -1, -2]) == ([0 : 0 : 0] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] != [1, 0, -1, -2]) == ([0 : 0 : 0] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] == [1, 2, 3, 4]) == ([0 : 0 : 0] == [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] >  [1, 2, 3, 4]) == ([0 : 0 : 0] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] >= [1, 2, 3, 4]) == ([0 : 0 : 0] >  [1 : 1 : 1]) -> false == false -> true"
+ECHO: "([0] <  [1, 2, 3, 4]) == ([0 : 0 : 0] <  [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] <= [1, 2, 3, 4]) == ([0 : 0 : 0] <= [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] != [1, 2, 3, 4]) == ([0 : 0 : 0] != [1 : 1 : 1]) -> true == true -> true"
+ECHO: "([0] == [0]) == ([0 : 0 : 0] == [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([0] >  [0]) == ([0 : 0 : 0] >  [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([0] >= [0]) == ([0 : 0 : 0] >  [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([0] <  [0]) == ([0 : 0 : 0] <  [0 : 0 : 0]) -> false == false -> true"
+ECHO: "([0] <= [0]) == ([0 : 0 : 0] <= [0 : 0 : 0]) -> true == true -> true"
+ECHO: "([0] != [0]) == ([0 : 0 : 0] != [0 : 0 : 0]) -> false == false -> true"
<end of output>
Test time =   0.49 sec
----------------------------------------------------------
Test Failed.
"echotest_operators-tests" end time: Jun 30 12:36 UTC
"echotest_operators-tests" time elapsed: 00:00:00

    

build.make and flags.make

CMakeFiles/issue2342.dir/build.make

        # CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.12

# Delete rule output on recipe failure.
.DELETE_ON_ERROR:


#=============================================================================
# Special targets provided by cmake.

# Disable implicit rules so canonical targets will work.
.SUFFIXES:


# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =

.SUFFIXES: .hpux_make_needs_suffix_list


# Suppress display of executed commands.
$(VERBOSE).SILENT:


# A target that is always out of date.
cmake_force:

.PHONY : cmake_force

#=============================================================================
# Set environment variables for the build.

# The shell in which to execute make rules.
SHELL = /bin/sh

# The CMake executable.
CMAKE_COMMAND = /usr/local/cmake-3.12.4/bin/cmake

# The command to remove a file.
RM = /usr/local/cmake-3.12.4/bin/cmake -E remove -f

# Escaping for special characters.
EQUALS = =

# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/travis/build/openscad/openscad/tests

# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/travis/build/openscad/openscad/tests

# Utility rule file for issue2342.

# Include the progress variables for this target.
include CMakeFiles/issue2342.dir/progress.make

CMakeFiles/issue2342:
	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/travis/build/openscad/openscad/tests/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating issue2342.scad"
	cd /home/travis/build/openscad/openscad/testdata/python && /opt/pyenv/shims/python3 /home/travis/build/openscad/openscad/tests/../testdata/python/gen_issue2342.py >/home/travis/build/openscad/openscad/tests/../testdata/scad/issues/issue2342.scad

issue2342: CMakeFiles/issue2342
issue2342: CMakeFiles/issue2342.dir/build.make

.PHONY : issue2342

# Rule to build all files generated by this target.
CMakeFiles/issue2342.dir/build: issue2342

.PHONY : CMakeFiles/issue2342.dir/build

CMakeFiles/issue2342.dir/clean:
	$(CMAKE_COMMAND) -P CMakeFiles/issue2342.dir/cmake_clean.cmake
.PHONY : CMakeFiles/issue2342.dir/clean

CMakeFiles/issue2342.dir/depend:
	cd /home/travis/build/openscad/openscad/tests && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/travis/build/openscad/openscad/tests /home/travis/build/openscad/openscad/tests /home/travis/build/openscad/openscad/tests /home/travis/build/openscad/openscad/tests /home/travis/build/openscad/openscad/tests/CMakeFiles/issue2342.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/issue2342.dir/depend


    

CMakeFiles/svg_viewbox_tests.dir/build.make

        # CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.12

# Delete rule output on recipe failure.
.DELETE_ON_ERROR:


#=============================================================================
# Special targets provided by cmake.

# Disable implicit rules so canonical targets will work.
.SUFFIXES:


# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =

.SUFFIXES: .hpux_make_needs_suffix_list


# Suppress display of executed commands.
$(VERBOSE).SILENT:


# A target that is always out of date.
cmake_force:

.PHONY : cmake_force

#=============================================================================
# Set environment variables for the build.

# The shell in which to execute make rules.
SHELL = /bin/sh

# The CMake executable.
CMAKE_COMMAND = /usr/local/cmake-3.12.4/bin/cmake

# The command to remove a file.
RM = /usr/local/cmake-3.12.4/bin/cmake -E remove -f

# Escaping for special characters.
EQUALS = =

# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/travis/build/openscad/openscad/tests

# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/travis/build/openscad/openscad/tests

# Utility rule file for svg_viewbox_tests.

# Include the progress variables for this target.
include CMakeFiles/svg_viewbox_tests.dir/progress.make

CMakeFiles/svg_viewbox_tests:
	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/travis/build/openscad/openscad/tests/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating svg viewbox tests"
	cd /home/travis/build/openscad/openscad/testdata/python && /opt/pyenv/shims/python3 /home/travis/build/openscad/openscad/tests/../testdata/python/gen_svg_viewbox_tests.py /home/travis/build/openscad/openscad/tests/../testdata/svg/viewbox /home/travis/build/openscad/openscad/tests/../testdata/scad/svg/extruded

svg_viewbox_tests: CMakeFiles/svg_viewbox_tests
svg_viewbox_tests: CMakeFiles/svg_viewbox_tests.dir/build.make

.PHONY : svg_viewbox_tests

# Rule to build all files generated by this target.
CMakeFiles/svg_viewbox_tests.dir/build: svg_viewbox_tests

.PHONY : CMakeFiles/svg_viewbox_tests.dir/build

CMakeFiles/svg_viewbox_tests.dir/clean:
	$(CMAKE_COMMAND) -P CMakeFiles/svg_viewbox_tests.dir/cmake_clean.cmake
.PHONY : CMakeFiles/svg_viewbox_tests.dir/clean

CMakeFiles/svg_viewbox_tests.dir/depend:
	cd /home/travis/build/openscad/openscad/tests && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/travis/build/openscad/openscad/tests /home/travis/build/openscad/openscad/tests /home/travis/build/openscad/openscad/tests /home/travis/build/openscad/openscad/tests /home/travis/build/openscad/openscad/tests/CMakeFiles/svg_viewbox_tests.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/svg_viewbox_tests.dir/depend