Cleaned up let value peeling inside Simplify.cpp
Workaround for an llvm performance bug

loop-strength-reduce was choking on long chains of select ir nodes. This
uses bitmasking for integer min and max instead of select. They get converted
to select anyway, but apparently the form they appear in no longer tickles
the bug?
Typo fix.
Assert that function names don't contain '.', because we use it internally.
Made log test sloppier now that the simplifier is more aggressive.