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). ...

Start Free Trial

No credit card required