Parallelization started... problems arising already.  Serial algorithm still works correctly, but parallelized often returns incorrect answers and takes longer to run.  Lots of work left to do.