Roger Federer admitted that he was lacking the "punch" of 13th-seeded Borna Coric after the Swiss great was turfed out of the Shanghai Masters semi-finals on Saturday. The Croatian stunned the 20-time Grand Slam champion 6-4, 6-4 in what was an unusually error-strewn performance from Federer. The 21-year-old Coric will face Novak Djokovic in Sunday's final after the Serb thrashed Alexander Zverev 6-2, 6-1, leapfrogging Federer to number two in the world rankings. Federer has not been at his best all week, dropping sets in the two opening matches of his wobbly title defence.
The 37-year-old top seed was more like his old self on Friday, defeating eighth seed Kei Nishikori in two high-quality sets.
But he made a slow start against Coric, ranked 19 in the world, getting broken in the first game.
There was a subtle shake of the head when Federer similarly lost his serve at the start of the second set.
"I thought he was better, I think he had more punch on the ball. He served better," said Federer, proclaiming himself pleased nevertheless with his form.
"I feel like I'm explosive out there, returning well," he added.
"Serving, I think, it's okay, could be even a little bit better.
"I don't think I played a match where I didn't get broken, so that's something a bit more unusual for me."
In contrast, Coric -- who is into his first Masters 1000 final -- was largely untroubled on his serve.
Federer won the Australian Open at the start of this year but has had a mediocre season by his sky-high standards.
He exited the US Open in the last 16 at the hands of unheralded Australian John Millman, ranked 55th, and only made the quarter-finals at Wimbledon.
Coric, who has only two career titles, has now beaten Federer twice -- the previous time was in the final at Halle this year.
Coric described Djokovic as a close friend.
"I was looking up to him since I was really, really young," he said, calling the upset over Federer one of his best results.
"It's absolutely there. If not the best one, then it's in the top two or three."
Celebrating his 1,000th match in style, the 14-time Grand Slam winner Djokovic was clinical against a shell-shocked Zverev.
The 31-year-old is in imperious form and this was his 17th ATP victory in a row, as he taught the rising German star a lesson.
Djokovic will be up to second in the world when the new rankings are released on Monday, but he is desperate to take injured Rafael Nadal's number one spot before the year is out.
The Serb, who had elbow surgery in February but recovered to win Wimbledon and then the US Open last month, said: "Being number two after this tournament is also a great achievement, considering the first four, five months of the year and considering I had the surgery.
"And where I was about four months ago and where I am today is quite an extreme opposite."
The 21-year-old Zverev was off-colour most the match and bad tempered at times, angrily throwing his racquet at the start of the second set as Djokovic ramped up the pressure.
An increasingly exasperated Zverev issued more punishment to his racquet at 3-1 down in the second, earning a code violation and tossing the battered piece into the crowd.
"I did what, 24 unforced errors and seven winners? I don't think I'm beating anyone with that, to be honest," said the fourth seed.