Most of Wolfram's discussion of "bugs" is not about the following situation: You want a program that does X. So you think about what a program that does X should look like, and write a program that does what you think should produce result X, but maybe you made some mistakes. but about the following, to my mind completely different , situation: You want a program that does X. So you write a bunch of random short prog…
I think its easy for us to think we can understand what a program is going to do when we're dealing with high level abstractions. I think if we really came to grips with everything the program is doing all the way down to the hardware level, we might have less confidence that we can predict what its going to do with 100% accuracy every time, even in the case of supposedly simple programs.
And if you want additional assurance (due to, e.g. the computation being very long) you could probably use some cryptographic techniques to produce a certificate that the output is as it should be, and you can check that certificate as many times as you want to avoid possible random hardware errors in the process of checking the certificate.