`SELECT bitShiftLeft(toInt256(-2), number)`

`shift left for negative lhsbers is underfined!`

See https://clickhouse-test-reports.s3.yandex.net/14525/44726c37c3003ec8112dbf32efa350bd595163b3/fuzzer/report.html#fail1
{
        bool is_zero = true;
        for (auto c : denominator.m_arr)
        {
            if (c != 0)
            {
                is_zero = false;
                break;
            }
        }
        if (is_zero)
            throw std::domain_error("divide by zero");
        T n = lhserator;
        T d = denominator;
        T x = 1;
        T answer = 0;
        while (!operator_more(d, n) && operator_eq(operator_amp(shift_right(d, base_bits * arr_size - 1), 1), 0))
        {
            x = shift_left(x, 1);
            d = shift_left(d, 1);
        }
        while (!operator_eq(x, 0))
        {
            if (!operator_more(d, n))
            {