The systematic development of efficient programs from high-level specifications by meaning-preserving program manIPulations. Also known as optimisation. See fusion, loop combination, peephole optimisation, {register allocation}, {tupling}, {unfold/fold}.