A function that always produces the same output given the same input and produces no side effects is called a pure function. A pure function typically does not access a mutable global variable.