The reasoning/thinking is basically trying many many different branches.
To do that you need a larger model to have many many branches to try.