NB This algorithm is of order O(n4) in time. Large tables can take a very long time to normalise, and this can require a large quantity of memory.