`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
{
        if constexpr (should_keep_size<T>())
        {
            wide_integer<Bits, Signed> o = rhs;
            wide_integer<Bits, Signed> quotient{}, remainder{};
            divide(make_positive(lhs), make_positive(o), quotient, remainder);
            if (is_same<Signed, signed>::value && is_negative(lhs))
                remainder = operator_unary_minus(remainder);
            return remainder;
        }
        else
        {
            static_assert(T::_impl::_is_wide_integer, "");
            return std::common_type_t<wide_integer<Bits, Signed>, wide_integer<T::_impl::_Bits, Signed>>::operator_percent(T(lhs), rhs);
        }
    }
    
    template <typename T>
    constexpr static auto operator_circumflex(const wide_integer<Bits, Signed> & lhs, const T & rhs) noexcept