Compiling Techniques for Algebraic Expressions