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}.