Specifically, it usually decides it knows what the answer is (and gets it wrong), then optimizes out the part of the program that does anything.