def p_gate_op_4(self, program):
program[<NUM_LIT:0>] = node.CustomUnitary([program[<NUM_LIT:1>], program[<NUM_LIT:3>], program[<NUM_LIT:5>]])<EOL>self.verify_as_gate(program[<NUM_LIT:1>], program[<NUM_LIT:5>], arglist=program[<NUM_LIT:3>])<EOL>self.verify_bit_list(program[<NUM_LIT:5>])<EOL>self.verify_exp_list(program[<NUM_LIT:3>])<EOL>self.verify_distinct([program[<NUM_LIT:5>]])<EOL>
gate_op : id '(' exp_list ')' id_list ';'