def METHOD_NAME(num_ancilla: int, theta: float):
    q = cirq.LineQubit(0)
    u = cirq.MatrixGate(cirq.testing.random_unitary(2))
    test_circuit = cirq.Circuit(
        u.on(q), PhaseUsingCleanAncilla(theta=theta, ancilla_bitsize=num_ancilla).on(q)
    )
    control_circuit = cirq.Circuit(u.on(q), cirq.ZPowGate(exponent=theta).on(q))
    assert_test_circuit_for_dm_simulator(test_circuit, control_circuit)
    assert_test_circuit_for_sv_simulator(test_circuit, control_circuit)