At times the Compiler must choose between generating fast, but large code, or small but slower code. Usually the Compiler optimizes on code size. It often has to decide between a runtime routine and expanded code. In these cases, the Compiler chooses runtime routine only if it is at least three bytes shorter than the expanded instruction sequence.