|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.