Метод алгебраического преобразования для оптимизации кода заключается в упрощении простых алгебраических выражений с помощью фундаментальных законов алгебры. 1
Например, компилятор может заменить -(-a) на a. 1 Такие выражения не часто пишутся программистами, но могут появиться в результате подстановки функций и макроподстановок. 1
Также алгебраические преобразования могут использоваться для внесения избыточного кода, который можно упростить или совсем удалить, так как вычисляется либо константное значение, либо значение, уже вычисленное ранее. 3 Например, можно воспользоваться комбинаторным тождеством и заменить везде в программе использование константы 256 на цикл, который вычисляет сумму биномиальных коэффициентов по приведённой формуле. 3
Подобные алгебраические преобразования ограничены целыми значениями, так как при выполнении операций с плавающей точкой возникают проблемы. 3