A Scalable Algorithm for RTL Insertion of Gated Clocks based on Observability Don't Cares Computation