pub fn decompose_fredkin( control: QubitId, target1: QubitId, target2: QubitId, ) -> Vec<Box<dyn GateOp>>
Decompose a Fredkin (CSWAP) gate