It plays RxR
What would you do and why?
Position is clearly better for white but not a won position by any means. Sorry for wrong usage in my earlier comment.

While I would take exf, I don't know how "won" the position is..depends on whether Black can get that Knight perched on a nice square like c4, for instance. The win is a long way off.
I think after f4 controlling e5, if the knight goes to say b6 trying to jump to c4, white can just trade his bishop, then bring his king over and trade rooks on the open file (unless black wants to keep them on and let white have file control).
In this case the past pawn should be decisive.

Even as that analysis takes place. It seems from the comments here that my eyes should have brightened up at the prospect of having a passed pawn and then worked the rest of the game around that. That's how my brain should have worked when black made his 21st move. Right?

Even as that analysis takes place. It seems from the comments here that my eyes should have brightened up at the prospect of having a passed pawn and then worked the rest of the game around that. That's how my brain should have worked when black made his 21st move. Right?
exf5 creating the passed pawn that can later be protected looks fairly normal, and though it's difficult to say if white is much better or not, I find it difficult to believe he is worse, hence my question about what kind of tactical idea your engine might have uncorked.
Even if there is a (deep) tactic for black hidden here, exf5 seems fairly acceptable from a human point of view.
4.Bxc6.
or is there a line I am missing?
26.Kf1 might have been better, allowing Rb1 .In any casue you shouldn't have offered exchange of rooks/
I think 33.c4 was a mistake.
24 Rd4 trying to remove doubled pawns might work.
I'm out of ideas.

@hicetnunc : Thanks for asking me the next few moves of CompuChess. Strange things are happening...

At the end of these moves, white is again ahead in evalauation. After 28 of black, white is +0.39 and the suggested move is 29.g6...

yeah 24...Rc8 doesn't look like a super-threatening move either... What if white goes on the attack with something like 25.Re6 aiming for the h5 pawn ?

Yes 24...Rc8 for me is so unimaginable that I read it is 24...g8 (CC's notation was [H8-C8] which I saw as [H8-G8]).
The comment "exf5 creating the passed pawn that can later be protected looks fairly normal" speaks out clearly what is lacking in my game. For me it is NOT "fairly normal". Over a period of time I have reduced my blunders from 1 in 5 games to 1 in 10 or 12. However after reaching an equal or sometimes better mid-game, it's as if I am lost in a forest. My usual big mistakes are around 22nd move. This game is an example. A better player than me with a plan would have won this game. But I could not see that passed pawn advantage to make a plan around. For an 1900+ player it is "fairly normal" - not for me. Such small but very important points of the game should become "fairly normal" if a player of my level wants to jump to a regular 1900+ player. The challenge is, (a) How to know what to learn and (b) then learn it.
Not a won position, but definitely better for white.