Provable Determinism for Software in Cyber-Physical Systems