Boolean equivalence checking is part of the digital design verification process, and may be done at multiple points in the design flow. Implementation tools make many changes to the netlist (clock tree insertion, timing optimizations such as cloning and buffering, etc., some of which are still manual) and require a separate check to insure functionality is not broken.