The end-result is usually a one liner that has too many ()'s, {}'s and []'s to be human readable ever again. And that is, lets face it, a huge problem. Because no matter how well it was tested, a time will come a bug is found or that the requirements change.
Then what?!
Usually the expression is thrown away and written from scratch. Or, the expression is carefully dissected, placed over multiple lines, indented and prettied up, all to see what it was supposed to do.
I've also come across documentation where this nicely prettied up version is placed in a word document and each and every line is documented.
It would be so nice if you could just put that documentation right in the code. Wouldn't it?!