Beware of fast-math
Fun fact: when working on Herbie (<a href="http://herbie.uwplse.org" rel="nofollow">http://herbie.uwplse.org</a>), our automated tool for reducing floating-point error by rearranging your mathematical expressions, we found that fast-math often undid Herbie's improvements. In a sense, Herbie and fast-math are opposites: one makes code more accurate (sometimes slower, sometimes faster), while the other makes code faster (sometimes less accurate, sometimes more).