Intermediate Representation ===========================