Allow floating-point math contractions in LLVM
Allow floating-point math contractions in LLVM

This allows LLVM to use fused multiply-add instructions, which can help
us speed up e.g. matrix multiples that we emit. If I understand
correctly, contractions will reduce the number of places where rounding
has to occur, so we should only be able to accidentally produce more
accurate code?

google-research/dex-lang,google-research/dex-lang,google-research/dex-lang,google-research/dex-lang,google-research/dex-lang,google-research/dex-lang