22.12
```sql
SELECT cityHash64(toIPv4('1.2.3.4'))
--
5715546585361069049
```

22.13
```sql
SELECT cityHash64(toIPv4('1.2.3.4'))
--
3462390757903342180
```

I found it accidentally. It seems it's only with cityHash64 and IPv4. 
It seems it's OK with other hash functions (sipHash / xxHash32) and IPv6.
May be it's only issue with MacOs build.

If it's the real issue, probably it's worth to check all hash functions.

offsets_res[i] = pos - begin;
            }
            vec_res.resize(pos - begin);
            return col_res;
        }
        else
            throw Exception("Illegal column " + arguments[0].column->getName()
                            + " of argument of function " + getName(),
                            ErrorCodes::ILLEGAL_COLUMN);
    }
private:
    static bool isIPv4Mapped(const UInt8 * address)
    {
        return (unalignedLoadLE<UInt64>(address) == 0) &&
               ((unalignedLoadLE<UInt64>(address + 8) & 0x00000000FFFFFFFFull) == 0x00000000FFFF0000ull);
    }
    static void cutAddress(const unsigned char * address, char *& dst, UInt8 zeroed_tail_bytes_count)
    {
        formatIPv6(address, dst, zeroed_tail_bytes_count);
    }
};
template <IPStringToNumExceptionMode exception_mode>
class FunctionIPv6StringToNum : public IFunction
{
public:
    static constexpr auto name = exception_mode == IPStringToNumExceptionMode::Throw
        ? "IPv6StringToNum"
        : (exception_mode == IPStringToNumExceptionMode::Default ? "IPv6StringToNumOrDefault" : "IPv6StringToNumOrNull");
    static FunctionPtr create(ContextPtr context) { return std::make_shared<FunctionIPv6StringToNum>(context); }
    explicit FunctionIPv6StringToNum(ContextPtr context)