-- in.cue --
x0: 5
x1: b5 & 30

b0: <x0 & >0
b1: b0 & int
b2: int & <5.5
b3: <10 & <=5
b4: >=20 & >20
b5: >=21 & >20
b6: int & >5 & <= 6

simplifyExpr: {
    less1: <(<3)
    less2: <(<=3)
    less3: <=(<3)
    less4: <=(<=3)
    less5: <(!=3)
    less6: <=(!=3)

    gtr1: >(>3)
    gtr2: >(>=3)
    gtr3: >=(>3)
    gtr4: >=(>=3)
    gtr5: >(!=3)
    gtr6: >=(!=3)

    lg1: <(>3)
    lg2: <(>=3)
    lg3: <=(>3)
    lg4: <=(>=3)

    gl1: >(<3)
    gl2: >(<=3)
    gl3: >=(<3)
    gl4: >=(<=3)

    ne1: !=(!=3)
    ne2: !=(<3)
    ne3: !=(<=3)
    ne4: !=(>3)
    ne5: !=(>=3)

    s: string
    n: number
    i: int
    f: float
    b: bytes
    basic1: <(i)
    basic2: >(n)
    basic3: >=(s)
    basic4: <=(f)
    basic5: <=(b)

    // Do NOT interpret this the same as `!= type`.
    bne1: !=(s)
    bne2: !=(n)
    bne3: !=(n)
    bne4: !=(i)
    bne5: !=(b)

    e1: <(=~"foo")
    e2: >(null)
}

-- out/eval --
Errors:
simplifyExpr.e2: cannot use null for bound >:
    ./in.cue:62:11

Result:
(_|_){
  // [eval]
  x0: (int){ 5 }
  x1: (int){ 30 }
  b0: (number){ &(>0, <5) }
  b1: (int){ &(>0, <5, int) }
  b2: (int){ &(<5.5, int) }
  b3: (number){ <=5 }
  b4: (number){ >20 }
  b5: (number){ >=21 }
  b6: (int){ 6 }
  simplifyExpr: (_|_){
    // [eval]
    less1: (number){ <3 }
    less2: (number){ <3 }
    less3: (number){ <3 }
    less4: (number){ <=3 }
    less5: (number){ number }
    less6: (number){ number }
    gtr1: (number){ >3 }
    gtr2: (number){ >3 }
    gtr3: (number){ >3 }
    gtr4: (number){ >=3 }
    gtr5: (number){ number }
    gtr6: (number){ number }
    lg1: (number){ number }
    lg2: (number){ number }
    lg3: (number){ number }
    lg4: (number){ number }
    gl1: (number){ number }
    gl2: (number){ number }
    gl3: (number){ number }
    gl4: (number){ number }
    ne1: (int){ 3 }
    ne2: (number){ >=3 }
    ne3: (number){ >3 }
    ne4: (number){ <=3 }
    ne5: (number){ <3 }
    s: (string){ string }
    n: (number){ number }
    i: (int){ int }
    f: (float){ float }
    b: (bytes){ bytes }
    basic1: (int){ int }
    basic2: (number){ number }
    basic3: (string){ string }
    basic4: (float){ float }
    basic5: (bytes){ bytes }
    bne1: (_|_){
      // [incomplete] simplifyExpr.bne1: non-concrete value s for bound !=:
      //     ./in.cue:55:14
    }
    bne2: (_|_){
      // [incomplete] simplifyExpr.bne2: non-concrete value n for bound !=:
      //     ./in.cue:56:14
    }
    bne3: (_|_){
      // [incomplete] simplifyExpr.bne3: non-concrete value n for bound !=:
      //     ./in.cue:57:14
    }
    bne4: (_|_){
      // [incomplete] simplifyExpr.bne4: non-concrete value i for bound !=:
      //     ./in.cue:58:14
    }
    bne5: (_|_){
      // [incomplete] simplifyExpr.bne5: non-concrete value b for bound !=:
      //     ./in.cue:59:14
    }
    e1: (_|_){
      // [incomplete] simplifyExpr.e1: non-concrete value =~"foo" for bound <:
      //     ./in.cue:61:11
    }
    e2: (_|_){
      // [eval] simplifyExpr.e2: cannot use null for bound >:
      //     ./in.cue:62:11
    }
  }
}
-- out/compile --
--- in.cue
{
  x0: 5
  x1: (〈0;b5〉 & 30)
  b0: (<〈0;x0〉 & >0)
  b1: (〈0;b0〉 & int)
  b2: (int & <5.5)
  b3: (<10 & <=5)
  b4: (>=20 & >20)
  b5: (>=21 & >20)
  b6: ((int & >5) & <=6)
  simplifyExpr: {
    less1: <<3
    less2: <<=3
    less3: <=<3
    less4: <=<=3
    less5: <!=3
    less6: <=!=3
    gtr1: >>3
    gtr2: >>=3
    gtr3: >=>3
    gtr4: >=>=3
    gtr5: >!=3
    gtr6: >=!=3
    lg1: <>3
    lg2: <>=3
    lg3: <=>3
    lg4: <=>=3
    gl1: ><3
    gl2: ><=3
    gl3: >=<3
    gl4: >=<=3
    ne1: !=!=3
    ne2: !=<3
    ne3: !=<=3
    ne4: !=>3
    ne5: !=>=3
    s: string
    n: number
    i: int
    f: float
    b: bytes
    basic1: <〈0;i〉
    basic2: >〈0;n〉
    basic3: >=〈0;s〉
    basic4: <=〈0;f〉
    basic5: <=〈0;b〉
    bne1: !=〈0;s〉
    bne2: !=〈0;n〉
    bne3: !=〈0;n〉
    bne4: !=〈0;i〉
    bne5: !=〈0;b〉
    e1: <=~"foo"
    e2: >null
  }
}
