def METHOD_NAME(minval, maxval):
    """ Creates list ints between minval and maxval to allow fuzzer to uniquely identify all bits."""
    assert minval >= 0
    assert maxval >= minval
    min_p2 = math.floor(math.log(max(minval, 1), 2))
    max_p2 = math.ceil(math.log(maxval + 1, 2))
    if 2**max_p2 > maxval:
        max_search_p2 = max_p2 - 1
    else:
        max_search_p2 = max_p2
    choices = set(
        [minval, maxval, 2**(min_p2 + 1) - 1, 2**(max_search_p2) - 1])
    lb = min_p2
    ub = max_search_p2
    while lb < ub:
        ub = int(round(ub / 2.))
        val = 2**ub - 1
        lowval = val
        if lowval < minval:
            lowval |= (1 << max_search_p2)
        assert lowval >= minval, (val, ub)
        choices.add(lowval)
        highval = val << (max_search_p2 - ub)
        if highval > minval:
            assert highval <= maxval, (val, ub)
            choices.add(highval)
    for bit in range(max_search_p2):
        if 2**bit > minval:
            choices.add(2**bit)
        else:
            choices.add(2**bit | 2**max_search_p2)
            choices.add(2**bit | 2**(max_search_p2 - 1))
    zeros = set()
    ones = set()
    for choice in choices:
        assert choice >= minval, choice
        assert choice <= maxval, choice
        for bit in range(max_p2):
            if (1 << bit) & choice:
                ones.add(bit)
            else:
                zeros.add(bit)
    assert len(ones) == max_p2
    assert len(zeros) == max_p2
    return tuple(sorted(choices))