`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
n = operator_minus(n, d);
                answer = operator_pipe(answer, x);
            }
            x = shift_right(x, 1);
            d = shift_right(d, 1);
        }
        quotient = answer;
        remainder = n;
    }
public:
    template <typename T>
    constexpr static auto operator_slash(const wide_integer<Bits, Signed> & lhs, const T & rhs)
    {
        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(o) != is_negative(lhs))
                quotient = operator_unary_minus(quotient);
            return quotient;
        }
        else
        {
            static_assert(T::_impl::_is_wide_integer, "");
            return std::common_type_t<wide_integer<Bits, Signed>, wide_integer<T::_impl::_Bits, Signed>>::operator_slash(T(lhs), rhs);
        }
    }
    template <typename T>
    constexpr static auto operator_percent(const wide_integer<Bits, Signed> & lhs, const T & rhs)