func findDuplicate(blocks []*BasicBlock) *BasicBlock {
	if len(blocks) < 2 {
		return nil
	}
	if blocks[0] == blocks[1] {
		return blocks[0]
	}
	// Slow path:
	m := make(map[*BasicBlock]bool)
	for _, b := range blocks {
		if m[b] {
			return b
		}
		m[b] = true
	}
	return nil
}
func findDuplicate(blocks []*BasicBlock) *BasicBlock {
	if len(blocks) < 2 {
		return nil
	}
	if blocks[0] == blocks[1] {
		return blocks[0]
	}
	
	m := make(map[*BasicBlock]bool)
	for _, b := range blocks {
		if m[b] {
			return b
		}
		m[b] = true
	}
	return nil
}
func findDuplicate ( blocks [ ] * BasicBlock ) * BasicBlock { if len ( blocks ) < 2 { return nil } if blocks [ 0 ] == blocks [ 1 ] { return blocks [ 0 ] } // Slow path: m := make ( map [ * BasicBlock ] bool ) for _ , b := range blocks { if m [ b ] { return b } m [ b ] = true } return nil }
// findDuplicate returns an arbitrary basic block that appeared more
// than once in blocks, or nil if all were unique.
findDuplicate returns an arbitrary basic block that appeared more than once in blocks or nil if all were unique .