code: def rem_or(self, start, end, instr, target=None, include_beyond_target=False):
          
          assert(start >= 0 and end <= len(self.code) and start <= end)
  
          # Find all offsets of requested instructions
          instr_offsets = self.inst_matches(start, end, instr, target,
                                            include_beyond_target)
          # Get all POP_JUMP_IF_TRUE (or) offsets
          if self.version == 3.0:
              jump_true_op = self.opc.JUMP_IF_TRUE
          else:
              jump_true_op = self.opc.POP_JUMP_IF_TRUE
          pjit_offsets = self.inst_matches(start, end, jump_true_op)
          filtered = []
          for pjit_offset in pjit_offsets:
              pjit_tgt = self.get_target(pjit_offset) - 3
              for instr_offset in instr_offsets:
                  if instr_offset <= pjit_offset or instr_offset >= pjit_tgt:
                      filtered.append(instr_offset)
              instr_offsets = filtered
              filtered = []
          return instr_offsets
docs: Find offsets of all requested <instr> between <start> and <end>,
          optionally <target>ing specified offset, and return list found
          <instr> offsets which are not within any POP_JUMP_IF_TRUE jumps.