An Approach to Combine Predicated/Speculative Execution for Programs with Unpredictable Branches