The Compiler Design Handbook:  Optimizations & Machine Code Generation