Rationalizing Denominators Of Algebraic Expressions