def METHOD_NAME(
    self,
    registerless: bool = True,
    synthesizer: Optional[Callable[["BooleanExpression"], QuantumCircuit]] = None,
):
    """Synthesis the logic network into a :class:`~qiskit.circuit.QuantumCircuit`.
    Args:
        registerless: Default ``True``. If ``False`` uses the parameter names
            to create registers with those names. Otherwise, creates a circuit with a flat
            quantum register.
        synthesizer: A callable that takes self and returns a Tweedledum
            circuit.
    Returns:
        QuantumCircuit: A circuit implementing the logic network.
    """
    if registerless:
        qregs = None
    else:
        qregs = None  # TODO: Probably from self._tweedledum_bool_expression._signature
    if synthesizer is None:
        from .utils import tweedledum2qiskit  # Avoid an import cycle
        from tweedledum.synthesis import pkrm_synth  # pylint: disable=import-error
        truth_table = self._tweedledum_bool_expression.truth_table(output_bit=0)
        return tweedledum2qiskit(pkrm_synth(truth_table), name=self.name, qregs=qregs)
    return synthesizer(self)