Initialize program state. Called by program.run() and .evolve()

def _initilize(self, state: State) -> State:
        """Initialize program state. Called by program.run() and .evolve()"""

        targets = {}
        for pc, instr in enumerate(self):
            if isinstance(instr, Label):
                targets[instr.target] = pc

        state = state.update({PC: 0,
                              TARGETS: targets,
                              NAMEDGATES: STDGATES.copy()})
        return state