Implementation [of conserved quantity test]

Whether a k-color cellular automaton with range r conserves total cell value can be determined from

Catch[Do[(If[Apply[Plus, CAStep[rule, #] - #] ≠ 0, Throw[False]] &)[IntegerDigits[i, k, m]], {m, w}, {i, 0, k^{m} - 1}]; True]

where w can be taken to be k^{2r}, and perhaps smaller. Among the 256 elementary cellular automata just 5 conserve total cell value. Among the 2^{32} k = 2, r = 2 rules 428 do, and of these 2 are symmetric, and 6 are reversible, and all these are just shift and identity rules.