def __call__(
        self, two_qubit_gate: ops.Gate, symbols: Sequence[sympy.Symbol]
    ) -> tuple[ops.Gate, dict[str, Real]]:
        """Symbolizes a two qubit gate to a parameterized gate.

        Args:
            two_qubit_gate: The 2 qubit gate to be symbolized.
            symbols: A sequence of sympy symbols to use for parameterization.

        Returns:
            A tuple containing the parameterized gate and a dictionary mapping
            symbol names to their values.

        Raises:
            ValueError: If the provided symbols do not match the expected number.
        """
        if len(symbols) != self.n_symbols:
            raise ValueError(
                f"Expect {self.n_symbols} symbols, but got {len(symbols)} symbols in {symbols}"
            )
        return self.symbolizer_fn(two_qubit_gate, symbols)
Symbolizes a two qubit gate to a parameterized gate.

        Args:
            two_qubit_gate: The 2 qubit gate to be symbolized.
            symbols: A sequence of sympy symbols to use for parameterization.

        Returns:
            A tuple containing the parameterized gate and a dictionary mapping
            symbol names to their values.

        Raises:
            ValueError: If the provided symbols do not match the expected number.
        
cirq-core/cirq/transformers/gauge_compiling/gauge_compiling.py