upvote
Just to address this point:

> famously C standard leaves some things undefined and up to implementation.

And the language specification lets you reason about when the code will invoke undefined behavior and when not. You can ensure that you’re on safe ground by reasoning about the code in accordance with the language specification. With LLMs, such rigorous reasoning is not possible. The very fact that the C language specification does define when UB occurs is what lets you reason about it.

> I think you're wrong, the compilers are already unpredictable (or chaotic, better to say than nondeterministic, as someone pointed out).

I made the point in the root comment that the compiler may be non-deterministic and that this doesn’t matter for the argument. Because the point isn’t about determinism, it’s about being able to reason with high precision about the program’s behavior based on the source code.

reply