The term that optimizes subexpressions shared by different expressions in a program is called ________.
The optimizer that explores the space of all query-evaluation plans is called ________.