Suppose that $A$ is a square complex matrix and $f$ is a polynomial in $\mathbb C[t]$ such that $f(A)$ is diagonalizable. If $f'(A)$ is invertible, where $f'$ is the derivative of $f$, prove that $A$ is diagonalizable in $\mathbb C$.
My attempt:
Since $f(A)$ is diagonalizable, then the minimal polynomial of $f(A)$ has no multiple roots. Say $g(t)=\prod_{i=1}^n (t-r_i)\in\mathbb C[t]$, with $r_i$ distinct. And $g(f(A))=0$. In order to prove $A$ is diagonalizable in $\mathbb C$, we need to find a polynomial $p(t)\in\mathbb C[t]$ with no multiple roots such that $A$ is annihilated by $p(t)$. We know that $p(t)|g(f(t))$. Now the problem is how to use the fact that $f'(A)$ is invertible?
Let $g(x)$ be the minimal polynomial of $f(A)$. Clearly, $g$ has only simple roots, since $f(A)$ is diagonalisable. Hence $g$ and $g'$ do not have any common roots, and since the eigenvalues of $f(A)$ are roots of $g$, no root of $g'$ is an eigenvalue of the matrix $f(A)$, and therefore the matrix $g'\big(f(A)\big)$ is invertible.
Also, as $f'(A)$ is also invertible, then $(g\circ f)'(A)=g'\big(f(A)\big)f'(A)$ is also invertible. Thus the roots of $(g\circ f)'(x)$ are not eigenvalues of $A$.
Meanwhile $(g\circ f)(A)=0$, and hence the minimal polynomial $h(x)$ of $A$ divides $g\circ f$. If $h$ had a multiple root, say $x=\lambda$, then $(x-\lambda)^2$ would divide $h$ and $g\circ f$, and $x-\lambda$ would divide $(g\circ f)'=(g'\circ f)f'$.
In particular, $(g'\circ f)(\lambda)f'(\lambda)=0$. But in such case $g'\big(f(A)\big)f'(A)$ would not be invertible.