Allocating programs containing branches and loops within a multiple processor system | Synapse