code: func reducible(p int) bool {
  	// Multiplying n-bit * n-bit produces (2n-1)-bit,
  	// so if p is reducible, one of its factors must be
  	// of np/2+1 bits or fewer.
  	np := nbit(p)
  	for q := 2; q < 1<<(np/2+1); q++ {
  		if polyDiv(p, q) == 0 {
  			return true
  		}
  	}
  	return false
  }
docs: // reducible reports whether p is reducible.