**Describe what's wrong**

When adding new values to IN operator with tuples, result set is reduced.

<br class="Apple-interchange-newline">

**Does it reproduce on recent release?**

Probably not working since v22.4.2.1-stable
Still not working on v22.7.1.2484-stable

<br class="Apple-interchange-newline">

**How to reproduce**


```
CREATE TABLE ISSUE_EXAMPLE
(
    `THIRDPARTY_ID` String,
    `THIRDPARTY_USER_ID` String,
    `PLATFORM` LowCardinality(String),
    `DATE` Date
)
ENGINE = MergeTree()
PARTITION BY toYYYYMM(DATE)
ORDER BY (PLATFORM, THIRDPARTY_USER_ID, THIRDPARTY_ID)
SETTINGS storage_policy = 'nvme', index_granularity = 2048
```

```
INSERT INTO ISSUE_EXAMPLE VALUES ('17843212264024828', 238040827, 'insta', '2014-07-30'), ('17862693304001575', 238040827, 'insta', '2016-07-09')
```

```
SELECT *
FROM ISSUE_EXAMPLE
WHERE (PLATFORM, THIRDPARTY_USER_ID) IN (('insta', '238040827'))
```
That query returns 2 rows

```
SELECT *
FROM ISSUE_EXAMPLE
WHERE (PLATFORM, THIRDPARTY_USER_ID) IN (('insta', '238040827'), ('insta', '22606518861'))
```
That query returns 0 rows instead of 2. Adding new value to IN should not reduce result set. 
}
        return lhs.compareAt(row, 0, *rhs.column, 1);
    };
    auto less = [this, &compare, tuple_size](size_t row, const auto & point)
    {
        for (size_t i = 0; i < tuple_size; ++i)
        {
            int res = compare(*ordered_set[i], point[i], row);
            if (res)
                return res < 0;
        }
        return false;
    };
    auto equals = [this, &compare, tuple_size](size_t row, const auto & point)
    {
        for (size_t i = 0; i < tuple_size; ++i)
            if (compare(*ordered_set[i], point[i], row) != 0)
                return false;
        return true;
    };
    /** Because each hyperrectangle maps to a contiguous sequence of elements
      * laid out in the lexicographically increasing order, the set intersects the range
      * if and only if either bound coincides with an element or at least one element
      * is between the lower bounds
      */
    auto indices = collections::range(0, size());
    auto left_lower = std::lower_bound(indices.begin(), indices.end(), left_point, less);
    auto right_lower = std::lower_bound(indices.begin(), indices.end(), right_point, less);
    
    bool one_element_range = true;