OMAHA, NEB. — Could it really have gone any other way?
Side by side, Michael Phelps and Ryan Lochte swam as the final wall approached and an announced sellout crowd thundered in the background.
They've been doing this for almost half their lives in the 200-meter individual medley, and they delivered a rousing show at the Olympic Trials in their final head-to-head race on American soil.
Phelps never relinquished the slight lead he built on the opening butterfly leg and qualified for the Olympics in a second individual event. Lochte also earned a 200 IM spot in Rio de Janeiro with his runner-up finish.
They came out of the tunnel laughing after Lochte accidentally stepped on the heel of Phelps' shoe. And they embraced at the end, understanding that they were near the close of something magnificent.
"I knew going into this race that it was definitely going to be a dogfight to the end," Lochte said. "I love racing against him. It's so much fun. And it was kind of a little heartbreaking at the end. … We both knew that was probably the last time we'd race against each other in the U.S."
Phelps had to turn right around and swim his semifinal heat in the 100 butterfly. He gulped for air and walked gingerly, in obvious discomfort, after qualifying for the event's Saturday evening final. He was not too tired to appreciate what he and Lochte had done.
"I think when we race each other, we bring each other to a different level," he said. "That's probably the last time people in the U.S. will see that, the two of us racing each other. We've had a great history in the 200 IM, the 400 IM, the 200 free and kind of every race."
Though nobody else in the pool was older than 25, the pair of 31-year-olds left them all choking in their wake. So it has been in this race for more than a decade. Lochte and Phelps are a club of two, and they intend to keep it that way right to the end.
Phelps' North Baltimore Aquatic Club teammate, David Nolan, finished third, more than three seconds behind the wining time of 1 minute, 55.91 seconds. But he and the other younger finalists appreciated being in the water with the kings of American swimming.
"I've grown up watching them in that race," fifth-place finisher and Olympian Jay Litherland said. "Just to be part of that heat is incredible."
This has been a week for new stars to push their way into the Olympics, but all anyone could talk about Friday was the impending showdown of graybeards.
Phelps and Lochte easily posted the best two times in Thursday evening's semifinals, and both seemed energized by the prospect of going head to head at one last trials.
"I think it's one of the greatest rivalries in sports, me and him," Lochte said.
It's hard to compare them to Ali-Frazier, Bird-Magic or Evert-Navratilova, because Lochte never truly has held the advantage, at least not for long.
In fact, it would be understandable if Lochte found Phelps maddening. Lochte is one of the greatest all-around swimmers ever — an 11-time Olympic medalist — and yet he's generally ended up as the B side to Phelps in the biggest races.
Instead of bemoaning his fate, however, Lochte always has maintained his zeal for competing with the best swimmer of his generation. When Phelps came out of retirement in 2014, Lochte spoke with genuine emotion about how it would strengthen his will to continue swimming.
"Sometimes I think I wouldn't be the swimmer I am today if it weren't for Michael," Lochte said.
The 200 IM is their perfect battleground, a race in which they've competed since they were teenagers. At his first trials in 2004, Lochte finished second to Phelps in the event. Between them, they own the top 13 times in history.
Lochte set the world record in 2011. Phelps has won gold in the 200 IM at three straight Olympics.
Phelps swam the fastest 200 IM in the world in 2015. Lochte won the world championship.
"Him and I have gone back and forth a number of times in this race," Phelps said. "During the big meets, we have great races."
Said Lochte: "It's the one event in which we're always neck and neck, no matter what."
After his semifinal swim Thursday, Phelps took the rare step of remaining on the deck to watch Lochte swim his semifinal. Already, he seemed to be treating the event as a two-man match race.
"I wanted to see where he is and see what the race is going to be like tomorrow," he said.
Lochte pulled his groin in preliminaries of the 400 IM on Sunday, and he has swum through pain all week. On Thursday, he gulped Advil, hoping to push the discomfort out of his mind. But he said the pain still flared as he swam the breaststroke.
"I'm feeling better as far as mentally," he said. "But physically, I'm getting tired."
Even as he nears his 32nd birthday, Lochte maintains a rare athletic engine, and Phelps seemed certain his buddy would race hard, injury or no.
"Even if he is hurt, it's not like he's going to let anything be an excuse," he said.
Phelps' showdown with Lochte came in the middle of his busiest day at the trials. He swam a preliminary heat of the 100 butterfly in the morning session, seemingly reserving as much energy as he could on the way to the sixth-best qualifying time. He then had to swim a butterfly semifinal less than 30 minutes after the IM final.
It was the kind of hectic schedule Phelps handled routinely as a younger swimmer. But age has diminished his ability to recover quickly, so there was at least a hint of risk.
"That hurt," he said after finishing third in his semifinal heat. "Two in 28 minutes used to be easy, but that one wasn't easy. … I would like to have been faster in the fly, but my legs are hurting really bad."
Lochte swam a 100 butterfly preliminary as well, so the two veterans were on even terms in their 200 IM race.
Phelps will face an easier day Saturday, with no preliminaries to swim in the morning and only the 100 butterfly final in the evening.
Then: Rio, where he and Lochte will be favored to do this all again, with gold on the line.