Andy Murray produced a vintage display against top seed Stefanos Tsitsipas to reach the semi-finals of the Stuttgart Open on Friday.