

An illustration of referential transparency 
With referential transparency it is possible to perform natural program transformations without
any concern of side effects 
It is possible to rewrite one of the expressions above to the other, provided that F is a function.
Below, we have illustrated an example where F is of procedural nature. Notice that F assigns the variable
c, such that it becomes critical to know how many times F is called. 