benchmark/murmur3.js
function fmix32_pure (hash) {
    hash = (hash ^ (hash >>> 16)) >>> 0
    hash = multiply(hash, 0x85ebca6b)
    hash = (hash ^ (hash >>> 13)) >>> 0
    hash = multiply(hash, 0xc2b2ae35)
    hash = (hash ^ (hash >>> 16)) >>> 0
    return hash
}
function fmix32_pure (hash) {
    hash = (hash ^ (hash >>> 16)) >>> 0
    hash = multiply(hash, 0x85ebca6b)
    hash = (hash ^ (hash >>> 13)) >>> 0
    hash = multiply(hash, 0xc2b2ae35)
    hash = (hash ^ (hash >>> 16)) >>> 0
    return hash
}
With this, unused, function we always make sure we have an unsigned integer value, but it's not absolutely necessary. We're only interested in the integer value when we perform addition or write the value to our buffer. We do not do this within Murmur's mix function. I'm leaving it in place for a benchmark where I can gauge the cost of `>>> 0`.