code: func reg2bins(beg, end int64, minShift, depth uint32) []uint32 {
  	end--
  	var list []uint32
  	s := minShift + depth*nextBinShift
  	for level, t := uint32(0), uint32(0); level <= depth; level++ {
  		b := t + uint32(beg>>s)
  		e := t + uint32(end>>s)
  		for i := b; i <= e; i++ {
  			list = append(list, i)
  		}
  		s -= nextBinShift
  		t += 1 << (level * nextBinShift)
  	}
  	return list
  }
docs: // calculate the list of bins that may overlap with region [beg,end) (zero-based)