Learning single index model with gradient descent: spectral initialization and precise asymptotics