Parallelizing Complex Loops