The propagation of the electron-nuclei dynamics is implemented using two different time steps. For the nuclear degrees of freedom, the ground state nuclear dynamics is evolved using the classical time step dt c ; the overlap U matrix and the time-derivative T matrix are evaluated by comparing the two geometries before and after the classical time step. For the electronic dynamics, the electronic Schrodinger equation (Eq. ( )) is integrated using the 4-th order Runge-Kutta method with a substantially smaller quantum time step (here we choose dt q = dt c /50) and using the T matrix above. Note that, once we have the T matrix, propagating the electronic amplitudes is usually very cheap (in comparison to calculating the overlap matrix).