Fascinating, terrifying explanation of how numeric computation can vary depending on when data is in a register: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=323#c109