Thread Partitioning Algorithm for Speculative Multithreading Based on Path Optimization: Thread Partitioning Algorithm for Speculative Multithreading Based on Path Optimization