You can if you have the time, if you also write unit-tests, and if your code will not give too much work for reviewers.
Most of my commits nowadays are very simple and small, and I try to stick to the immediate specifications because they may expanded in the future. In your example, what happens in the future if your boss says "the calculator may NEVER compute the difference of 2 numbers"? You will have useless code and/or harmful code that people will feel free to use but you may have to remove in the future. That's additional work for you.
Last but not least, putting too much unneeded new code may cause problems for others with merge conflicts if you use GitLab or GitHub. It happens all the time. Think about what you need, what you must do, and the problems you may cause later.