There may be a constant floating problem in the direction we float constants outlined by the bottom tests. It's hard to pull constants out of stacks of arithmetic because they are moved to the bottom(?). It would be more efficient if they were floated to the top (i.e. closer to the things that use them), maybe. http://reviews.llvm.org/D4156