Operation reduction for low power

A program transformation is any operation that changes the computational structure such as nature and type of computational models, their interconnections, sequencing of operations keeping the input output behavior intact.

For example, in a given Application specific IC reducing the number of independent additions required automatically reduces the adders required and also the power consumed.

In this example we need to compute two values yr = ar * xr - ai * xi, yi = ai * xr + ar * xi which can be done sequentially computing the terms as shown in the expressions.

Based on the frequency of input changing we can model the program so that less activity switching happens i.e. if certain inputs are less frequently changing then they should be made operating in single module so that the particular module is relatively passive compared to others.

We can schedule the operations in a particular order based which value in the program activates how many modules.