Once the technology is sufficiently advanced, it would be interesting to repeatedly decompile and recompile (using an optimising compiler) the same code, to see if it reaches a fixed point or perhaps oscillates around one.
it does, you can do this with mcsema today, with some restrictions. i.e. if there are stack variables, it won't reach a fixed point because loads and stores will blow up the size due to a stupid architectural decision. but if everything is in registers, you'll reach a fixed point.
This is interesting, but it's not clear that this tricky is more generally useful - certainly, obfuscation that is actually integrated with the "real" logic won't just disappear under optimization!