docs: def _two_qubit_accumulate_into_scratch(args: Dict[str, Any]):
      """Accumulates two qubit phase gates into the scratch shards."""
      index0, index1 = args['indices']
      half_turns = args['half_turns']
      scratch = _scratch_shard(args)
  
      projector = _one_projector(args, index0) * _one_projector(args, index1)
      # Exp11 = exp(-i pi |11><11| half_turns), but we accumulate phases as
      # pi / 2.
      scratch += 2 * half_turns * projector