def METHOD_NAME():
    analyzer = tvm.arith.Analyzer()
    x, y = te.var("x"), te.var("y")
    tmod = tvm.tir.truncmod
    fmod = tvm.tir.floormod
    # not sure if x is non-negative
    m = analyzer.modular_set(tmod(x * 4 + 1, 4))
    assert m.coeff == 1
    assert m.base == 0
    # no need to be positive if base == 0
    m = analyzer.modular_set(tmod(x * 4, 4))
    assert m.coeff == 4
    assert m.base == 0
    # floor mod tests
    m = analyzer.modular_set(fmod(x * 4 + 3, 2))
    assert m.coeff == 2
    assert m.base == 1
    m = analyzer.modular_set(fmod(x * 4 + 3, 8))
    assert m.coeff == 4
    assert m.base == 3
    # x is non-negative
    analyzer.update(x, tvm.arith.ConstIntBound(0, 100))
    m = analyzer.modular_set(tmod(x * 4 + 3, 2))
    assert m.coeff == 2
    assert m.base == 1