There is a less chance to have a bug in a very small function than moderately sized, but "clean" function.
It is also easier to write a test for a smaller function.
Having the implementation in many smaller functions also makes the code more readable if their naming is good.