Undefined Behaviour: Compiler's Licence to Delete Your Code

How undefined behaviour allows C compilers to silently remove safety checks, reorder operations, and optimise away code that appears correct