code: func ChecksumZero(input []byte) uint32 {
  	n := len(input)
  	h32 := uint32(n)
  
  	if n < 16 {
  		h32 += prime32_5
  	} else {
  		v1 := prime32_1plus2
  		v2 := prime32_2
  		v3 := uint32(0)
  		v4 := prime32_minus1
  		p := 0
  		for n := n - 16; p <= n; p += 16 {
  			sub := input[p:][:16] //BCE hint for compiler
  			v1 = rol13(v1+binary.LittleEndian.Uint32(sub[:])*prime32_2) * prime32_1
  			v2 = rol13(v2+binary.LittleEndian.Uint32(sub[4:])*prime32_2) * prime32_1
  			v3 = rol13(v3+binary.LittleEndian.Uint32(sub[8:])*prime32_2) * prime32_1
  			v4 = rol13(v4+binary.LittleEndian.Uint32(sub[12:])*prime32_2) * prime32_1
  		}
  		input = input[p:]
  		n -= p
  		h32 += rol1(v1) + rol7(v2) + rol12(v3) + rol18(v4)
  	}
  
  	p := 0
  	for n := n - 4; p <= n; p += 4 {
  		h32 += binary.LittleEndian.Uint32(input[p:p+4]) * prime32_3
  		h32 = rol17(h32) * prime32_4
  	}
  	for p < n {
  		h32 += uint32(input[p]) * prime32_5
  		h32 = rol11(h32) * prime32_1
  		p++
  	}
  
  	h32 ^= h32 >> 15
  	h32 *= prime32_2
  	h32 ^= h32 >> 13
  	h32 *= prime32_3
  	h32 ^= h32 >> 16
  
  	return h32
  }
docs: // ChecksumZero returns the 32bits Hash value.