The deterministic property depends on whether the expression contains any nondeterministic elements, such as various system functions, user-defined functions, and global variables.
Whether a function is deterministic or nondeterministic depends on the function coding:
If the function calls nondeterministic functions, it may be non-deterministic itself.
If a function’s return value depends on factors other than input values, the function is probably nondeterministic.