NN = 433
# 10 qubits and tag the initial wavefunction tensors
circ = qtn.Circuit(N=NN, tags='PSI0')
# initial layer of hadamards
for i in range(NN):
circ.apply_gate('H', i, gate_round=0)
for r in range(1, 3):
# even pairs
for i in range(0, NN, 2):
circ.apply_gate('CNOT', i, i + 1, gate_round=r)
# even pairs
for i in range(0, NN, 16):
circ.apply_gate('CNOT', i, i + 1, gate_round=r)
# odd pairs
for i in range(1, NN-2, 2):
circ.apply_gate('CZ', i, i + 1, gate_round=r)
# final layer of hadamards
for i in range(NN):
circ.apply_gate('H', i, gate_round=r + 1)
circ