def METHOD_NAME():
    class METHOD_NAME(m.Circuit):
        contents = (
            m.Tuple[m.Bit, m.Bits[2]](m.Bit(True), m.Bits[2](2)),
            m.Tuple[m.Bit, m.Bits[2]](m.Bit(False), m.Bits[2](3))
        )
        io = m.IO(I=m.In(m.Bits[1]), O=m.Out(m.Tuple[m.Bit, m.Bits[2]]))
        io.O @= LUT(m.Tuple[m.Bit, m.Bits[2]], contents)()(io.I)
    m.compile("build/test_lut_tuple", METHOD_NAME)
    assert check_files_equal(__file__, f"build/test_lut_tuple.v",
                             f"gold/test_lut_tuple.v")
    tester = fault.Tester(METHOD_NAME)
    for i in range(0, 2):
        tester.circuit.I = i
        tester.eval()
        for j in range(2):
            value = METHOD_NAME.contents[i][j]
            if isinstance(value, m.Bit):
                value = True if value is m.Bit.VCC else False
            else:
                value = int(value)
            tester.circuit.O[j].expect(value)
    tester.compile_and_run("verilator", skip_compile=True,
                           flags=["-Wno-unused"],
                           directory=os.path.join(os.path.dirname(__file__),
                                                  "build"))