A Simple Sequential Reasoning Approach for Sound Modular Verification of Mainstream Multithreaded Programs