Loop-invariant code motion
In computer programming , loop-invariant code consists of statements or expressions ( in an imperative programming language ) which can be moved outside the body of a loop without affecting the semantics of the program . 
<triplet> imperative <subj> computer programming <obj> instance of <triplet> programming language <subj> computer programming <obj> use