Approximation Techniques for Average Completion Time SchedulingProfile-driven instruction level parallel scheduling with application to super blocks