I don't understand it. Why can't white save his bishop?
And I hate to say it, but according to tablebases your solution is not in fact the fastest win. Black has mate in 23 after 1... f5 and only mate in 24 after 1... Kd6 or 1... Re1. All other moves take even longer.
Actually, every move except 3. Bh5, 4. Kd4, and 5... Kxf7 were mistakes if the goal was the shortest win for white and the longest for black.
In this position black is totaly winning. But what is the fastest route to victory?
Edit: there appear to be 2 mistakes here.. 1 - the pawn should move down, not up. 2 - there is a better move for black that wins 1 move faster (Rb4).