Much of the work in a program is done inside mathematical or logical expressions. Complicated expressions tend to be expensive, so this section looks at ways to make them cheaper.
For more information on expressions, see Boolean Expressions.
You can use algebraic identities to replace costly operations with cheaper ones. For example, the following expressions are logically equivalent:
not a and not b not (a or b)
If you choose the second expression instead of the first, you can save a not operation.
Although the savings from avoiding a single not operation are probably inconsequential, the general principle is powerful. Jon Bentley describes a program that tested whether sqrt(x) < sqrt(y) (1982). ...