cuelang.org/go@v0.13.0/cue/testdata/eval/bounds.txtar (about)

     1  -- in.cue --
     2  x0: 5
     3  x1: b5 & 30
     4  
     5  b0: <x0 & >0
     6  b1: b0 & int
     7  b2: int & <5.5
     8  b3: <10 & <=5
     9  b4: >=20 & >20
    10  b5: >=21 & >20
    11  b6: int & >5 & <=6
    12  
    13  simplifyExpr: {
    14  	less1: <(<3)
    15  	less2: <(<=3)
    16  	less3: <=(<3)
    17  	less4: <=(<=3)
    18  	less5: <(!=3)
    19  	less6: <=(!=3)
    20  
    21  	gtr1: >(>3)
    22  	gtr2: >(>=3)
    23  	gtr3: >=(>3)
    24  	gtr4: >=(>=3)
    25  	gtr5: >(!=3)
    26  	gtr6: >=(!=3)
    27  
    28  	lg1: <(>3)
    29  	lg2: <(>=3)
    30  	lg3: <=(>3)
    31  	lg4: <=(>=3)
    32  
    33  	gl1: >(<3)
    34  	gl2: >(<=3)
    35  	gl3: >=(<3)
    36  	gl4: >=(<=3)
    37  
    38  	ne1: !=(!=3)
    39  	ne2: !=(<3)
    40  	ne3: !=(<=3)
    41  	ne4: !=(>3)
    42  	ne5: !=(>=3)
    43  
    44  	s:      string
    45  	n:      number
    46  	i:      int
    47  	f:      float
    48  	b:      bytes
    49  	basic1: <(i)
    50  	basic2: >(n)
    51  	basic3: >=(s)
    52  	basic4: <=(f)
    53  	basic5: <=(b)
    54  
    55  	// Do NOT interpret this the same as `!= type`.
    56  	bne1: !=(s)
    57  	bne2: !=(n)
    58  	bne3: !=(n)
    59  	bne4: !=(i)
    60  	bne5: !=(b)
    61  
    62  	e1: <(=~"foo")
    63  	e2: >(null)
    64  }
    65  -- binarystring.cue --
    66  simplifyBinary: strings: {
    67    err1: p1: <"a" & >"b"
    68    err1: p2: >"b" & <"a"
    69  
    70    err2: p1: >"b" & <="a"
    71    err2: p2: <="a" & >"b"
    72  
    73    err3: p1: >="b" & <"b"
    74    err3: p2: <"b" & >="b"
    75    err3: p3: >"b" & <="b"
    76    err3: p4: <="b" & >"b"
    77  
    78    ok1: p1: >"a" & <"b"
    79    ok1: p2: <"b" & >"a"
    80  
    81    ok2: p1: >"a" & <="b"
    82    ok2: p2: <="b" & >"a"
    83    ok2: p3: >="a" & <"b"
    84    ok2: p4: <"b" & >="a"
    85  
    86    ok3: p1: >="b" & <="c"
    87    ok3: p2: <="c" & >="b"
    88  
    89    ok4: p1: >="b" & <="b"
    90  }
    91  simplifyBinary: byte: {
    92    err1: p1: <'a' & >'b'
    93    err1: p2: >'b' & <'a'
    94  
    95    err2: p1: >'b' & <='a'
    96    err2: p2: <='a' & >'b'
    97  
    98    err3: p1: >='b' & <'b'
    99    err3: p2: <'b' & >='b'
   100    err3: p3: >'b' & <='b'
   101    err3: p4: <='b' & >'b'
   102  
   103    ok1: p1: >'a' & <'b'
   104    ok1: p2: <'b' & >'a'
   105  
   106    ok2: p1: >'a' & <='b'
   107    ok2: p2: <='b' & >'a'
   108    ok2: p3: >='a' & <'b'
   109    ok2: p4: <'b' & >='a'
   110  
   111    ok3: p1: >='b' & <='c'
   112    ok3: p2: <='c' & >='b'
   113  
   114    ok4: p1: >='b' & <='b'
   115  }
   116  -- binary.cue --
   117  simplifyBinary: float: {
   118    err1: p1: <1 & >2
   119    err1: p2: >2 & <1
   120  
   121    err2: p1: >2 & <=1
   122    err2: p2: <=1 & >2
   123  
   124    err3: p1: >=2 & <2
   125    err3: p2: <2 & >=2
   126    err3: p3: >2 & <=2
   127    err3: p4: <=2 & >2
   128  
   129    ok1: p1: >1 & <2
   130    ok1: p2: <2 & >1
   131  
   132    ok2: p1: >=2 & <=2
   133    ok2: p2: <=2 & >=2
   134  }
   135  
   136  simplifyBinary: integer: {
   137    [_]: [_]: int
   138    err1: p1: <1 & >2
   139    err1: p2: >2 & <1
   140  
   141    err2: p1: >2 & <=1
   142    err2: p2: <=1 & >2
   143  
   144    err3: p1: >=2 & <2
   145    err3: p2: <2 & >=2
   146    err3: p3: >2 & <=2
   147    err3: p4: <=2 & >2
   148  
   149    err4: p1: >1 & <2
   150    err4: p2: <2 & >1
   151  
   152    ok1: p1: >=2 & <=3
   153    ok1: p2: <=3 & >=2
   154  
   155    ok2: p1: >=2 & <=2
   156    ok2: p2: <=2 & >=2
   157  
   158    ok3: p1: >=2 & <3
   159    ok3: p2: >2 & <=3
   160    ok3: p3: <3 & >=2
   161    ok3: p4: <=3 & >2
   162  }
   163  -- out/eval/stats --
   164  Leaks:  0
   165  Freed:  148
   166  Reused: 143
   167  Allocs: 5
   168  Retain: 1
   169  
   170  Unifications: 148
   171  Conjuncts:    337
   172  Disjuncts:    149
   173  -- out/evalalpha --
   174  Errors:
   175  simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2:
   176      ./binary.cue:2:18
   177      ./binary.cue:2:13
   178  simplifyBinary.float.err1.p2: incompatible number bounds <1 and >2:
   179      ./binary.cue:3:18
   180      ./binary.cue:3:13
   181  simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2:
   182      ./binary.cue:5:18
   183      ./binary.cue:5:13
   184  simplifyBinary.float.err2.p2: incompatible number bounds <=1 and >2:
   185      ./binary.cue:6:19
   186      ./binary.cue:6:13
   187  simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2:
   188      ./binary.cue:8:19
   189      ./binary.cue:8:13
   190  simplifyBinary.float.err3.p2: incompatible number bounds <2 and >=2:
   191      ./binary.cue:9:18
   192      ./binary.cue:9:13
   193  simplifyBinary.float.err3.p3: incompatible number bounds <=2 and >2:
   194      ./binary.cue:10:18
   195      ./binary.cue:10:13
   196  simplifyBinary.float.err3.p4: incompatible number bounds <=2 and >2:
   197      ./binary.cue:11:19
   198      ./binary.cue:11:13
   199  simplifyBinary.integer.err1.p1: incompatible integer bounds <1 and >2:
   200      ./binary.cue:22:18
   201      ./binary.cue:22:13
   202  simplifyBinary.integer.err1.p2: incompatible integer bounds <1 and >2:
   203      ./binary.cue:23:18
   204      ./binary.cue:23:13
   205  simplifyBinary.integer.err2.p1: incompatible integer bounds <=1 and >2:
   206      ./binary.cue:25:18
   207      ./binary.cue:25:13
   208  simplifyBinary.integer.err2.p2: incompatible integer bounds <=1 and >2:
   209      ./binary.cue:26:19
   210      ./binary.cue:26:13
   211  simplifyBinary.integer.err3.p1: incompatible integer bounds <2 and >=2:
   212      ./binary.cue:28:19
   213      ./binary.cue:28:13
   214  simplifyBinary.integer.err3.p2: incompatible integer bounds <2 and >=2:
   215      ./binary.cue:29:18
   216      ./binary.cue:29:13
   217  simplifyBinary.integer.err3.p3: incompatible integer bounds <=2 and >2:
   218      ./binary.cue:30:18
   219      ./binary.cue:30:13
   220  simplifyBinary.integer.err3.p4: incompatible integer bounds <=2 and >2:
   221      ./binary.cue:31:19
   222      ./binary.cue:31:13
   223  simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2:
   224      ./binary.cue:33:18
   225      ./binary.cue:33:13
   226  simplifyBinary.integer.err4.p2: incompatible integer bounds >1 and <2:
   227      ./binary.cue:34:18
   228      ./binary.cue:34:13
   229  simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b":
   230      ./binarystring.cue:2:20
   231      ./binarystring.cue:2:13
   232  simplifyBinary.strings.err1.p2: incompatible string bounds <"a" and >"b":
   233      ./binarystring.cue:3:20
   234      ./binarystring.cue:3:13
   235  simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b":
   236      ./binarystring.cue:5:20
   237      ./binarystring.cue:5:13
   238  simplifyBinary.strings.err2.p2: incompatible string bounds <="a" and >"b":
   239      ./binarystring.cue:6:21
   240      ./binarystring.cue:6:13
   241  simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b":
   242      ./binarystring.cue:8:21
   243      ./binarystring.cue:8:13
   244  simplifyBinary.strings.err3.p2: incompatible string bounds <"b" and >="b":
   245      ./binarystring.cue:9:20
   246      ./binarystring.cue:9:13
   247  simplifyBinary.strings.err3.p3: incompatible string bounds <="b" and >"b":
   248      ./binarystring.cue:10:20
   249      ./binarystring.cue:10:13
   250  simplifyBinary.strings.err3.p4: incompatible string bounds <="b" and >"b":
   251      ./binarystring.cue:11:21
   252      ./binarystring.cue:11:13
   253  simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b':
   254      ./binarystring.cue:27:20
   255      ./binarystring.cue:27:13
   256  simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b':
   257      ./binarystring.cue:28:20
   258      ./binarystring.cue:28:13
   259  simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b':
   260      ./binarystring.cue:30:20
   261      ./binarystring.cue:30:13
   262  simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b':
   263      ./binarystring.cue:31:21
   264      ./binarystring.cue:31:13
   265  simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b':
   266      ./binarystring.cue:33:21
   267      ./binarystring.cue:33:13
   268  simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b':
   269      ./binarystring.cue:34:20
   270      ./binarystring.cue:34:13
   271  simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b':
   272      ./binarystring.cue:35:20
   273      ./binarystring.cue:35:13
   274  simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b':
   275      ./binarystring.cue:36:21
   276      ./binarystring.cue:36:13
   277  simplifyExpr.e2: cannot use null for bound >:
   278      ./in.cue:62:8
   279  
   280  Result:
   281  (_|_){
   282    // [eval]
   283    simplifyBinary: (_|_){
   284      // [eval]
   285      float: (_|_){
   286        // [eval]
   287        err1: (_|_){
   288          // [eval]
   289          p1: (_|_){
   290            // [eval] simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2:
   291            //     ./binary.cue:2:18
   292            //     ./binary.cue:2:13
   293          }
   294          p2: (_|_){
   295            // [eval] simplifyBinary.float.err1.p2: incompatible number bounds <1 and >2:
   296            //     ./binary.cue:3:18
   297            //     ./binary.cue:3:13
   298          }
   299        }
   300        err2: (_|_){
   301          // [eval]
   302          p1: (_|_){
   303            // [eval] simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2:
   304            //     ./binary.cue:5:18
   305            //     ./binary.cue:5:13
   306          }
   307          p2: (_|_){
   308            // [eval] simplifyBinary.float.err2.p2: incompatible number bounds <=1 and >2:
   309            //     ./binary.cue:6:19
   310            //     ./binary.cue:6:13
   311          }
   312        }
   313        err3: (_|_){
   314          // [eval]
   315          p1: (_|_){
   316            // [eval] simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2:
   317            //     ./binary.cue:8:19
   318            //     ./binary.cue:8:13
   319          }
   320          p2: (_|_){
   321            // [eval] simplifyBinary.float.err3.p2: incompatible number bounds <2 and >=2:
   322            //     ./binary.cue:9:18
   323            //     ./binary.cue:9:13
   324          }
   325          p3: (_|_){
   326            // [eval] simplifyBinary.float.err3.p3: incompatible number bounds <=2 and >2:
   327            //     ./binary.cue:10:18
   328            //     ./binary.cue:10:13
   329          }
   330          p4: (_|_){
   331            // [eval] simplifyBinary.float.err3.p4: incompatible number bounds <=2 and >2:
   332            //     ./binary.cue:11:19
   333            //     ./binary.cue:11:13
   334          }
   335        }
   336        ok1: (struct){
   337          p1: (number){ &(>1, <2) }
   338          p2: (number){ &(>1, <2) }
   339        }
   340        ok2: (struct){
   341          p1: (number){ 2 }
   342          p2: (number){ 2 }
   343        }
   344      }
   345      integer: (_|_){
   346        // [eval]
   347        err1: (_|_){
   348          // [eval]
   349          p1: (_|_){
   350            // [eval] simplifyBinary.integer.err1.p1: incompatible integer bounds <1 and >2:
   351            //     ./binary.cue:22:18
   352            //     ./binary.cue:22:13
   353          }
   354          p2: (_|_){
   355            // [eval] simplifyBinary.integer.err1.p2: incompatible integer bounds <1 and >2:
   356            //     ./binary.cue:23:18
   357            //     ./binary.cue:23:13
   358          }
   359        }
   360        err2: (_|_){
   361          // [eval]
   362          p1: (_|_){
   363            // [eval] simplifyBinary.integer.err2.p1: incompatible integer bounds <=1 and >2:
   364            //     ./binary.cue:25:18
   365            //     ./binary.cue:25:13
   366          }
   367          p2: (_|_){
   368            // [eval] simplifyBinary.integer.err2.p2: incompatible integer bounds <=1 and >2:
   369            //     ./binary.cue:26:19
   370            //     ./binary.cue:26:13
   371          }
   372        }
   373        err3: (_|_){
   374          // [eval]
   375          p1: (_|_){
   376            // [eval] simplifyBinary.integer.err3.p1: incompatible integer bounds <2 and >=2:
   377            //     ./binary.cue:28:19
   378            //     ./binary.cue:28:13
   379          }
   380          p2: (_|_){
   381            // [eval] simplifyBinary.integer.err3.p2: incompatible integer bounds <2 and >=2:
   382            //     ./binary.cue:29:18
   383            //     ./binary.cue:29:13
   384          }
   385          p3: (_|_){
   386            // [eval] simplifyBinary.integer.err3.p3: incompatible integer bounds <=2 and >2:
   387            //     ./binary.cue:30:18
   388            //     ./binary.cue:30:13
   389          }
   390          p4: (_|_){
   391            // [eval] simplifyBinary.integer.err3.p4: incompatible integer bounds <=2 and >2:
   392            //     ./binary.cue:31:19
   393            //     ./binary.cue:31:13
   394          }
   395        }
   396        err4: (_|_){
   397          // [eval]
   398          p1: (_|_){
   399            // [eval] simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2:
   400            //     ./binary.cue:33:18
   401            //     ./binary.cue:33:13
   402          }
   403          p2: (_|_){
   404            // [eval] simplifyBinary.integer.err4.p2: incompatible integer bounds >1 and <2:
   405            //     ./binary.cue:34:18
   406            //     ./binary.cue:34:13
   407          }
   408        }
   409        ok1: (struct){
   410          p1: (int){ &(>=2, <=3, int) }
   411          p2: (int){ &(>=2, <=3, int) }
   412        }
   413        ok2: (struct){
   414          p1: (int){ 2 }
   415          p2: (int){ 2 }
   416        }
   417        ok3: (struct){
   418          p1: (int){ 2 }
   419          p2: (int){ 3 }
   420          p3: (int){ 2 }
   421          p4: (int){ 3 }
   422        }
   423      }
   424      strings: (_|_){
   425        // [eval]
   426        err1: (_|_){
   427          // [eval]
   428          p1: (_|_){
   429            // [eval] simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b":
   430            //     ./binarystring.cue:2:20
   431            //     ./binarystring.cue:2:13
   432          }
   433          p2: (_|_){
   434            // [eval] simplifyBinary.strings.err1.p2: incompatible string bounds <"a" and >"b":
   435            //     ./binarystring.cue:3:20
   436            //     ./binarystring.cue:3:13
   437          }
   438        }
   439        err2: (_|_){
   440          // [eval]
   441          p1: (_|_){
   442            // [eval] simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b":
   443            //     ./binarystring.cue:5:20
   444            //     ./binarystring.cue:5:13
   445          }
   446          p2: (_|_){
   447            // [eval] simplifyBinary.strings.err2.p2: incompatible string bounds <="a" and >"b":
   448            //     ./binarystring.cue:6:21
   449            //     ./binarystring.cue:6:13
   450          }
   451        }
   452        err3: (_|_){
   453          // [eval]
   454          p1: (_|_){
   455            // [eval] simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b":
   456            //     ./binarystring.cue:8:21
   457            //     ./binarystring.cue:8:13
   458          }
   459          p2: (_|_){
   460            // [eval] simplifyBinary.strings.err3.p2: incompatible string bounds <"b" and >="b":
   461            //     ./binarystring.cue:9:20
   462            //     ./binarystring.cue:9:13
   463          }
   464          p3: (_|_){
   465            // [eval] simplifyBinary.strings.err3.p3: incompatible string bounds <="b" and >"b":
   466            //     ./binarystring.cue:10:20
   467            //     ./binarystring.cue:10:13
   468          }
   469          p4: (_|_){
   470            // [eval] simplifyBinary.strings.err3.p4: incompatible string bounds <="b" and >"b":
   471            //     ./binarystring.cue:11:21
   472            //     ./binarystring.cue:11:13
   473          }
   474        }
   475        ok1: (struct){
   476          p1: (string){ &(>"a", <"b") }
   477          p2: (string){ &(>"a", <"b") }
   478        }
   479        ok2: (struct){
   480          p1: (string){ &(>"a", <="b") }
   481          p2: (string){ &(>"a", <="b") }
   482          p3: (string){ &(>="a", <"b") }
   483          p4: (string){ &(>="a", <"b") }
   484        }
   485        ok3: (struct){
   486          p1: (string){ &(>="b", <="c") }
   487          p2: (string){ &(>="b", <="c") }
   488        }
   489        ok4: (struct){
   490          p1: (string){ "b" }
   491        }
   492      }
   493      byte: (_|_){
   494        // [eval]
   495        err1: (_|_){
   496          // [eval]
   497          p1: (_|_){
   498            // [eval] simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b':
   499            //     ./binarystring.cue:27:20
   500            //     ./binarystring.cue:27:13
   501          }
   502          p2: (_|_){
   503            // [eval] simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b':
   504            //     ./binarystring.cue:28:20
   505            //     ./binarystring.cue:28:13
   506          }
   507        }
   508        err2: (_|_){
   509          // [eval]
   510          p1: (_|_){
   511            // [eval] simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b':
   512            //     ./binarystring.cue:30:20
   513            //     ./binarystring.cue:30:13
   514          }
   515          p2: (_|_){
   516            // [eval] simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b':
   517            //     ./binarystring.cue:31:21
   518            //     ./binarystring.cue:31:13
   519          }
   520        }
   521        err3: (_|_){
   522          // [eval]
   523          p1: (_|_){
   524            // [eval] simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b':
   525            //     ./binarystring.cue:33:21
   526            //     ./binarystring.cue:33:13
   527          }
   528          p2: (_|_){
   529            // [eval] simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b':
   530            //     ./binarystring.cue:34:20
   531            //     ./binarystring.cue:34:13
   532          }
   533          p3: (_|_){
   534            // [eval] simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b':
   535            //     ./binarystring.cue:35:20
   536            //     ./binarystring.cue:35:13
   537          }
   538          p4: (_|_){
   539            // [eval] simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b':
   540            //     ./binarystring.cue:36:21
   541            //     ./binarystring.cue:36:13
   542          }
   543        }
   544        ok1: (struct){
   545          p1: (bytes){ &(>'a', <'b') }
   546          p2: (bytes){ &(>'a', <'b') }
   547        }
   548        ok2: (struct){
   549          p1: (bytes){ &(>'a', <='b') }
   550          p2: (bytes){ &(>'a', <='b') }
   551          p3: (bytes){ &(>='a', <'b') }
   552          p4: (bytes){ &(>='a', <'b') }
   553        }
   554        ok3: (struct){
   555          p1: (bytes){ &(>='b', <='c') }
   556          p2: (bytes){ &(>='b', <='c') }
   557        }
   558        ok4: (struct){
   559          p1: (bytes){ 'b' }
   560        }
   561      }
   562    }
   563    x0: (int){ 5 }
   564    x1: (int){ 30 }
   565    b0: (number){ &(>0, <5) }
   566    b1: (int){ &(>0, <5, int) }
   567    b2: (int){ &(<5.5, int) }
   568    b3: (number){ <=5 }
   569    b4: (number){ >20 }
   570    b5: (number){ >=21 }
   571    b6: (int){ 6 }
   572    simplifyExpr: (_|_){
   573      // [eval]
   574      less1: (number){ <3 }
   575      less2: (number){ <3 }
   576      less3: (number){ <3 }
   577      less4: (number){ <=3 }
   578      less5: (number){ number }
   579      less6: (number){ number }
   580      gtr1: (number){ >3 }
   581      gtr2: (number){ >3 }
   582      gtr3: (number){ >3 }
   583      gtr4: (number){ >=3 }
   584      gtr5: (number){ number }
   585      gtr6: (number){ number }
   586      lg1: (number){ number }
   587      lg2: (number){ number }
   588      lg3: (number){ number }
   589      lg4: (number){ number }
   590      gl1: (number){ number }
   591      gl2: (number){ number }
   592      gl3: (number){ number }
   593      gl4: (number){ number }
   594      ne1: (int){ 3 }
   595      ne2: (number){ >=3 }
   596      ne3: (number){ >3 }
   597      ne4: (number){ <=3 }
   598      ne5: (number){ <3 }
   599      s: (string){ string }
   600      n: (number){ number }
   601      i: (int){ int }
   602      f: (float){ float }
   603      b: (bytes){ bytes }
   604      basic1: (_|_){
   605        // [incomplete] simplifyExpr.basic1: non-concrete value i for bound <:
   606        //     ./in.cue:48:12
   607      }
   608      basic2: (_|_){
   609        // [incomplete] simplifyExpr.basic2: non-concrete value n for bound >:
   610        //     ./in.cue:49:12
   611      }
   612      basic3: (_|_){
   613        // [incomplete] simplifyExpr.basic3: non-concrete value s for bound >=:
   614        //     ./in.cue:50:13
   615      }
   616      basic4: (_|_){
   617        // [incomplete] simplifyExpr.basic4: non-concrete value f for bound <=:
   618        //     ./in.cue:51:13
   619      }
   620      basic5: (_|_){
   621        // [incomplete] simplifyExpr.basic5: non-concrete value b for bound <=:
   622        //     ./in.cue:52:13
   623      }
   624      bne1: (_|_){
   625        // [incomplete] simplifyExpr.bne1: non-concrete value s for bound !=:
   626        //     ./in.cue:55:11
   627      }
   628      bne2: (_|_){
   629        // [incomplete] simplifyExpr.bne2: non-concrete value n for bound !=:
   630        //     ./in.cue:56:11
   631      }
   632      bne3: (_|_){
   633        // [incomplete] simplifyExpr.bne3: non-concrete value n for bound !=:
   634        //     ./in.cue:57:11
   635      }
   636      bne4: (_|_){
   637        // [incomplete] simplifyExpr.bne4: non-concrete value i for bound !=:
   638        //     ./in.cue:58:11
   639      }
   640      bne5: (_|_){
   641        // [incomplete] simplifyExpr.bne5: non-concrete value b for bound !=:
   642        //     ./in.cue:59:11
   643      }
   644      e1: (_|_){
   645        // [incomplete] simplifyExpr.e1: non-concrete value =~"foo" for bound <:
   646        //     ./in.cue:61:8
   647      }
   648      e2: (_|_){
   649        // [eval] simplifyExpr.e2: cannot use null for bound >:
   650        //     ./in.cue:62:8
   651      }
   652    }
   653  }
   654  -- diff/-out/evalalpha<==>+out/eval --
   655  diff old new
   656  --- old
   657  +++ new
   658  @@ -1,110 +1,106 @@
   659   Errors:
   660  -simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b':
   661  -    ./binarystring.cue:27:13
   662  -    ./binarystring.cue:27:20
   663  -simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b':
   664  -    ./binarystring.cue:28:13
   665  -    ./binarystring.cue:28:20
   666  -simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b':
   667  -    ./binarystring.cue:30:13
   668  -    ./binarystring.cue:30:20
   669  -simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b':
   670  -    ./binarystring.cue:31:13
   671  -    ./binarystring.cue:31:21
   672  -simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b':
   673  -    ./binarystring.cue:33:13
   674  -    ./binarystring.cue:33:21
   675  -simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b':
   676  -    ./binarystring.cue:34:13
   677  -    ./binarystring.cue:34:20
   678  -simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b':
   679  -    ./binarystring.cue:35:13
   680  -    ./binarystring.cue:35:20
   681  -simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b':
   682  -    ./binarystring.cue:36:13
   683  -    ./binarystring.cue:36:21
   684   simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2:
   685  -    ./binary.cue:2:13
   686       ./binary.cue:2:18
   687  +    ./binary.cue:2:13
   688   simplifyBinary.float.err1.p2: incompatible number bounds <1 and >2:
   689  -    ./binary.cue:3:13
   690       ./binary.cue:3:18
   691  +    ./binary.cue:3:13
   692   simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2:
   693  -    ./binary.cue:5:13
   694       ./binary.cue:5:18
   695  +    ./binary.cue:5:13
   696   simplifyBinary.float.err2.p2: incompatible number bounds <=1 and >2:
   697  -    ./binary.cue:6:13
   698       ./binary.cue:6:19
   699  +    ./binary.cue:6:13
   700   simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2:
   701  -    ./binary.cue:8:13
   702       ./binary.cue:8:19
   703  +    ./binary.cue:8:13
   704   simplifyBinary.float.err3.p2: incompatible number bounds <2 and >=2:
   705  -    ./binary.cue:9:13
   706       ./binary.cue:9:18
   707  +    ./binary.cue:9:13
   708   simplifyBinary.float.err3.p3: incompatible number bounds <=2 and >2:
   709  -    ./binary.cue:10:13
   710       ./binary.cue:10:18
   711  +    ./binary.cue:10:13
   712   simplifyBinary.float.err3.p4: incompatible number bounds <=2 and >2:
   713  -    ./binary.cue:11:13
   714       ./binary.cue:11:19
   715  -simplifyBinary.integer.err1.p1: incompatible number bounds <1 and >2:
   716  -    ./binary.cue:22:13
   717  +    ./binary.cue:11:13
   718  +simplifyBinary.integer.err1.p1: incompatible integer bounds <1 and >2:
   719       ./binary.cue:22:18
   720  -simplifyBinary.integer.err1.p2: incompatible number bounds <1 and >2:
   721  -    ./binary.cue:23:13
   722  +    ./binary.cue:22:13
   723  +simplifyBinary.integer.err1.p2: incompatible integer bounds <1 and >2:
   724       ./binary.cue:23:18
   725  -simplifyBinary.integer.err2.p1: incompatible number bounds <=1 and >2:
   726  -    ./binary.cue:25:13
   727  +    ./binary.cue:23:13
   728  +simplifyBinary.integer.err2.p1: incompatible integer bounds <=1 and >2:
   729       ./binary.cue:25:18
   730  -simplifyBinary.integer.err2.p2: incompatible number bounds <=1 and >2:
   731  -    ./binary.cue:26:13
   732  +    ./binary.cue:25:13
   733  +simplifyBinary.integer.err2.p2: incompatible integer bounds <=1 and >2:
   734       ./binary.cue:26:19
   735  -simplifyBinary.integer.err3.p1: incompatible number bounds <2 and >=2:
   736  -    ./binary.cue:28:13
   737  +    ./binary.cue:26:13
   738  +simplifyBinary.integer.err3.p1: incompatible integer bounds <2 and >=2:
   739       ./binary.cue:28:19
   740  -simplifyBinary.integer.err3.p2: incompatible number bounds <2 and >=2:
   741  -    ./binary.cue:29:13
   742  +    ./binary.cue:28:13
   743  +simplifyBinary.integer.err3.p2: incompatible integer bounds <2 and >=2:
   744       ./binary.cue:29:18
   745  -simplifyBinary.integer.err3.p3: incompatible number bounds <=2 and >2:
   746  -    ./binary.cue:30:13
   747  +    ./binary.cue:29:13
   748  +simplifyBinary.integer.err3.p3: incompatible integer bounds <=2 and >2:
   749       ./binary.cue:30:18
   750  -simplifyBinary.integer.err3.p4: incompatible number bounds <=2 and >2:
   751  -    ./binary.cue:31:13
   752  +    ./binary.cue:30:13
   753  +simplifyBinary.integer.err3.p4: incompatible integer bounds <=2 and >2:
   754       ./binary.cue:31:19
   755  +    ./binary.cue:31:13
   756   simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2:
   757  -    ./binary.cue:21:8
   758  -    ./binary.cue:21:13
   759  -    ./binary.cue:33:13
   760       ./binary.cue:33:18
   761  +    ./binary.cue:33:13
   762   simplifyBinary.integer.err4.p2: incompatible integer bounds >1 and <2:
   763  -    ./binary.cue:21:8
   764  -    ./binary.cue:21:13
   765  -    ./binary.cue:34:13
   766       ./binary.cue:34:18
   767  +    ./binary.cue:34:13
   768   simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b":
   769  -    ./binarystring.cue:2:13
   770       ./binarystring.cue:2:20
   771  +    ./binarystring.cue:2:13
   772   simplifyBinary.strings.err1.p2: incompatible string bounds <"a" and >"b":
   773  -    ./binarystring.cue:3:13
   774       ./binarystring.cue:3:20
   775  +    ./binarystring.cue:3:13
   776   simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b":
   777  -    ./binarystring.cue:5:13
   778       ./binarystring.cue:5:20
   779  +    ./binarystring.cue:5:13
   780   simplifyBinary.strings.err2.p2: incompatible string bounds <="a" and >"b":
   781  -    ./binarystring.cue:6:13
   782       ./binarystring.cue:6:21
   783  +    ./binarystring.cue:6:13
   784   simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b":
   785  -    ./binarystring.cue:8:13
   786       ./binarystring.cue:8:21
   787  +    ./binarystring.cue:8:13
   788   simplifyBinary.strings.err3.p2: incompatible string bounds <"b" and >="b":
   789  -    ./binarystring.cue:9:13
   790       ./binarystring.cue:9:20
   791  +    ./binarystring.cue:9:13
   792   simplifyBinary.strings.err3.p3: incompatible string bounds <="b" and >"b":
   793  -    ./binarystring.cue:10:13
   794       ./binarystring.cue:10:20
   795  +    ./binarystring.cue:10:13
   796   simplifyBinary.strings.err3.p4: incompatible string bounds <="b" and >"b":
   797  -    ./binarystring.cue:11:13
   798       ./binarystring.cue:11:21
   799  +    ./binarystring.cue:11:13
   800  +simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b':
   801  +    ./binarystring.cue:27:20
   802  +    ./binarystring.cue:27:13
   803  +simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b':
   804  +    ./binarystring.cue:28:20
   805  +    ./binarystring.cue:28:13
   806  +simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b':
   807  +    ./binarystring.cue:30:20
   808  +    ./binarystring.cue:30:13
   809  +simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b':
   810  +    ./binarystring.cue:31:21
   811  +    ./binarystring.cue:31:13
   812  +simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b':
   813  +    ./binarystring.cue:33:21
   814  +    ./binarystring.cue:33:13
   815  +simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b':
   816  +    ./binarystring.cue:34:20
   817  +    ./binarystring.cue:34:13
   818  +simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b':
   819  +    ./binarystring.cue:35:20
   820  +    ./binarystring.cue:35:13
   821  +simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b':
   822  +    ./binarystring.cue:36:21
   823  +    ./binarystring.cue:36:13
   824   simplifyExpr.e2: cannot use null for bound >:
   825       ./in.cue:62:8
   826   
   827  @@ -119,13 +115,13 @@
   828           // [eval]
   829           p1: (_|_){
   830             // [eval] simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2:
   831  -          //     ./binary.cue:2:13
   832             //     ./binary.cue:2:18
   833  +          //     ./binary.cue:2:13
   834           }
   835           p2: (_|_){
   836             // [eval] simplifyBinary.float.err1.p2: incompatible number bounds <1 and >2:
   837  -          //     ./binary.cue:3:13
   838             //     ./binary.cue:3:18
   839  +          //     ./binary.cue:3:13
   840           }
   841         }
   842         err2: (_|_){
   843  @@ -132,13 +128,13 @@
   844           // [eval]
   845           p1: (_|_){
   846             // [eval] simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2:
   847  -          //     ./binary.cue:5:13
   848             //     ./binary.cue:5:18
   849  +          //     ./binary.cue:5:13
   850           }
   851           p2: (_|_){
   852             // [eval] simplifyBinary.float.err2.p2: incompatible number bounds <=1 and >2:
   853  -          //     ./binary.cue:6:13
   854             //     ./binary.cue:6:19
   855  +          //     ./binary.cue:6:13
   856           }
   857         }
   858         err3: (_|_){
   859  @@ -145,23 +141,23 @@
   860           // [eval]
   861           p1: (_|_){
   862             // [eval] simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2:
   863  -          //     ./binary.cue:8:13
   864             //     ./binary.cue:8:19
   865  +          //     ./binary.cue:8:13
   866           }
   867           p2: (_|_){
   868             // [eval] simplifyBinary.float.err3.p2: incompatible number bounds <2 and >=2:
   869  -          //     ./binary.cue:9:13
   870             //     ./binary.cue:9:18
   871  +          //     ./binary.cue:9:13
   872           }
   873           p3: (_|_){
   874             // [eval] simplifyBinary.float.err3.p3: incompatible number bounds <=2 and >2:
   875  -          //     ./binary.cue:10:13
   876             //     ./binary.cue:10:18
   877  +          //     ./binary.cue:10:13
   878           }
   879           p4: (_|_){
   880             // [eval] simplifyBinary.float.err3.p4: incompatible number bounds <=2 and >2:
   881  -          //     ./binary.cue:11:13
   882             //     ./binary.cue:11:19
   883  +          //     ./binary.cue:11:13
   884           }
   885         }
   886         ok1: (struct){
   887  @@ -178,50 +174,50 @@
   888         err1: (_|_){
   889           // [eval]
   890           p1: (_|_){
   891  -          // [eval] simplifyBinary.integer.err1.p1: incompatible number bounds <1 and >2:
   892  -          //     ./binary.cue:22:13
   893  +          // [eval] simplifyBinary.integer.err1.p1: incompatible integer bounds <1 and >2:
   894             //     ./binary.cue:22:18
   895  -        }
   896  -        p2: (_|_){
   897  -          // [eval] simplifyBinary.integer.err1.p2: incompatible number bounds <1 and >2:
   898  -          //     ./binary.cue:23:13
   899  +          //     ./binary.cue:22:13
   900  +        }
   901  +        p2: (_|_){
   902  +          // [eval] simplifyBinary.integer.err1.p2: incompatible integer bounds <1 and >2:
   903             //     ./binary.cue:23:18
   904  -        }
   905  -      }
   906  -      err2: (_|_){
   907  -        // [eval]
   908  -        p1: (_|_){
   909  -          // [eval] simplifyBinary.integer.err2.p1: incompatible number bounds <=1 and >2:
   910  -          //     ./binary.cue:25:13
   911  +          //     ./binary.cue:23:13
   912  +        }
   913  +      }
   914  +      err2: (_|_){
   915  +        // [eval]
   916  +        p1: (_|_){
   917  +          // [eval] simplifyBinary.integer.err2.p1: incompatible integer bounds <=1 and >2:
   918             //     ./binary.cue:25:18
   919  -        }
   920  -        p2: (_|_){
   921  -          // [eval] simplifyBinary.integer.err2.p2: incompatible number bounds <=1 and >2:
   922  -          //     ./binary.cue:26:13
   923  +          //     ./binary.cue:25:13
   924  +        }
   925  +        p2: (_|_){
   926  +          // [eval] simplifyBinary.integer.err2.p2: incompatible integer bounds <=1 and >2:
   927             //     ./binary.cue:26:19
   928  -        }
   929  -      }
   930  -      err3: (_|_){
   931  -        // [eval]
   932  -        p1: (_|_){
   933  -          // [eval] simplifyBinary.integer.err3.p1: incompatible number bounds <2 and >=2:
   934  -          //     ./binary.cue:28:13
   935  +          //     ./binary.cue:26:13
   936  +        }
   937  +      }
   938  +      err3: (_|_){
   939  +        // [eval]
   940  +        p1: (_|_){
   941  +          // [eval] simplifyBinary.integer.err3.p1: incompatible integer bounds <2 and >=2:
   942             //     ./binary.cue:28:19
   943  -        }
   944  -        p2: (_|_){
   945  -          // [eval] simplifyBinary.integer.err3.p2: incompatible number bounds <2 and >=2:
   946  -          //     ./binary.cue:29:13
   947  +          //     ./binary.cue:28:13
   948  +        }
   949  +        p2: (_|_){
   950  +          // [eval] simplifyBinary.integer.err3.p2: incompatible integer bounds <2 and >=2:
   951             //     ./binary.cue:29:18
   952  -        }
   953  -        p3: (_|_){
   954  -          // [eval] simplifyBinary.integer.err3.p3: incompatible number bounds <=2 and >2:
   955  -          //     ./binary.cue:30:13
   956  +          //     ./binary.cue:29:13
   957  +        }
   958  +        p3: (_|_){
   959  +          // [eval] simplifyBinary.integer.err3.p3: incompatible integer bounds <=2 and >2:
   960             //     ./binary.cue:30:18
   961  -        }
   962  -        p4: (_|_){
   963  -          // [eval] simplifyBinary.integer.err3.p4: incompatible number bounds <=2 and >2:
   964  -          //     ./binary.cue:31:13
   965  +          //     ./binary.cue:30:13
   966  +        }
   967  +        p4: (_|_){
   968  +          // [eval] simplifyBinary.integer.err3.p4: incompatible integer bounds <=2 and >2:
   969             //     ./binary.cue:31:19
   970  +          //     ./binary.cue:31:13
   971           }
   972         }
   973         err4: (_|_){
   974  @@ -228,17 +224,13 @@
   975           // [eval]
   976           p1: (_|_){
   977             // [eval] simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2:
   978  -          //     ./binary.cue:21:8
   979  -          //     ./binary.cue:21:13
   980  -          //     ./binary.cue:33:13
   981             //     ./binary.cue:33:18
   982  +          //     ./binary.cue:33:13
   983           }
   984           p2: (_|_){
   985             // [eval] simplifyBinary.integer.err4.p2: incompatible integer bounds >1 and <2:
   986  -          //     ./binary.cue:21:8
   987  -          //     ./binary.cue:21:13
   988  -          //     ./binary.cue:34:13
   989             //     ./binary.cue:34:18
   990  +          //     ./binary.cue:34:13
   991           }
   992         }
   993         ok1: (struct){
   994  @@ -246,8 +238,8 @@
   995           p2: (int){ &(>=2, <=3, int) }
   996         }
   997         ok2: (struct){
   998  -        p1: (number){ 2 }
   999  -        p2: (number){ 2 }
  1000  +        p1: (int){ 2 }
  1001  +        p2: (int){ 2 }
  1002         }
  1003         ok3: (struct){
  1004           p1: (int){ 2 }
  1005  @@ -262,13 +254,13 @@
  1006           // [eval]
  1007           p1: (_|_){
  1008             // [eval] simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b":
  1009  -          //     ./binarystring.cue:2:13
  1010             //     ./binarystring.cue:2:20
  1011  +          //     ./binarystring.cue:2:13
  1012           }
  1013           p2: (_|_){
  1014             // [eval] simplifyBinary.strings.err1.p2: incompatible string bounds <"a" and >"b":
  1015  -          //     ./binarystring.cue:3:13
  1016             //     ./binarystring.cue:3:20
  1017  +          //     ./binarystring.cue:3:13
  1018           }
  1019         }
  1020         err2: (_|_){
  1021  @@ -275,13 +267,13 @@
  1022           // [eval]
  1023           p1: (_|_){
  1024             // [eval] simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b":
  1025  -          //     ./binarystring.cue:5:13
  1026             //     ./binarystring.cue:5:20
  1027  +          //     ./binarystring.cue:5:13
  1028           }
  1029           p2: (_|_){
  1030             // [eval] simplifyBinary.strings.err2.p2: incompatible string bounds <="a" and >"b":
  1031  -          //     ./binarystring.cue:6:13
  1032             //     ./binarystring.cue:6:21
  1033  +          //     ./binarystring.cue:6:13
  1034           }
  1035         }
  1036         err3: (_|_){
  1037  @@ -288,23 +280,23 @@
  1038           // [eval]
  1039           p1: (_|_){
  1040             // [eval] simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b":
  1041  -          //     ./binarystring.cue:8:13
  1042             //     ./binarystring.cue:8:21
  1043  +          //     ./binarystring.cue:8:13
  1044           }
  1045           p2: (_|_){
  1046             // [eval] simplifyBinary.strings.err3.p2: incompatible string bounds <"b" and >="b":
  1047  -          //     ./binarystring.cue:9:13
  1048             //     ./binarystring.cue:9:20
  1049  +          //     ./binarystring.cue:9:13
  1050           }
  1051           p3: (_|_){
  1052             // [eval] simplifyBinary.strings.err3.p3: incompatible string bounds <="b" and >"b":
  1053  -          //     ./binarystring.cue:10:13
  1054             //     ./binarystring.cue:10:20
  1055  +          //     ./binarystring.cue:10:13
  1056           }
  1057           p4: (_|_){
  1058             // [eval] simplifyBinary.strings.err3.p4: incompatible string bounds <="b" and >"b":
  1059  -          //     ./binarystring.cue:11:13
  1060             //     ./binarystring.cue:11:21
  1061  +          //     ./binarystring.cue:11:13
  1062           }
  1063         }
  1064         ok1: (struct){
  1065  @@ -331,13 +323,13 @@
  1066           // [eval]
  1067           p1: (_|_){
  1068             // [eval] simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b':
  1069  -          //     ./binarystring.cue:27:13
  1070             //     ./binarystring.cue:27:20
  1071  +          //     ./binarystring.cue:27:13
  1072           }
  1073           p2: (_|_){
  1074             // [eval] simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b':
  1075  -          //     ./binarystring.cue:28:13
  1076             //     ./binarystring.cue:28:20
  1077  +          //     ./binarystring.cue:28:13
  1078           }
  1079         }
  1080         err2: (_|_){
  1081  @@ -344,13 +336,13 @@
  1082           // [eval]
  1083           p1: (_|_){
  1084             // [eval] simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b':
  1085  -          //     ./binarystring.cue:30:13
  1086             //     ./binarystring.cue:30:20
  1087  +          //     ./binarystring.cue:30:13
  1088           }
  1089           p2: (_|_){
  1090             // [eval] simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b':
  1091  -          //     ./binarystring.cue:31:13
  1092             //     ./binarystring.cue:31:21
  1093  +          //     ./binarystring.cue:31:13
  1094           }
  1095         }
  1096         err3: (_|_){
  1097  @@ -357,23 +349,23 @@
  1098           // [eval]
  1099           p1: (_|_){
  1100             // [eval] simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b':
  1101  -          //     ./binarystring.cue:33:13
  1102             //     ./binarystring.cue:33:21
  1103  +          //     ./binarystring.cue:33:13
  1104           }
  1105           p2: (_|_){
  1106             // [eval] simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b':
  1107  -          //     ./binarystring.cue:34:13
  1108             //     ./binarystring.cue:34:20
  1109  +          //     ./binarystring.cue:34:13
  1110           }
  1111           p3: (_|_){
  1112             // [eval] simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b':
  1113  -          //     ./binarystring.cue:35:13
  1114             //     ./binarystring.cue:35:20
  1115  +          //     ./binarystring.cue:35:13
  1116           }
  1117           p4: (_|_){
  1118             // [eval] simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b':
  1119  -          //     ./binarystring.cue:36:13
  1120             //     ./binarystring.cue:36:21
  1121  +          //     ./binarystring.cue:36:13
  1122           }
  1123         }
  1124         ok1: (struct){
  1125  -- diff/explanation --
  1126  simplifyBinary.integer.ok2.*: v3 indicates correct type.
  1127  -- out/eval --
  1128  Errors:
  1129  simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b':
  1130      ./binarystring.cue:27:13
  1131      ./binarystring.cue:27:20
  1132  simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b':
  1133      ./binarystring.cue:28:13
  1134      ./binarystring.cue:28:20
  1135  simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b':
  1136      ./binarystring.cue:30:13
  1137      ./binarystring.cue:30:20
  1138  simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b':
  1139      ./binarystring.cue:31:13
  1140      ./binarystring.cue:31:21
  1141  simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b':
  1142      ./binarystring.cue:33:13
  1143      ./binarystring.cue:33:21
  1144  simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b':
  1145      ./binarystring.cue:34:13
  1146      ./binarystring.cue:34:20
  1147  simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b':
  1148      ./binarystring.cue:35:13
  1149      ./binarystring.cue:35:20
  1150  simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b':
  1151      ./binarystring.cue:36:13
  1152      ./binarystring.cue:36:21
  1153  simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2:
  1154      ./binary.cue:2:13
  1155      ./binary.cue:2:18
  1156  simplifyBinary.float.err1.p2: incompatible number bounds <1 and >2:
  1157      ./binary.cue:3:13
  1158      ./binary.cue:3:18
  1159  simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2:
  1160      ./binary.cue:5:13
  1161      ./binary.cue:5:18
  1162  simplifyBinary.float.err2.p2: incompatible number bounds <=1 and >2:
  1163      ./binary.cue:6:13
  1164      ./binary.cue:6:19
  1165  simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2:
  1166      ./binary.cue:8:13
  1167      ./binary.cue:8:19
  1168  simplifyBinary.float.err3.p2: incompatible number bounds <2 and >=2:
  1169      ./binary.cue:9:13
  1170      ./binary.cue:9:18
  1171  simplifyBinary.float.err3.p3: incompatible number bounds <=2 and >2:
  1172      ./binary.cue:10:13
  1173      ./binary.cue:10:18
  1174  simplifyBinary.float.err3.p4: incompatible number bounds <=2 and >2:
  1175      ./binary.cue:11:13
  1176      ./binary.cue:11:19
  1177  simplifyBinary.integer.err1.p1: incompatible number bounds <1 and >2:
  1178      ./binary.cue:22:13
  1179      ./binary.cue:22:18
  1180  simplifyBinary.integer.err1.p2: incompatible number bounds <1 and >2:
  1181      ./binary.cue:23:13
  1182      ./binary.cue:23:18
  1183  simplifyBinary.integer.err2.p1: incompatible number bounds <=1 and >2:
  1184      ./binary.cue:25:13
  1185      ./binary.cue:25:18
  1186  simplifyBinary.integer.err2.p2: incompatible number bounds <=1 and >2:
  1187      ./binary.cue:26:13
  1188      ./binary.cue:26:19
  1189  simplifyBinary.integer.err3.p1: incompatible number bounds <2 and >=2:
  1190      ./binary.cue:28:13
  1191      ./binary.cue:28:19
  1192  simplifyBinary.integer.err3.p2: incompatible number bounds <2 and >=2:
  1193      ./binary.cue:29:13
  1194      ./binary.cue:29:18
  1195  simplifyBinary.integer.err3.p3: incompatible number bounds <=2 and >2:
  1196      ./binary.cue:30:13
  1197      ./binary.cue:30:18
  1198  simplifyBinary.integer.err3.p4: incompatible number bounds <=2 and >2:
  1199      ./binary.cue:31:13
  1200      ./binary.cue:31:19
  1201  simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2:
  1202      ./binary.cue:21:8
  1203      ./binary.cue:21:13
  1204      ./binary.cue:33:13
  1205      ./binary.cue:33:18
  1206  simplifyBinary.integer.err4.p2: incompatible integer bounds >1 and <2:
  1207      ./binary.cue:21:8
  1208      ./binary.cue:21:13
  1209      ./binary.cue:34:13
  1210      ./binary.cue:34:18
  1211  simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b":
  1212      ./binarystring.cue:2:13
  1213      ./binarystring.cue:2:20
  1214  simplifyBinary.strings.err1.p2: incompatible string bounds <"a" and >"b":
  1215      ./binarystring.cue:3:13
  1216      ./binarystring.cue:3:20
  1217  simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b":
  1218      ./binarystring.cue:5:13
  1219      ./binarystring.cue:5:20
  1220  simplifyBinary.strings.err2.p2: incompatible string bounds <="a" and >"b":
  1221      ./binarystring.cue:6:13
  1222      ./binarystring.cue:6:21
  1223  simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b":
  1224      ./binarystring.cue:8:13
  1225      ./binarystring.cue:8:21
  1226  simplifyBinary.strings.err3.p2: incompatible string bounds <"b" and >="b":
  1227      ./binarystring.cue:9:13
  1228      ./binarystring.cue:9:20
  1229  simplifyBinary.strings.err3.p3: incompatible string bounds <="b" and >"b":
  1230      ./binarystring.cue:10:13
  1231      ./binarystring.cue:10:20
  1232  simplifyBinary.strings.err3.p4: incompatible string bounds <="b" and >"b":
  1233      ./binarystring.cue:11:13
  1234      ./binarystring.cue:11:21
  1235  simplifyExpr.e2: cannot use null for bound >:
  1236      ./in.cue:62:8
  1237  
  1238  Result:
  1239  (_|_){
  1240    // [eval]
  1241    simplifyBinary: (_|_){
  1242      // [eval]
  1243      float: (_|_){
  1244        // [eval]
  1245        err1: (_|_){
  1246          // [eval]
  1247          p1: (_|_){
  1248            // [eval] simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2:
  1249            //     ./binary.cue:2:13
  1250            //     ./binary.cue:2:18
  1251          }
  1252          p2: (_|_){
  1253            // [eval] simplifyBinary.float.err1.p2: incompatible number bounds <1 and >2:
  1254            //     ./binary.cue:3:13
  1255            //     ./binary.cue:3:18
  1256          }
  1257        }
  1258        err2: (_|_){
  1259          // [eval]
  1260          p1: (_|_){
  1261            // [eval] simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2:
  1262            //     ./binary.cue:5:13
  1263            //     ./binary.cue:5:18
  1264          }
  1265          p2: (_|_){
  1266            // [eval] simplifyBinary.float.err2.p2: incompatible number bounds <=1 and >2:
  1267            //     ./binary.cue:6:13
  1268            //     ./binary.cue:6:19
  1269          }
  1270        }
  1271        err3: (_|_){
  1272          // [eval]
  1273          p1: (_|_){
  1274            // [eval] simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2:
  1275            //     ./binary.cue:8:13
  1276            //     ./binary.cue:8:19
  1277          }
  1278          p2: (_|_){
  1279            // [eval] simplifyBinary.float.err3.p2: incompatible number bounds <2 and >=2:
  1280            //     ./binary.cue:9:13
  1281            //     ./binary.cue:9:18
  1282          }
  1283          p3: (_|_){
  1284            // [eval] simplifyBinary.float.err3.p3: incompatible number bounds <=2 and >2:
  1285            //     ./binary.cue:10:13
  1286            //     ./binary.cue:10:18
  1287          }
  1288          p4: (_|_){
  1289            // [eval] simplifyBinary.float.err3.p4: incompatible number bounds <=2 and >2:
  1290            //     ./binary.cue:11:13
  1291            //     ./binary.cue:11:19
  1292          }
  1293        }
  1294        ok1: (struct){
  1295          p1: (number){ &(>1, <2) }
  1296          p2: (number){ &(>1, <2) }
  1297        }
  1298        ok2: (struct){
  1299          p1: (number){ 2 }
  1300          p2: (number){ 2 }
  1301        }
  1302      }
  1303      integer: (_|_){
  1304        // [eval]
  1305        err1: (_|_){
  1306          // [eval]
  1307          p1: (_|_){
  1308            // [eval] simplifyBinary.integer.err1.p1: incompatible number bounds <1 and >2:
  1309            //     ./binary.cue:22:13
  1310            //     ./binary.cue:22:18
  1311          }
  1312          p2: (_|_){
  1313            // [eval] simplifyBinary.integer.err1.p2: incompatible number bounds <1 and >2:
  1314            //     ./binary.cue:23:13
  1315            //     ./binary.cue:23:18
  1316          }
  1317        }
  1318        err2: (_|_){
  1319          // [eval]
  1320          p1: (_|_){
  1321            // [eval] simplifyBinary.integer.err2.p1: incompatible number bounds <=1 and >2:
  1322            //     ./binary.cue:25:13
  1323            //     ./binary.cue:25:18
  1324          }
  1325          p2: (_|_){
  1326            // [eval] simplifyBinary.integer.err2.p2: incompatible number bounds <=1 and >2:
  1327            //     ./binary.cue:26:13
  1328            //     ./binary.cue:26:19
  1329          }
  1330        }
  1331        err3: (_|_){
  1332          // [eval]
  1333          p1: (_|_){
  1334            // [eval] simplifyBinary.integer.err3.p1: incompatible number bounds <2 and >=2:
  1335            //     ./binary.cue:28:13
  1336            //     ./binary.cue:28:19
  1337          }
  1338          p2: (_|_){
  1339            // [eval] simplifyBinary.integer.err3.p2: incompatible number bounds <2 and >=2:
  1340            //     ./binary.cue:29:13
  1341            //     ./binary.cue:29:18
  1342          }
  1343          p3: (_|_){
  1344            // [eval] simplifyBinary.integer.err3.p3: incompatible number bounds <=2 and >2:
  1345            //     ./binary.cue:30:13
  1346            //     ./binary.cue:30:18
  1347          }
  1348          p4: (_|_){
  1349            // [eval] simplifyBinary.integer.err3.p4: incompatible number bounds <=2 and >2:
  1350            //     ./binary.cue:31:13
  1351            //     ./binary.cue:31:19
  1352          }
  1353        }
  1354        err4: (_|_){
  1355          // [eval]
  1356          p1: (_|_){
  1357            // [eval] simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2:
  1358            //     ./binary.cue:21:8
  1359            //     ./binary.cue:21:13
  1360            //     ./binary.cue:33:13
  1361            //     ./binary.cue:33:18
  1362          }
  1363          p2: (_|_){
  1364            // [eval] simplifyBinary.integer.err4.p2: incompatible integer bounds >1 and <2:
  1365            //     ./binary.cue:21:8
  1366            //     ./binary.cue:21:13
  1367            //     ./binary.cue:34:13
  1368            //     ./binary.cue:34:18
  1369          }
  1370        }
  1371        ok1: (struct){
  1372          p1: (int){ &(>=2, <=3, int) }
  1373          p2: (int){ &(>=2, <=3, int) }
  1374        }
  1375        ok2: (struct){
  1376          p1: (number){ 2 }
  1377          p2: (number){ 2 }
  1378        }
  1379        ok3: (struct){
  1380          p1: (int){ 2 }
  1381          p2: (int){ 3 }
  1382          p3: (int){ 2 }
  1383          p4: (int){ 3 }
  1384        }
  1385      }
  1386      strings: (_|_){
  1387        // [eval]
  1388        err1: (_|_){
  1389          // [eval]
  1390          p1: (_|_){
  1391            // [eval] simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b":
  1392            //     ./binarystring.cue:2:13
  1393            //     ./binarystring.cue:2:20
  1394          }
  1395          p2: (_|_){
  1396            // [eval] simplifyBinary.strings.err1.p2: incompatible string bounds <"a" and >"b":
  1397            //     ./binarystring.cue:3:13
  1398            //     ./binarystring.cue:3:20
  1399          }
  1400        }
  1401        err2: (_|_){
  1402          // [eval]
  1403          p1: (_|_){
  1404            // [eval] simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b":
  1405            //     ./binarystring.cue:5:13
  1406            //     ./binarystring.cue:5:20
  1407          }
  1408          p2: (_|_){
  1409            // [eval] simplifyBinary.strings.err2.p2: incompatible string bounds <="a" and >"b":
  1410            //     ./binarystring.cue:6:13
  1411            //     ./binarystring.cue:6:21
  1412          }
  1413        }
  1414        err3: (_|_){
  1415          // [eval]
  1416          p1: (_|_){
  1417            // [eval] simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b":
  1418            //     ./binarystring.cue:8:13
  1419            //     ./binarystring.cue:8:21
  1420          }
  1421          p2: (_|_){
  1422            // [eval] simplifyBinary.strings.err3.p2: incompatible string bounds <"b" and >="b":
  1423            //     ./binarystring.cue:9:13
  1424            //     ./binarystring.cue:9:20
  1425          }
  1426          p3: (_|_){
  1427            // [eval] simplifyBinary.strings.err3.p3: incompatible string bounds <="b" and >"b":
  1428            //     ./binarystring.cue:10:13
  1429            //     ./binarystring.cue:10:20
  1430          }
  1431          p4: (_|_){
  1432            // [eval] simplifyBinary.strings.err3.p4: incompatible string bounds <="b" and >"b":
  1433            //     ./binarystring.cue:11:13
  1434            //     ./binarystring.cue:11:21
  1435          }
  1436        }
  1437        ok1: (struct){
  1438          p1: (string){ &(>"a", <"b") }
  1439          p2: (string){ &(>"a", <"b") }
  1440        }
  1441        ok2: (struct){
  1442          p1: (string){ &(>"a", <="b") }
  1443          p2: (string){ &(>"a", <="b") }
  1444          p3: (string){ &(>="a", <"b") }
  1445          p4: (string){ &(>="a", <"b") }
  1446        }
  1447        ok3: (struct){
  1448          p1: (string){ &(>="b", <="c") }
  1449          p2: (string){ &(>="b", <="c") }
  1450        }
  1451        ok4: (struct){
  1452          p1: (string){ "b" }
  1453        }
  1454      }
  1455      byte: (_|_){
  1456        // [eval]
  1457        err1: (_|_){
  1458          // [eval]
  1459          p1: (_|_){
  1460            // [eval] simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b':
  1461            //     ./binarystring.cue:27:13
  1462            //     ./binarystring.cue:27:20
  1463          }
  1464          p2: (_|_){
  1465            // [eval] simplifyBinary.byte.err1.p2: incompatible bytes bounds <'a' and >'b':
  1466            //     ./binarystring.cue:28:13
  1467            //     ./binarystring.cue:28:20
  1468          }
  1469        }
  1470        err2: (_|_){
  1471          // [eval]
  1472          p1: (_|_){
  1473            // [eval] simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b':
  1474            //     ./binarystring.cue:30:13
  1475            //     ./binarystring.cue:30:20
  1476          }
  1477          p2: (_|_){
  1478            // [eval] simplifyBinary.byte.err2.p2: incompatible bytes bounds <='a' and >'b':
  1479            //     ./binarystring.cue:31:13
  1480            //     ./binarystring.cue:31:21
  1481          }
  1482        }
  1483        err3: (_|_){
  1484          // [eval]
  1485          p1: (_|_){
  1486            // [eval] simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b':
  1487            //     ./binarystring.cue:33:13
  1488            //     ./binarystring.cue:33:21
  1489          }
  1490          p2: (_|_){
  1491            // [eval] simplifyBinary.byte.err3.p2: incompatible bytes bounds <'b' and >='b':
  1492            //     ./binarystring.cue:34:13
  1493            //     ./binarystring.cue:34:20
  1494          }
  1495          p3: (_|_){
  1496            // [eval] simplifyBinary.byte.err3.p3: incompatible bytes bounds <='b' and >'b':
  1497            //     ./binarystring.cue:35:13
  1498            //     ./binarystring.cue:35:20
  1499          }
  1500          p4: (_|_){
  1501            // [eval] simplifyBinary.byte.err3.p4: incompatible bytes bounds <='b' and >'b':
  1502            //     ./binarystring.cue:36:13
  1503            //     ./binarystring.cue:36:21
  1504          }
  1505        }
  1506        ok1: (struct){
  1507          p1: (bytes){ &(>'a', <'b') }
  1508          p2: (bytes){ &(>'a', <'b') }
  1509        }
  1510        ok2: (struct){
  1511          p1: (bytes){ &(>'a', <='b') }
  1512          p2: (bytes){ &(>'a', <='b') }
  1513          p3: (bytes){ &(>='a', <'b') }
  1514          p4: (bytes){ &(>='a', <'b') }
  1515        }
  1516        ok3: (struct){
  1517          p1: (bytes){ &(>='b', <='c') }
  1518          p2: (bytes){ &(>='b', <='c') }
  1519        }
  1520        ok4: (struct){
  1521          p1: (bytes){ 'b' }
  1522        }
  1523      }
  1524    }
  1525    x0: (int){ 5 }
  1526    x1: (int){ 30 }
  1527    b0: (number){ &(>0, <5) }
  1528    b1: (int){ &(>0, <5, int) }
  1529    b2: (int){ &(<5.5, int) }
  1530    b3: (number){ <=5 }
  1531    b4: (number){ >20 }
  1532    b5: (number){ >=21 }
  1533    b6: (int){ 6 }
  1534    simplifyExpr: (_|_){
  1535      // [eval]
  1536      less1: (number){ <3 }
  1537      less2: (number){ <3 }
  1538      less3: (number){ <3 }
  1539      less4: (number){ <=3 }
  1540      less5: (number){ number }
  1541      less6: (number){ number }
  1542      gtr1: (number){ >3 }
  1543      gtr2: (number){ >3 }
  1544      gtr3: (number){ >3 }
  1545      gtr4: (number){ >=3 }
  1546      gtr5: (number){ number }
  1547      gtr6: (number){ number }
  1548      lg1: (number){ number }
  1549      lg2: (number){ number }
  1550      lg3: (number){ number }
  1551      lg4: (number){ number }
  1552      gl1: (number){ number }
  1553      gl2: (number){ number }
  1554      gl3: (number){ number }
  1555      gl4: (number){ number }
  1556      ne1: (int){ 3 }
  1557      ne2: (number){ >=3 }
  1558      ne3: (number){ >3 }
  1559      ne4: (number){ <=3 }
  1560      ne5: (number){ <3 }
  1561      s: (string){ string }
  1562      n: (number){ number }
  1563      i: (int){ int }
  1564      f: (float){ float }
  1565      b: (bytes){ bytes }
  1566      basic1: (_|_){
  1567        // [incomplete] simplifyExpr.basic1: non-concrete value i for bound <:
  1568        //     ./in.cue:48:12
  1569      }
  1570      basic2: (_|_){
  1571        // [incomplete] simplifyExpr.basic2: non-concrete value n for bound >:
  1572        //     ./in.cue:49:12
  1573      }
  1574      basic3: (_|_){
  1575        // [incomplete] simplifyExpr.basic3: non-concrete value s for bound >=:
  1576        //     ./in.cue:50:13
  1577      }
  1578      basic4: (_|_){
  1579        // [incomplete] simplifyExpr.basic4: non-concrete value f for bound <=:
  1580        //     ./in.cue:51:13
  1581      }
  1582      basic5: (_|_){
  1583        // [incomplete] simplifyExpr.basic5: non-concrete value b for bound <=:
  1584        //     ./in.cue:52:13
  1585      }
  1586      bne1: (_|_){
  1587        // [incomplete] simplifyExpr.bne1: non-concrete value s for bound !=:
  1588        //     ./in.cue:55:11
  1589      }
  1590      bne2: (_|_){
  1591        // [incomplete] simplifyExpr.bne2: non-concrete value n for bound !=:
  1592        //     ./in.cue:56:11
  1593      }
  1594      bne3: (_|_){
  1595        // [incomplete] simplifyExpr.bne3: non-concrete value n for bound !=:
  1596        //     ./in.cue:57:11
  1597      }
  1598      bne4: (_|_){
  1599        // [incomplete] simplifyExpr.bne4: non-concrete value i for bound !=:
  1600        //     ./in.cue:58:11
  1601      }
  1602      bne5: (_|_){
  1603        // [incomplete] simplifyExpr.bne5: non-concrete value b for bound !=:
  1604        //     ./in.cue:59:11
  1605      }
  1606      e1: (_|_){
  1607        // [incomplete] simplifyExpr.e1: non-concrete value =~"foo" for bound <:
  1608        //     ./in.cue:61:8
  1609      }
  1610      e2: (_|_){
  1611        // [eval] simplifyExpr.e2: cannot use null for bound >:
  1612        //     ./in.cue:62:8
  1613      }
  1614    }
  1615  }
  1616  -- out/compile --
  1617  --- binary.cue
  1618  {
  1619    simplifyBinary: {
  1620      float: {
  1621        err1: {
  1622          p1: (<1 & >2)
  1623        }
  1624        err1: {
  1625          p2: (>2 & <1)
  1626        }
  1627        err2: {
  1628          p1: (>2 & <=1)
  1629        }
  1630        err2: {
  1631          p2: (<=1 & >2)
  1632        }
  1633        err3: {
  1634          p1: (>=2 & <2)
  1635        }
  1636        err3: {
  1637          p2: (<2 & >=2)
  1638        }
  1639        err3: {
  1640          p3: (>2 & <=2)
  1641        }
  1642        err3: {
  1643          p4: (<=2 & >2)
  1644        }
  1645        ok1: {
  1646          p1: (>1 & <2)
  1647        }
  1648        ok1: {
  1649          p2: (<2 & >1)
  1650        }
  1651        ok2: {
  1652          p1: (>=2 & <=2)
  1653        }
  1654        ok2: {
  1655          p2: (<=2 & >=2)
  1656        }
  1657      }
  1658    }
  1659    simplifyBinary: {
  1660      integer: {
  1661        [_]: {
  1662          [_]: int
  1663        }
  1664        err1: {
  1665          p1: (<1 & >2)
  1666        }
  1667        err1: {
  1668          p2: (>2 & <1)
  1669        }
  1670        err2: {
  1671          p1: (>2 & <=1)
  1672        }
  1673        err2: {
  1674          p2: (<=1 & >2)
  1675        }
  1676        err3: {
  1677          p1: (>=2 & <2)
  1678        }
  1679        err3: {
  1680          p2: (<2 & >=2)
  1681        }
  1682        err3: {
  1683          p3: (>2 & <=2)
  1684        }
  1685        err3: {
  1686          p4: (<=2 & >2)
  1687        }
  1688        err4: {
  1689          p1: (>1 & <2)
  1690        }
  1691        err4: {
  1692          p2: (<2 & >1)
  1693        }
  1694        ok1: {
  1695          p1: (>=2 & <=3)
  1696        }
  1697        ok1: {
  1698          p2: (<=3 & >=2)
  1699        }
  1700        ok2: {
  1701          p1: (>=2 & <=2)
  1702        }
  1703        ok2: {
  1704          p2: (<=2 & >=2)
  1705        }
  1706        ok3: {
  1707          p1: (>=2 & <3)
  1708        }
  1709        ok3: {
  1710          p2: (>2 & <=3)
  1711        }
  1712        ok3: {
  1713          p3: (<3 & >=2)
  1714        }
  1715        ok3: {
  1716          p4: (<=3 & >2)
  1717        }
  1718      }
  1719    }
  1720  }
  1721  --- binarystring.cue
  1722  {
  1723    simplifyBinary: {
  1724      strings: {
  1725        err1: {
  1726          p1: (<"a" & >"b")
  1727        }
  1728        err1: {
  1729          p2: (>"b" & <"a")
  1730        }
  1731        err2: {
  1732          p1: (>"b" & <="a")
  1733        }
  1734        err2: {
  1735          p2: (<="a" & >"b")
  1736        }
  1737        err3: {
  1738          p1: (>="b" & <"b")
  1739        }
  1740        err3: {
  1741          p2: (<"b" & >="b")
  1742        }
  1743        err3: {
  1744          p3: (>"b" & <="b")
  1745        }
  1746        err3: {
  1747          p4: (<="b" & >"b")
  1748        }
  1749        ok1: {
  1750          p1: (>"a" & <"b")
  1751        }
  1752        ok1: {
  1753          p2: (<"b" & >"a")
  1754        }
  1755        ok2: {
  1756          p1: (>"a" & <="b")
  1757        }
  1758        ok2: {
  1759          p2: (<="b" & >"a")
  1760        }
  1761        ok2: {
  1762          p3: (>="a" & <"b")
  1763        }
  1764        ok2: {
  1765          p4: (<"b" & >="a")
  1766        }
  1767        ok3: {
  1768          p1: (>="b" & <="c")
  1769        }
  1770        ok3: {
  1771          p2: (<="c" & >="b")
  1772        }
  1773        ok4: {
  1774          p1: (>="b" & <="b")
  1775        }
  1776      }
  1777    }
  1778    simplifyBinary: {
  1779      byte: {
  1780        err1: {
  1781          p1: (<'a' & >'b')
  1782        }
  1783        err1: {
  1784          p2: (>'b' & <'a')
  1785        }
  1786        err2: {
  1787          p1: (>'b' & <='a')
  1788        }
  1789        err2: {
  1790          p2: (<='a' & >'b')
  1791        }
  1792        err3: {
  1793          p1: (>='b' & <'b')
  1794        }
  1795        err3: {
  1796          p2: (<'b' & >='b')
  1797        }
  1798        err3: {
  1799          p3: (>'b' & <='b')
  1800        }
  1801        err3: {
  1802          p4: (<='b' & >'b')
  1803        }
  1804        ok1: {
  1805          p1: (>'a' & <'b')
  1806        }
  1807        ok1: {
  1808          p2: (<'b' & >'a')
  1809        }
  1810        ok2: {
  1811          p1: (>'a' & <='b')
  1812        }
  1813        ok2: {
  1814          p2: (<='b' & >'a')
  1815        }
  1816        ok2: {
  1817          p3: (>='a' & <'b')
  1818        }
  1819        ok2: {
  1820          p4: (<'b' & >='a')
  1821        }
  1822        ok3: {
  1823          p1: (>='b' & <='c')
  1824        }
  1825        ok3: {
  1826          p2: (<='c' & >='b')
  1827        }
  1828        ok4: {
  1829          p1: (>='b' & <='b')
  1830        }
  1831      }
  1832    }
  1833  }
  1834  --- in.cue
  1835  {
  1836    x0: 5
  1837    x1: (〈0;b5〉 & 30)
  1838    b0: (<〈0;x0〉 & >0)
  1839    b1: (〈0;b0〉 & int)
  1840    b2: (int & <5.5)
  1841    b3: (<10 & <=5)
  1842    b4: (>=20 & >20)
  1843    b5: (>=21 & >20)
  1844    b6: ((int & >5) & <=6)
  1845    simplifyExpr: {
  1846      less1: <<3
  1847      less2: <<=3
  1848      less3: <=<3
  1849      less4: <=<=3
  1850      less5: <!=3
  1851      less6: <=!=3
  1852      gtr1: >>3
  1853      gtr2: >>=3
  1854      gtr3: >=>3
  1855      gtr4: >=>=3
  1856      gtr5: >!=3
  1857      gtr6: >=!=3
  1858      lg1: <>3
  1859      lg2: <>=3
  1860      lg3: <=>3
  1861      lg4: <=>=3
  1862      gl1: ><3
  1863      gl2: ><=3
  1864      gl3: >=<3
  1865      gl4: >=<=3
  1866      ne1: !=!=3
  1867      ne2: !=<3
  1868      ne3: !=<=3
  1869      ne4: !=>3
  1870      ne5: !=>=3
  1871      s: string
  1872      n: number
  1873      i: int
  1874      f: float
  1875      b: bytes
  1876      basic1: <〈0;i〉
  1877      basic2: >〈0;n〉
  1878      basic3: >=〈0;s〉
  1879      basic4: <=〈0;f〉
  1880      basic5: <=〈0;b〉
  1881      bne1: !=〈0;s〉
  1882      bne2: !=〈0;n〉
  1883      bne3: !=〈0;n〉
  1884      bne4: !=〈0;i〉
  1885      bne5: !=〈0;b〉
  1886      e1: <=~"foo"
  1887      e2: >null
  1888    }
  1889  }