`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
const wide_integer<Bits, Signed> & lhs, const wide_integer<Bits, Signed> & rhs) noexcept(is_same<Signed, unsigned>::value)
    {
        wide_integer<Bits, Signed> res = lhs;
        bool is_underflow = false;
        for (int idx = 0; idx < arr_size; ++idx)
        {
            base_type & res_i = res.m_arr[little(idx)];
            const base_type rhs_i = rhs.m_arr[little(idx)];
            if (is_underflow)
            {
                --res_i;
                is_underflow = res_i == std::numeric_limits<base_type>::max();
            }
            if (res_i < rhs_i)
                is_underflow = true;
            res_i -= rhs_i;
        }
        return res;
    }
    constexpr static wide_integer<Bits, Signed> _operator_plus_wide_integer(