Loop-Invariant Code Motion

The compiler can move code outside of loops to speed things up