Our first example involves a simple permutation of values, stored one per process: each process computes its receiving process, sends its value to the appropriate destination, and reads a new value. The program we debugged worked correctly on small processor arrays but failed on an array of 512 processes.