`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
{
    writeStringBinary(StringRef{s}, buf);
}
template <typename T>
void writeBigIntBinary(const T & x, WriteBuffer & buf)
{
    static const constexpr size_t bytesize = BigInt<T>::size;
    char bytes[bytesize];
    BigInt<T>::serialize(x, bytes);
    buf.write(bytes, bytesize);
}
template <typename T>
void writeVectorBinary(const std::vector<T> & v, WriteBuffer & buf)
{
    writeVarUInt(v.size(), buf);
    for (typename std::vector<T>::const_iterator it = v.begin(); it != v.end(); ++it)
        writeBinary(*it, buf);
}
inline void writeBoolText(bool x, WriteBuffer & buf)
{
    writeChar(x ? '1' : '0', buf);
}
struct DecomposedFloat64
{
    DecomposedFloat64(double x)
    {
        memcpy(&x_uint, &x, sizeof(x));
    }
    uint64_t x_uint;
    bool sign() const