x = new AtomicInt
assert Equation(new ZZ from x, 0)
x = new AtomicInt from 1
assert Equation(new ZZ from x, 1)
store(x, 2)
assert Equation(new ZZ from x, 2)
assert Equation(x += 1, 2)
assert Equation(new ZZ from x, 3)
assert Equation(x -= 1, 3)
assert Equation(new ZZ from x, 2)
store(x, 0b1100)
assert Equation(x &= 0b1010, 0b1100)
assert Equation(new ZZ from x, 0b1000)
store(x, 0b1100)
assert Equation(x |= 0b1010, 0b1100)
assert Equation(new ZZ from x, 0b1110)
store(x, 0b1100)
assert Equation(x ^^= 0b1010, 0b1100)
assert Equation(new ZZ from x, 0b0110)
assert Equation(exchange(x, 5), 6)
assert Equation(new ZZ from x, 5)
assert not compareExchange(x, 7, 8)
assert Equation(new ZZ from x, 5)
assert compareExchange(x, 5, 9)
assert Equation(new ZZ from x, 9)
