Explain the reasons for the different versions of the compiled code.

Some of these links could be helpful
https://developers.google.com/closure/compiler/docs/limitations
https://developers.google.com/closure/compiler/docs/api-tutorial3