← Back to context

Comment by zajio1am

18 days ago

I do not talk about UBs, compiler can be non-deterministic even for completely valid and well-specified source code.

Seems to me that people just confuse determinism with soundness.

Determinism is just whether the output of the tool (machine code) is determined by the input (source code), i.e., for one input always returns the same output.

Soundness means that output is always consistent with the semantics of the input. i.e. returned machine code always does what is specified by the source code.

Compilers can be non-deterministic (although usually are deterministic), but they are always sound (ignoring compiler bugs).

LLMs can be deterministic (although usually aren't), but they are not sound in general.