Nadal stops Safin to reach China semi-finals