int dst_tree_root, rank_tree_root, send_offset, recv_offset;
int rank, num_procs, j, k, dst, curr_size, max_size;
int last_recv_count = 0, tmp_mask, tree_root, num_procs_completed;
int dst_tree_root, rank_tree_root, send_offset, recv_offset;
int rank, num_procs, j, k, dst, curr_size, max_size;
int last_recv_count = 0, tmp_mask, tree_root, num_procs_completed;