Frequency Reduction in Code Optimization (original) (raw)

Last Updated : 11 Jul, 2025

Prerequisite - Compiler Design | Code Optimization Frequency reduction is a type in loop optimization process which is machine independent. In frequency reduction code inside a loop is optimized to improve the running time of program. Frequency reduction is used to decrease the amount of code in a loop. A statement or expression, which can be moved outside the loop body without affecting the semantics of the program, is moved outside the loop. Frequency Reduction is also called Code Motion.**Objective of Frequency Reduction:**The objective of frequency reduction is:

Below is the example of Frequency Reduction:Program 1:

CPP `

// This program does not uses frequency reduction. #include <bits/stdc++.h>

using namespace std;

int main() { int a = 2, b = 3, c, i = 0;

while (i < 5) {
    // c is calculated 5 times
    c = pow(a, b) + pow(b, a); 

    // print the value of c 5 times
    cout << c << endl; 
    i++;
}
return 0;

}

`

Program 2:

CPP `

// This program uses frequency reduction. #include <bits/stdc++.h>

using namespace std;

int main() { int a = 2, b = 3, c, i = 0;

// c is calculated outside the loop
c = pow(a, b) + pow(b, a); 

while (i < 5) {

    // print the value of c 5 times
    cout << c << endl; 
    i++;
}
return 0;

}

`

Output:

17 17 17 17 17

**Explanation:**Program 2 is more efficient than Program 1 as in Program 1 the value of c is calculated each time the while loop is executed. Hence the value of c is calculated outside the loop only once and it reduces the amount of code in the loop.