Description
Environment information
- OS: Windows 10 x64
- C++ Compiler: clang 17.0.3
- MQT-Core: 3.0.3
- MQT-Syrec: Commit #3475265
Description
When attempting to synthesize the SyReC program:
module main(out output(2), out a(2), out b(2), out c(2))
output ^= (a ^ (b ^ c))
an index-out-of-range exception is thrown in SyrecSynthesis::checkRepeats()
when checking for overlapping qubit indices in the operands of the right-hand side expression of the assignment.
Expected behavior
The SyReC program should be synthesizable without errors.
How to Reproduce
- Perform a build from source of mqt.syrec
- Launch the syrec-editor python application and copy the SyReC circuit from the bug description into the code editor
- Select either the cost or line aware synthesis radio button and then press the 'Build' button