def METHOD_NAME(
    self, program: 'cirq.AbstractCircuit', params: cirq.Sweepable, repetitions: int = 1
) -> Sequence[cirq.Result]:
    results = self.simulator.METHOD_NAME(program, params, repetitions)
    for result in results:
        for bits in result.measurements.values():
            rand_num = self.prng.uniform(size=bits.shape)
            should_flip = np.logical_or(
                np.logical_and(bits == 0, rand_num < self.p0),
                np.logical_and(bits == 1, rand_num < self.p1),
            )
            bits[should_flip] ^= 1
    return results