Found that addForcesFromOtherChunks was short-circuiting n^2/2 of the time. (It was code from a _.each function that I should have paid more attention to when converting to a for loop.)