code: def test_region_lower_bound_split_predicate():
      x_o = tvm.tir.Var("xo", "int32")
      x_i = tvm.tir.Var("xi", "int32")
      x = x_o * 4 + x_i
      var_dom = {
          x_o: tvm.ir.Range(begin=0, end=16),
          x_i: tvm.ir.Range(begin=0, end=4),
      }
      check_region_bound(
          {(x * 4, x * 4 + 8): (0, 256)},
          var_dom,
          predicate=x < 63,
          mode="lowerbound",
      )
  
      check_region_bound(
          {(x * 4, x * 4 + 8): (0, 256), (x * 3, x * 3 + 5): (0, 191)},
          var_dom,
          predicate=x < 63,
          mode="upperbound",
      )
  
imports: import tvm
  import tvm.testing
  from tvm import te
  from tvm import tir
  from tvm.arith.analyzer import Analyzer
label_desc: Use image node_id 12 for calling a global function with example usage: test_region_lower_bound_split_predicate() without return types