Shanghai - Roger Federer admitted that he was lacking "punch" after he was turfed out of the Shanghai Masters semi-finals on Saturday by 13th-seeded Borna Coric.
The Croatian stunned the Swiss great 6-4, 6-4 in what was an unusually error-strewn performance from the 20-time Grand Slam champion.
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 overall 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 to his name, has now beaten Federer twice -- the previous time was in the final at Halle this year.
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 made an iffy start, beginning his first service game with a double-fault.
The world number five -- who beat Djokovic in their only previous meeting, last year in the Rome Masters final -- recovered his poise for a time.
The first set went with serve, and some big serves at that, until Djokovic grabbed the break to go 4-2 up.
Zverev threatened to unravel and conceded the set in barely 30 minutes after landing a routine smash into the net, to gasps from the arena.
The fourth seed, who is yet to win a Grand Slam despite his undoubted talent, angrily threw 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, earning a code violation and tossing the battered piece into the crowd.