Tomas Machac shocked Carlos Alcaraz in straight sets to reach the semi-finals of the Shanghai Masters