I'll be wondered if the sentences are correct.
If John apologized to her, he would be crazy.
This is the only appropriate way to say it in my opinion.
That's how you'd say it in the present tense.
He would be crazy to apologize to her. (He hasn't apologized yet.)
He would have to be crazy to apologize to her.
But the OP is referring to this happening
in the past.
He must have been crazy if he apologized to her. (Perhaps he has apologized. If he did, he was, necessarily, crazy at the time.)
He must have been crazy to apologize to her. (We assume he has).
He would have to have been crazy to apologize to her.
If he apologized to her, he would have to have been crazy.
I prefer this version - the second of the original poster's sentences - over the first.
The following is possible, if indicated:
If he had apologized to her, he would have had to have been crazy.
But it's possible to leave out the second
had here.
PS: I posted without seeing bhai's post. I think we agree essentially.