Multithreaded implementation, but speedup is so low that there must be errors. Let's hunt for them.