runge-kutta optimized with vectorization