The Gateway to Computer Science Excellence

+4 votes

In compiler terminology reduction in strength means

- Replacing run time computation by compile time computation
- Removing loop invariant computation
- Removing common subexpressions
- replacing a costly operation by a relatively cheaper one

+7 votes

Best answer

**Answer is D**

In software engineering, **strength reduction** is a compiler optimization where expensive operations are replaced with equivalent but less expensive operations. The classic example of strength reduction converts "strong" multiplications inside a loop into "weaker" additions – something that frequently occurs in array addressing.

0 votes

**In compiler design strength reduction is a Machine Independent loop optimization technique.**

**There are expressions that consume more CPU cycles, time, and memory. These expressions should be replaced with cheaper expressions without compromising the output of expression. For example, multiplication (x * 2) is expensive in terms of CPU cycles than (x << 1) and yields the same result.**

**so answer is D.**

52,215 questions

59,981 answers

201,180 comments

94,636 users