code optimisation in compiler design