Quantum Scheduler, Placer, and Router (QSPR) performs the scheduling and placement of quantum instructions, and routing of logical qubits. It finds the latency of a given QASM file when it is mapped to a given quantum circuit fabric.
QSPR
|-- build.xml -> Ant build file
|-- qspr.pdf -> QSPR paper published in DATE 2013
|-- sample_inputs
|-- *.qasm -> Circuit benchmarks
|-- fabric.ql -> Quantum fabric description
|-- src
|-- edu -> Java source code directory
|-- libs
|-- commons-cli-1.2.jar -> Appache Commons CLI library
|-- commons-lang3-3.1.jar -> Apache Commons Lang library
|-- javacc.jar -> Java Compiler Compiler (JavaCC)
|-- jar-in-jar-loader.zip -> Jar loader file taken from Eclipse
|-- jgrapht-core-0.9.0.jar -> JGraphT library
|-- qspr-prebuilt.jar -> Pre-built version of QSPR
`-- README -> This readme file.
- Ant 1.7 or higher or Eclipse 3.8 or higher
- Oracle Java 6-JDK or higher
Make sure that all the requirements are already installed. The following environmental variable should be set before the installation/running of the program.
JAVA_HOME
should point wherejava
andjavac
binary files are located.
Method 1: Run the following command in the root directory of the project to build QSPR:
ant
This command will clean the built files:
ant clean
Method 2: You may use Eclipse to import source files as explained next.
- Select
File->Import
. - Select
General->Existing Projects
intoWorkspace
and chooseNext
. - In the root directory, point to the location of Java source files.
- Select
Finish
. - Make sure
JavaCC
plugin is installed in Eclipse.
Note: We have included a pre-built version of QSPR called qspr-prebuilt.jar
. It is recommended to use it if you do not want to modify QSPR.
Run the following command to perform the scheduling and placement of quantum logical instructions, and routing of logical qubits.
java -jar qspr.jar
QSPR options are listed below:
usage: qspr [-d] [-f <file>] [-i <file>] [-o <file>] [-p <method>] [-s <#>] [-v]
QSPR maps a given QASM to a given PMD fabric. The resultant MCL file of the mapped circuit will be generated.
-d,--debug Print debugging info
-f,--fabric <file> Fabric specification
-i,--input <file> QASM input file
-o,--output <file> Quantum operation output file
-p,--placement <method> Select a placement technique from {MVFB, MC, Center, and Baseline}.
-s,--seed <#> Random seed count
-v,--verbose Verbosely prints the quantum operations
- The following command maps
circuit 7-1-3.qasm
to the fabricfabric.ql
. It writes the detailed MCL to a file calledoutput.txt
. Thebaseline
method will be used for placement.
java -jar qspr.jar -i sample_inputs/7-1-3.qasm -f sample_inputs/fabric.ql -o output.txt -p baseline -v
- The following command maps circuit
5-1-3.qasm
to the fabricfabric.ql
. It writes the detailed MCL to stdout. TheMVFB
method with seed 2 will be used for placement.
java -jar qspr.jar -i sample_inputs/5-1-3.qasm -f sample_inputs/fabric.ql -p mvfb -v -s 2
Example 1 output:
Layout parsing completed successfully!
QASM parsing completed successfully!
Scheduling is completed succesfully!
Done.
Content of output.txt
:
SimTime:10 1) h q0 2) h q1 3) h q2
SimTime:100 4) cnot q5, q3
SimTime:110 6) cnot q4, q2
SimTime:200 5) cnot q6, q3
SimTime:210 7) cnot q5, q2 10) cnot q4, q1
SimTime:310 8) cnot q6, q2 9) cnot q3, q1 14) cnot q5, q0
SimTime:410 11) cnot q6, q1 12) cnot q3, q0
SimTime:510 13) cnot q4, q0
------------------------------------
Execution latency: 510.0 us
QSPR runtime 74 ms
Example 2 output:
Layout parsing completed successfully!
QASM parsing completed successfully!
SimTime:10 'h q2' @(16,39) 'h q0' @(18,45) 'h q1' @(18,39) 'h q4' @(26,39)
SimTime:11 Move q2 (16,39)->(17,39) Move q3 (26,45)->(27,45)
SimTime:21 Turn q2 @(17,39) Turn q3 @(27,45)
SimTime:22 Move q2 (17,39)->(17,40) Move q3 (27,45)->(27,44)
SimTime:23 Move q2 (17,40)->(17,41) Move q3 (27,44)->(27,43)
SimTime:24 Move q2 (17,41)->(17,42)
SimTime:25 Move q2 (17,42)->(17,43)
SimTime:26 Move q2 (17,43)->(17,44)
SimTime:27 Move q2 (17,44)->(17,45)
SimTime:33 Turn q3 @(27,43)
SimTime:34 Move q3 (27,43)->(26,43)
SimTime:35 Move q3 (26,43)->(25,43)
SimTime:36 Move q3 (25,43)->(24,43)
SimTime:37 Turn q2 @(17,45) Move q3 (24,43)->(23,43)
SimTime:38 Move q2 (17,45)->(16,45) Move q3 (23,43)->(22,43)
SimTime:39 Move q3 (22,43)->(21,43)
SimTime:40 Move q3 (21,43)->(20,43)
SimTime:41 Move q3 (20,43)->(19,43)
SimTime:42 Move q3 (19,43)->(18,43)
SimTime:43 Move q3 (18,43)->(17,43)
SimTime:53 Turn q3 @(17,43)
SimTime:54 Move q3 (17,43)->(17,44)
SimTime:55 Move q3 (17,44)->(17,45)
SimTime:65 Turn q3 @(17,45)
SimTime:66 Move q3 (17,45)->(16,45)
SimTime:166 'cnot q3, q2' @(16,45)
SimTime:167 Move q4 (26,39)->(27,39) Move q2 (16,45)->(17,45)
SimTime:177 Turn q4 @(27,39) Turn q2 @(17,45)
SimTime:178 Move q4 (27,39)->(27,40) Move q2 (17,45)->(17,44)
SimTime:179 Move q4 (27,40)->(27,41) Move q2 (17,44)->(17,43)
SimTime:180 Move q2 (17,43)->(17,42)
SimTime:181 Move q2 (17,42)->(17,41)
SimTime:182 Move q2 (17,41)->(17,40)
SimTime:183 Move q2 (17,40)->(17,39)
SimTime:189 Turn q4 @(27,41)
SimTime:190 Move q4 (27,41)->(26,41)
SimTime:191 Move q4 (26,41)->(25,41)
SimTime:192 Move q4 (25,41)->(24,41)
SimTime:193 Turn q2 @(17,39) Move q4 (24,41)->(23,41)
SimTime:194 Move q2 (17,39)->(16,39) Move q4 (23,41)->(22,41)
SimTime:195 Move q4 (22,41)->(21,41) Move q3 (16,45)->(17,45)
SimTime:196 Move q4 (21,41)->(20,41)
SimTime:197 Move q4 (20,41)->(19,41)
SimTime:198 Move q4 (19,41)->(18,41)
SimTime:199 Move q4 (18,41)->(17,41)
SimTime:205 Turn q3 @(17,45)
SimTime:206 Move q3 (17,45)->(17,44)
SimTime:207 Move q3 (17,44)->(17,43)
SimTime:208 Move q3 (17,43)->(17,42)
SimTime:209 Turn q4 @(17,41) Move q3 (17,42)->(17,41)
SimTime:210 Move q4 (17,41)->(17,40) Move q3 (17,41)->(17,40)
SimTime:211
SimTime:221 Turn q4 @(17,39) Turn q3 @(17,39)
SimTime:222 Move q4 (17,39)->(16,39) Move q3 (17,39)->(18,39)
SimTime:322 'cnot q4, q2' @(16,39) 'cnot q3, q1' @(18,39)
SimTime:323 Move q2 (16,39)->(17,39) Move q1 (18,39)->(17,39)
SimTime:333 Turn q2 @(17,39) Turn q1 @(17,39)
SimTime:334
SimTime:335
SimTime:345 Turn q2 @(17,37) Turn q1 @(17,37)
SimTime:346 Move q2 (17,37)->(16,37) Move q1 (17,37)->(16,37)
SimTime:347 Move q0 (18,45)->(17,45) Move q3 (18,39)->(17,39)
SimTime:357 Turn q0 @(17,45) Turn q3 @(17,39)
SimTime:358 Move q0 (17,45)->(16,45) Move q3 (17,39)->(17,40)
SimTime:359 Move q3 (17,40)->(17,41)
SimTime:360 Move q3 (17,41)->(17,42)
SimTime:361 Move q3 (17,42)->(17,43)
SimTime:362 Move q3 (17,43)->(17,44)
SimTime:363 Move q3 (17,44)->(17,45)
SimTime:373 Turn q3 @(17,45)
SimTime:374 Move q3 (17,45)->(16,45)
SimTime:446 'cnot q2, q1' @(16,37)
SimTime:447 Move q1 (16,37)->(17,37)
SimTime:457 Turn q1 @(17,37)
SimTime:458 Move q1 (17,37)->(17,38)
SimTime:459 Move q1 (17,38)->(17,39)
SimTime:469 Turn q1 @(17,39)
SimTime:470 Move q1 (17,39)->(16,39)
SimTime:474 'cnot q3, q0' @(16,45)
SimTime:475 Move q2 (16,37)->(17,37) Move q0 (16,45)->(17,45)
SimTime:485 Turn q2 @(17,37) Turn q0 @(17,45)
SimTime:486 Move q2 (17,37)->(17,38) Move q0 (17,45)->(17,44)
SimTime:487 Move q2 (17,38)->(17,39) Move q0 (17,44)->(17,43)
SimTime:488 Move q0 (17,43)->(17,42)
SimTime:489 Move q0 (17,42)->(17,41)
SimTime:490 Move q0 (17,41)->(17,40)
SimTime:491
SimTime:497 Turn q2 @(17,39)
SimTime:498 Move q2 (17,39)->(18,39)
SimTime:501 Turn q0 @(17,39)
SimTime:502 Move q0 (17,39)->(18,39)
SimTime:570 'cnot q4, q1' @(16,39)
SimTime:602 'cnot q2, q0' @(18,39)
SimTime:603 Move q4 (16,39)->(17,39) Move q0 (18,39)->(17,39)
SimTime:613 Turn q4 @(17,39) Turn q0 @(17,39)
SimTime:614
SimTime:615
SimTime:625 Turn q4 @(17,37) Turn q0 @(17,37)
SimTime:626 Move q4 (17,37)->(16,37) Move q0 (17,37)->(16,37)
SimTime:726 'cnot q4, q0' @(16,37)
SimTime:1 Move q4 (16,37)->(17,37) Move q0 (16,37)->(17,37)
SimTime:11 Turn q4 @(17,37) Turn q0 @(17,37)
SimTime:12
SimTime:13
SimTime:23 Turn q4 @(17,35) Turn q0 @(17,35)
SimTime:24 Move q4 (17,35)->(16,35) Move q0 (17,35)->(16,35)
SimTime:124 'cnot q4, q0' @(16,35)
SimTime:125 Move q3 (16,45)->(17,45) Move q0 (16,35)->(17,35)
SimTime:135 Turn q3 @(17,45) Turn q0 @(17,35)
SimTime:136 Move q3 (17,45)->(17,44) Move q0 (17,35)->(17,36)
SimTime:137 Move q3 (17,44)->(17,43) Move q0 (17,36)->(17,37)
SimTime:138 Move q3 (17,43)->(17,42)
SimTime:139 Move q3 (17,42)->(17,41)
SimTime:140 Move q3 (17,41)->(17,40)
SimTime:141
SimTime:142
SimTime:143
SimTime:147 Turn q0 @(17,37)
SimTime:148 Move q0 (17,37)->(16,37)
SimTime:153 Turn q3 @(17,37)
SimTime:154 Move q3 (17,37)->(16,37)
SimTime:155 Move q4 (16,35)->(17,35) Move q1 (16,39)->(17,39)
SimTime:165 Turn q4 @(17,35) Turn q1 @(17,39)
SimTime:166
SimTime:167
SimTime:177 Turn q4 @(17,37) Turn q1 @(17,37)
SimTime:178 Move q4 (17,37)->(18,37) Move q1 (17,37)->(18,37)
SimTime:254 'cnot q3, q0' @(16,37)
SimTime:255 Move q2 (18,39)->(17,39) Move q0 (16,37)->(17,37)
SimTime:265 Turn q2 @(17,39) Turn q0 @(17,37)
SimTime:266 Move q2 (17,39)->(16,39) Move q0 (17,37)->(17,38)
SimTime:267 Move q0 (17,38)->(17,39)
SimTime:277 Turn q0 @(17,39)
SimTime:278 'cnot q4, q1' @(18,37) Move q0 (17,39)->(16,39)
SimTime:279 Move q1 (18,37)->(17,37)
SimTime:289 Turn q1 @(17,37)
SimTime:290 Move q1 (17,37)->(16,37)
SimTime:378 'cnot q2, q0' @(16,39)
SimTime:379 Move q0 (16,39)->(17,39)
SimTime:389 Turn q0 @(17,39)
SimTime:390 Move q0 (17,39)->(18,39) 'cnot q3, q1' @(16,37)
SimTime:391 Move q1 (16,37)->(17,37)
SimTime:400 'h q0' @(18,39)
SimTime:401 Turn q1 @(17,37)
SimTime:402 Move q1 (17,37)->(17,38)
SimTime:403 Move q1 (17,38)->(17,39)
SimTime:413 Turn q1 @(17,39)
SimTime:414 Move q1 (17,39)->(16,39)
SimTime:514 'cnot q2, q1' @(16,39)
SimTime:515 Move q2 (16,39)->(17,39) Move q1 (16,39)->(17,39)
SimTime:525 Turn q2 @(17,39) Turn q1 @(17,39)
SimTime:526
SimTime:527
SimTime:528
SimTime:529
SimTime:537 Turn q2 @(17,37)
SimTime:538 Move q2 (17,37)->(18,37)
SimTime:539 Turn q1 @(17,35)
SimTime:540 Move q1 (17,35)->(16,35)
SimTime:550 'h q1' @(16,35)
SimTime:638 'cnot q4, q2' @(18,37)
SimTime:639 Move q2 (18,37)->(17,37) Move q4 (18,37)->(17,37)
SimTime:649 Turn q2 @(17,37) Turn q4 @(17,37)
SimTime:650 Move q2 (17,37)->(16,37) Move q4 (17,37)->(17,36)
SimTime:651 Move q4 (17,36)->(17,35)
SimTime:661 Turn q4 @(17,35)
SimTime:662 Move q4 (17,35)->(18,35)
SimTime:672 'h q4' @(18,35)
SimTime:750 'cnot q3, q2' @(16,37)
SimTime:751 Move q2 (16,37)->(17,37)
SimTime:761 Turn q2 @(17,37)
SimTime:762 Move q2 (17,37)->(17,38)
SimTime:763 Move q2 (17,38)->(17,39)
SimTime:773 Turn q2 @(17,39)
SimTime:774 Move q2 (17,39)->(16,39)
SimTime:784 'h q2' @(16,39)
SimTime:10 'h q2' @(16,39) 'h q0' @(18,39) 'h q1' @(16,35) 'h q4' @(18,35)
SimTime:11 Move q2 (16,39)->(17,39) Move q3 (16,37)->(17,37)
SimTime:21 Turn q2 @(17,39) Turn q3 @(17,37)
SimTime:22 Move q3 (17,37)->(18,37)
SimTime:23 Move q2 (17,38)->(17,37)
SimTime:33 Turn q2 @(17,37)
SimTime:34 Move q2 (17,37)->(18,37)
SimTime:134 'cnot q3, q2' @(18,37)
SimTime:135 Move q4 (18,35)->(17,35) Move q2 (18,37)->(17,37)
SimTime:145 Turn q4 @(17,35) Turn q2 @(17,37)
SimTime:146 Move q2 (17,37)->(16,37)
SimTime:147 Move q4 (17,36)->(17,37)
SimTime:157 Turn q4 @(17,37)
SimTime:158 Move q4 (17,37)->(16,37)
SimTime:159 Move q3 (18,37)->(17,37) Move q1 (16,35)->(17,35)
SimTime:169 Turn q3 @(17,37) Turn q1 @(17,35)
SimTime:170 Move q1 (17,35)->(18,35)
SimTime:171 Move q3 (17,36)->(17,35)
SimTime:181 Turn q3 @(17,35)
SimTime:182 Move q3 (17,35)->(18,35)
SimTime:258 'cnot q4, q2' @(16,37)
SimTime:282 'cnot q3, q1' @(18,35)
SimTime:283 Move q2 (16,37)->(17,37) Move q1 (18,35)->(17,35)
SimTime:293 Turn q2 @(17,37) Turn q1 @(17,35)
SimTime:294 Move q1 (17,35)->(16,35)
SimTime:295 Move q2 (17,36)->(17,35)
SimTime:305 Turn q2 @(17,35)
SimTime:306 Move q2 (17,35)->(16,35)
SimTime:307 Move q3 (18,35)->(17,35) Move q0 (18,39)->(17,39)
SimTime:317 Turn q3 @(17,35) Turn q0 @(17,39)
SimTime:318
SimTime:319
SimTime:329 Turn q3 @(17,37) Turn q0 @(17,37)
SimTime:330 Move q3 (17,37)->(18,37) Move q0 (17,37)->(18,37)
SimTime:406 'cnot q2, q1' @(16,35)
SimTime:407 Move q1 (16,35)->(17,35)
SimTime:417 Turn q1 @(17,35)
SimTime:418 Move q1 (17,35)->(17,36)
SimTime:419 Move q1 (17,36)->(17,37)
SimTime:429 Turn q1 @(17,37)
SimTime:430 Move q1 (17,37)->(16,37) 'cnot q3, q0' @(18,37)
SimTime:431 Move q2 (16,35)->(17,35) Move q0 (18,37)->(17,37)
SimTime:441 Turn q2 @(17,35) Turn q0 @(17,37)
SimTime:442 Move q2 (17,35)->(18,35) Move q0 (17,37)->(17,36)
SimTime:443 Move q0 (17,36)->(17,35)
SimTime:453 Turn q0 @(17,35)
SimTime:454 Move q0 (17,35)->(18,35)
SimTime:530 'cnot q4, q1' @(16,37)
SimTime:554 'cnot q2, q0' @(18,35)
SimTime:555 Move q4 (16,37)->(17,37) Move q0 (18,35)->(17,35)
SimTime:565 Turn q4 @(17,37) Turn q0 @(17,35)
SimTime:566 Move q0 (17,35)->(16,35)
SimTime:567 Move q4 (17,36)->(17,35)
SimTime:577 Turn q4 @(17,35)
SimTime:578 Move q4 (17,35)->(16,35)
SimTime:678 'cnot q4, q0' @(16,35)
SimTime:1 Move q4 (16,35)->(17,35) Move q0 (16,35)->(17,35)
SimTime:11 Turn q4 @(17,35) Turn q0 @(17,35)
SimTime:12
SimTime:13
SimTime:14
SimTime:15
SimTime:25 Turn q4 @(17,39) Turn q0 @(17,39)
SimTime:26 Move q4 (17,39)->(16,39) Move q0 (17,39)->(16,39)
SimTime:126 'cnot q4, q0' @(16,39)
SimTime:127 Move q3 (18,37)->(17,37) Move q0 (16,39)->(17,39)
SimTime:137 Turn q3 @(17,37) Turn q0 @(17,39)
SimTime:138 Move q0 (17,39)->(18,39)
SimTime:139 Move q4 (16,39)->(17,39)
SimTime:149 Turn q4 @(17,39) Turn q3 @(17,39)
SimTime:150 Move q3 (17,39)->(18,39)
SimTime:151 Move q4 (17,38)->(17,37)
SimTime:161 Turn q4 @(17,37)
SimTime:162 Move q4 (17,37)->(16,37)
SimTime:250 'cnot q3, q0' @(18,39)
SimTime:251 Move q2 (18,35)->(17,35) Move q0 (18,39)->(17,39)
SimTime:261 Turn q2 @(17,35) Turn q0 @(17,39)
SimTime:262 'cnot q4, q1' @(16,37)
SimTime:263
SimTime:273 Turn q0 @(17,37) Turn q2 @(17,37)
SimTime:274 Move q0 (17,37)->(18,37) Move q2 (17,37)->(18,37)
SimTime:275 Move q3 (18,39)->(17,39) Move q1 (16,37)->(17,37)
SimTime:285 Turn q3 @(17,39) Turn q1 @(17,37)
SimTime:286 Move q3 (17,39)->(16,39) Move q1 (17,37)->(17,38)
SimTime:287 Move q1 (17,38)->(17,39)
SimTime:297 Turn q1 @(17,39)
SimTime:298 Move q1 (17,39)->(16,39)
SimTime:374 'cnot q2, q0' @(18,37)
SimTime:375 Move q0 (18,37)->(17,37)
SimTime:385 Turn q0 @(17,37)
SimTime:386 Move q0 (17,37)->(17,36)
SimTime:387 Move q0 (17,36)->(17,35)
SimTime:397 Turn q0 @(17,35)
SimTime:398 Move q0 (17,35)->(18,35) 'cnot q3, q1' @(16,39)
SimTime:399 Move q2 (18,37)->(17,37) Move q1 (16,39)->(17,39)
SimTime:408 'h q0' @(18,35)
SimTime:409 Turn q1 @(17,39) Turn q2 @(17,37)
SimTime:410 Move q1 (17,39)->(18,39) Move q2 (17,37)->(17,38)
SimTime:411 Move q2 (17,38)->(17,39)
SimTime:421 Turn q2 @(17,39)
SimTime:422 Move q2 (17,39)->(18,39)
SimTime:522 'cnot q2, q1' @(18,39)
SimTime:523 Move q4 (16,37)->(17,37) Move q2 (18,39)->(17,39)
SimTime:533 Turn q4 @(17,37) Turn q2 @(17,39)
SimTime:534 Move q4 (17,37)->(18,37) Move q2 (17,39)->(17,38)
SimTime:535 Move q2 (17,38)->(17,37)
SimTime:544 'h q1' @(18,39)
SimTime:545 Turn q2 @(17,37)
SimTime:546 Move q2 (17,37)->(18,37)
SimTime:646 'cnot q4, q2' @(18,37)
SimTime:647 Move q3 (16,39)->(17,39) Move q2 (18,37)->(17,37)
SimTime:657 Turn q3 @(17,39) Turn q2 @(17,37)
SimTime:658 Move q2 (17,37)->(16,37)
SimTime:659 Move q3 (17,38)->(17,37)
SimTime:668 'h q4' @(18,37)
SimTime:669 Turn q3 @(17,37)
SimTime:670 Move q3 (17,37)->(16,37)
SimTime:770 'cnot q3, q2' @(16,37)
SimTime:771 Move q2 (16,37)->(17,37)
SimTime:781 Turn q2 @(17,37)
SimTime:782 Move q2 (17,37)->(17,36)
SimTime:783 Move q2 (17,36)->(17,35)
SimTime:793 Turn q2 @(17,35)
SimTime:794 Move q2 (17,35)->(16,35)
SimTime:804 'h q2' @(16,35)
SimTime:10 'h q2' @(16,35) 'h q0' @(18,35) 'h q1' @(18,39) 'h q4' @(18,37)
SimTime:11 Move q3 (16,37)->(17,37)
SimTime:21 Turn q3 @(17,37)
SimTime:22 Move q3 (17,37)->(17,36)
SimTime:23 Move q3 (17,36)->(17,35)
SimTime:33 Turn q3 @(17,35)
SimTime:34 Move q3 (17,35)->(16,35)
SimTime:134 'cnot q3, q2' @(16,35)
SimTime:135 Move q4 (18,37)->(17,37) Move q2 (16,35)->(17,35)
SimTime:145 Turn q4 @(17,37) Turn q2 @(17,35)
SimTime:146 Move q4 (17,37)->(16,37) Move q2 (17,35)->(17,36)
SimTime:147 Move q2 (17,36)->(17,37)
SimTime:157 Turn q2 @(17,37)
SimTime:158 Move q2 (17,37)->(16,37)
SimTime:159 Move q3 (16,35)->(17,35) Move q1 (18,39)->(17,39)
SimTime:169 Turn q3 @(17,35) Turn q1 @(17,39)
SimTime:170
SimTime:171
SimTime:181 Turn q3 @(17,37) Turn q1 @(17,37)
SimTime:182 Move q3 (17,37)->(18,37) Move q1 (17,37)->(18,37)
SimTime:258 'cnot q4, q2' @(16,37)
SimTime:282 'cnot q3, q1' @(18,37)
SimTime:283 Move q2 (16,37)->(17,37) Move q1 (18,37)->(17,37)
SimTime:293 Turn q2 @(17,37) Turn q1 @(17,37)
SimTime:294
SimTime:295
SimTime:305 Turn q2 @(17,35) Turn q1 @(17,35)
SimTime:306 Move q2 (17,35)->(16,35) Move q1 (17,35)->(16,35)
SimTime:307 Move q3 (18,37)->(17,37)
SimTime:317 Turn q3 @(17,37)
SimTime:318 Move q3 (17,37)->(17,36)
SimTime:319 Move q3 (17,36)->(17,35)
SimTime:329 Turn q3 @(17,35)
SimTime:330 Move q3 (17,35)->(18,35)
SimTime:406 'cnot q2, q1' @(16,35)
SimTime:407 Move q1 (16,35)->(17,35)
SimTime:417 Turn q1 @(17,35)
SimTime:418 Move q1 (17,35)->(17,36)
SimTime:419 Move q1 (17,36)->(17,37)
SimTime:429 Turn q1 @(17,37)
SimTime:430 Move q1 (17,37)->(16,37) 'cnot q3, q0' @(18,35)
SimTime:431 Move q0 (18,35)->(17,35)
SimTime:441 Turn q0 @(17,35)
SimTime:442 Move q0 (17,35)->(16,35)
SimTime:530 'cnot q4, q1' @(16,37)
SimTime:542 'cnot q2, q0' @(16,35)
SimTime:543 Move q4 (16,37)->(17,37) Move q0 (16,35)->(17,35)
SimTime:553 Turn q4 @(17,37) Turn q0 @(17,35)
SimTime:554
SimTime:555
SimTime:556
SimTime:557
SimTime:565 Turn q4 @(17,39)
SimTime:566 Move q4 (17,39)->(16,39)
SimTime:567 Turn q0 @(17,39)
SimTime:568 Move q0 (17,39)->(16,39)
SimTime:668 'cnot q4, q0' @(16,39)
SimTime:1 Move q4 (16,39)->(17,39) Move q0 (16,39)->(17,39)
SimTime:11 Turn q4 @(17,39) Turn q0 @(17,39)
SimTime:12 Move q4 (17,39)->(18,39) Move q0 (17,39)->(18,39)
SimTime:112 'cnot q4, q0' @(18,39)
SimTime:113 Move q3 (18,35)->(17,35) Move q0 (18,39)->(17,39)
SimTime:123 Turn q3 @(17,35) Turn q0 @(17,39)
SimTime:124
SimTime:125
SimTime:135 Turn q3 @(17,37) Turn q0 @(17,37)
SimTime:136 Move q3 (17,37)->(18,37) Move q0 (17,37)->(18,37)
SimTime:137 Move q4 (18,39)->(17,39) Move q1 (16,37)->(17,37)
SimTime:147 Turn q4 @(17,39) Turn q1 @(17,37)
SimTime:148 Move q4 (17,39)->(16,39) Move q1 (17,37)->(17,38)
SimTime:149 Move q1 (17,38)->(17,39)
SimTime:159 Turn q1 @(17,39)
SimTime:160 Move q1 (17,39)->(16,39)
SimTime:236 'cnot q3, q0' @(18,37)
SimTime:237 Move q2 (16,35)->(17,35) Move q0 (18,37)->(17,37)
SimTime:247 Turn q2 @(17,35) Turn q0 @(17,37)
SimTime:248 Move q0 (17,37)->(16,37)
SimTime:249 Move q2 (17,36)->(17,37)
SimTime:259 Turn q2 @(17,37)
SimTime:260 'cnot q4, q1' @(16,39) Move q2 (17,37)->(16,37)
SimTime:261 Move q3 (18,37)->(17,37) Move q1 (16,39)->(17,39)
SimTime:271 Turn q3 @(17,37) Turn q1 @(17,39)
SimTime:272 Move q1 (17,39)->(18,39)
SimTime:273 Move q3 (17,38)->(17,39)
SimTime:283 Turn q3 @(17,39)
SimTime:284 Move q3 (17,39)->(18,39)
SimTime:360 'cnot q2, q0' @(16,37)
SimTime:361 Move q0 (16,37)->(17,37)
SimTime:371 Turn q0 @(17,37)
SimTime:372 Move q0 (17,37)->(17,36)
SimTime:373 Move q0 (17,36)->(17,35)
SimTime:383 Turn q0 @(17,35)
SimTime:384 Move q0 (17,35)->(16,35) 'cnot q3, q1' @(18,39)
SimTime:385 Move q2 (16,37)->(17,37) Move q1 (18,39)->(17,39)
SimTime:394 'h q0' @(16,35)
SimTime:395 Turn q1 @(17,39) Turn q2 @(17,37)
SimTime:396 Move q2 (17,37)->(18,37)
SimTime:397 Move q1 (17,38)->(17,37)
SimTime:407 Turn q1 @(17,37)
SimTime:408 Move q1 (17,37)->(18,37)
SimTime:508 'cnot q2, q1' @(18,37)
SimTime:509 Move q4 (16,39)->(17,39) Move q2 (18,37)->(17,37)
SimTime:519 Turn q4 @(17,39) Turn q2 @(17,37)
SimTime:520 Move q2 (17,37)->(16,37)
SimTime:521 Move q4 (17,38)->(17,37)
SimTime:530 'h q1' @(18,37)
SimTime:531 Turn q4 @(17,37)
SimTime:532 Move q4 (17,37)->(16,37)
SimTime:632 'cnot q4, q2' @(16,37)
SimTime:633 Move q3 (18,39)->(17,39) Move q2 (16,37)->(17,37)
SimTime:643 Turn q3 @(17,39) Turn q2 @(17,37)
SimTime:644 Move q3 (17,39)->(16,39) Move q2 (17,37)->(17,38)
SimTime:645 Move q2 (17,38)->(17,39)
SimTime:654 'h q4' @(16,37)
SimTime:655 Turn q2 @(17,39)
SimTime:656 Move q2 (17,39)->(16,39)
SimTime:756 'cnot q3, q2' @(16,39)
SimTime:757 Move q2 (16,39)->(17,39)
SimTime:767 Turn q2 @(17,39)
SimTime:768 Move q2 (17,39)->(18,39)
SimTime:778 'h q2' @(18,39)
SimTime:10 'h q2' @(18,39) 'h q0' @(16,35) 'h q1' @(18,37) 'h q4' @(16,37)
SimTime:11 Move q3 (16,39)->(17,39)
SimTime:21 Turn q3 @(17,39)
SimTime:22 Move q3 (17,39)->(18,39)
SimTime:122 'cnot q3, q2' @(18,39)
SimTime:123 Move q4 (16,37)->(17,37) Move q2 (18,39)->(17,39)
SimTime:133 Turn q4 @(17,37) Turn q2 @(17,39)
SimTime:134 Move q2 (17,39)->(16,39)
SimTime:135 Move q4 (17,38)->(17,39)
SimTime:145 Turn q4 @(17,39)
SimTime:146 Move q4 (17,39)->(16,39)
SimTime:147 Move q3 (18,39)->(17,39) Move q1 (18,37)->(17,37)
SimTime:157 Turn q3 @(17,39) Turn q1 @(17,37)
SimTime:158 Move q1 (17,37)->(16,37)
SimTime:159 Move q3 (17,38)->(17,37)
SimTime:169 Turn q3 @(17,37)
SimTime:170 Move q3 (17,37)->(16,37)
SimTime:246 'cnot q4, q2' @(16,39)
SimTime:270 'cnot q3, q1' @(16,37)
SimTime:271 Move q2 (16,39)->(17,39) Move q1 (16,37)->(17,37)
SimTime:281 Turn q2 @(17,39) Turn q1 @(17,37)
SimTime:282 Move q1 (17,37)->(18,37)
SimTime:283 Move q2 (17,38)->(17,37)
SimTime:293 Turn q2 @(17,37)
SimTime:294 Move q2 (17,37)->(18,37)
SimTime:295 Move q3 (16,37)->(17,37) Move q0 (16,35)->(17,35)
SimTime:305 Turn q3 @(17,37) Turn q0 @(17,35)
SimTime:306 Move q0 (17,35)->(18,35)
SimTime:307 Move q3 (17,36)->(17,35)
SimTime:317 Turn q3 @(17,35)
SimTime:318 Move q3 (17,35)->(18,35)
SimTime:394 'cnot q2, q1' @(18,37)
SimTime:395 Move q4 (16,39)->(17,39) Move q1 (18,37)->(17,37)
SimTime:405 Turn q4 @(17,39) Turn q1 @(17,37)
SimTime:406 Move q1 (17,37)->(16,37)
SimTime:407 Move q4 (17,38)->(17,37)
SimTime:417 Turn q4 @(17,37)
SimTime:418 Move q4 (17,37)->(16,37) 'cnot q3, q0' @(18,35)
SimTime:419 Move q2 (18,37)->(17,37) Move q0 (18,35)->(17,35)
SimTime:429 Turn q2 @(17,37) Turn q0 @(17,35)
SimTime:430 Move q0 (17,35)->(16,35)
SimTime:431 Move q2 (17,36)->(17,35)
SimTime:441 Turn q2 @(17,35)
SimTime:442 Move q2 (17,35)->(16,35)
SimTime:518 'cnot q4, q1' @(16,37)
SimTime:542 'cnot q2, q0' @(16,35)
SimTime:543 Move q4 (16,37)->(17,37) Move q0 (16,35)->(17,35)
SimTime:553 Turn q4 @(17,37) Turn q0 @(17,35)
SimTime:554
SimTime:555
SimTime:556
SimTime:557
SimTime:565 Turn q4 @(17,39)
SimTime:566 Move q4 (17,39)->(16,39)
SimTime:567 Turn q0 @(17,39)
SimTime:568 Move q0 (17,39)->(16,39)
SimTime:668 'cnot q4, q0' @(16,39)
SimTime:1 Move q4 (16,39)->(17,39) Move q0 (16,39)->(17,39)
SimTime:11 Turn q4 @(17,39) Turn q0 @(17,39)
SimTime:12 Move q4 (17,39)->(18,39) Move q0 (17,39)->(18,39)
SimTime:112 'cnot q4, q0' @(18,39)
SimTime:113 Move q3 (18,35)->(17,35) Move q0 (18,39)->(17,39)
SimTime:123 Turn q3 @(17,35) Turn q0 @(17,39)
SimTime:124
SimTime:125
SimTime:135 Turn q3 @(17,37) Turn q0 @(17,37)
SimTime:136 Move q3 (17,37)->(18,37) Move q0 (17,37)->(18,37)
SimTime:137 Move q4 (18,39)->(17,39) Move q1 (16,37)->(17,37)
SimTime:147 Turn q4 @(17,39) Turn q1 @(17,37)
SimTime:148 Move q4 (17,39)->(16,39) Move q1 (17,37)->(17,38)
SimTime:149 Move q1 (17,38)->(17,39)
SimTime:159 Turn q1 @(17,39)
SimTime:160 Move q1 (17,39)->(16,39)
SimTime:236 'cnot q3, q0' @(18,37)
SimTime:237 Move q2 (16,35)->(17,35) Move q0 (18,37)->(17,37)
SimTime:247 Turn q2 @(17,35) Turn q0 @(17,37)
SimTime:248 Move q0 (17,37)->(16,37)
SimTime:249 Move q2 (17,36)->(17,37)
SimTime:259 Turn q2 @(17,37)
SimTime:260 'cnot q4, q1' @(16,39) Move q2 (17,37)->(16,37)
SimTime:261 Move q3 (18,37)->(17,37) Move q1 (16,39)->(17,39)
SimTime:271 Turn q3 @(17,37) Turn q1 @(17,39)
SimTime:272 Move q1 (17,39)->(18,39)
SimTime:273 Move q3 (17,38)->(17,39)
SimTime:283 Turn q3 @(17,39)
SimTime:284 Move q3 (17,39)->(18,39)
SimTime:360 'cnot q2, q0' @(16,37)
SimTime:361 Move q0 (16,37)->(17,37)
SimTime:371 Turn q0 @(17,37)
SimTime:372 Move q0 (17,37)->(17,36)
SimTime:373 Move q0 (17,36)->(17,35)
SimTime:383 Turn q0 @(17,35)
SimTime:384 Move q0 (17,35)->(16,35) 'cnot q3, q1' @(18,39)
SimTime:385 Move q2 (16,37)->(17,37) Move q1 (18,39)->(17,39)
SimTime:394 'h q0' @(16,35)
SimTime:395 Turn q1 @(17,39) Turn q2 @(17,37)
SimTime:396 Move q2 (17,37)->(18,37)
SimTime:397 Move q1 (17,38)->(17,37)
SimTime:407 Turn q1 @(17,37)
SimTime:408 Move q1 (17,37)->(18,37)
SimTime:508 'cnot q2, q1' @(18,37)
SimTime:509 Move q4 (16,39)->(17,39) Move q2 (18,37)->(17,37)
SimTime:519 Turn q4 @(17,39) Turn q2 @(17,37)
SimTime:520 Move q2 (17,37)->(16,37)
SimTime:521 Move q4 (17,38)->(17,37)
SimTime:530 'h q1' @(18,37)
SimTime:531 Turn q4 @(17,37)
SimTime:532 Move q4 (17,37)->(16,37)
SimTime:632 'cnot q4, q2' @(16,37)
SimTime:633 Move q3 (18,39)->(17,39) Move q2 (16,37)->(17,37)
SimTime:643 Turn q3 @(17,39) Turn q2 @(17,37)
SimTime:644 Move q3 (17,39)->(16,39) Move q2 (17,37)->(17,38)
SimTime:645 Move q2 (17,38)->(17,39)
SimTime:654 'h q4' @(16,37)
SimTime:655 Turn q2 @(17,39)
SimTime:656 Move q2 (17,39)->(16,39)
SimTime:756 'cnot q3, q2' @(16,39)
SimTime:757 Move q2 (16,39)->(17,39)
SimTime:767 Turn q2 @(17,39)
SimTime:768 Move q2 (17,39)->(18,39)
SimTime:778 'h q2' @(18,39)
SimTime:10 'h q2' @(18,45) 'h q0' @(26,45) 'h q1' @(16,39) 'h q4' @(18,39)
SimTime:11 Move q2 (18,45)->(17,45) Move q3 (26,39)->(27,39)
SimTime:21 Turn q2 @(17,45) Turn q3 @(27,39)
SimTime:22 Move q2 (17,45)->(16,45) Move q3 (27,39)->(27,40)
SimTime:23 Move q3 (27,40)->(27,41)
SimTime:24 Move q3 (27,41)->(27,42)
SimTime:25 Move q3 (27,42)->(27,43)
SimTime:35 Turn q3 @(27,43)
SimTime:36 Move q3 (27,43)->(26,43)
SimTime:37 Move q3 (26,43)->(25,43)
SimTime:38 Move q3 (25,43)->(24,43)
SimTime:39 Move q3 (24,43)->(23,43)
SimTime:40 Move q3 (23,43)->(22,43)
SimTime:41 Move q3 (22,43)->(21,43)
SimTime:42 Move q3 (21,43)->(20,43)
SimTime:43 Move q3 (20,43)->(19,43)
SimTime:44 Move q3 (19,43)->(18,43)
SimTime:45 Move q3 (18,43)->(17,43)
SimTime:55 Turn q3 @(17,43)
SimTime:56 Move q3 (17,43)->(17,44)
SimTime:57 Move q3 (17,44)->(17,45)
SimTime:67 Turn q3 @(17,45)
SimTime:68 Move q3 (17,45)->(16,45)
SimTime:168 'cnot q3, q2' @(16,45)
SimTime:169 Move q4 (18,39)->(17,39) Move q2 (16,45)->(17,45)
SimTime:179 Turn q4 @(17,39) Turn q2 @(17,45)
SimTime:180 Move q4 (17,39)->(17,40) Move q2 (17,45)->(18,45)
SimTime:181 Move q4 (17,40)->(17,41) Move q3 (16,45)->(17,45)
SimTime:182 Move q4 (17,41)->(17,42)
SimTime:183 Move q4 (17,42)->(17,43)
SimTime:184 Move q4 (17,43)->(17,44)
SimTime:185
SimTime:191 Turn q3 @(17,45)
SimTime:192
SimTime:193 Move q3 (17,44)->(17,43)
SimTime:194 Move q3 (17,43)->(17,42)
SimTime:195 Turn q4 @(17,45) Move q3 (17,42)->(17,41)
SimTime:196 Move q4 (17,45)->(18,45) Move q3 (17,41)->(17,40)
SimTime:197 Move q3 (17,40)->(17,39)
SimTime:207 Turn q3 @(17,39)
SimTime:208 Move q3 (17,39)->(16,39)
SimTime:296 'cnot q4, q2' @(18,45)
SimTime:308 'cnot q3, q1' @(16,39)
SimTime:309 Move q2 (18,45)->(17,45) Move q1 (16,39)->(17,39)
SimTime:319 Turn q2 @(17,45) Turn q1 @(17,39)
SimTime:320 Move q2 (17,45)->(16,45) Move q1 (17,39)->(17,40)
SimTime:321 Move q1 (17,40)->(17,41)
SimTime:322 Move q1 (17,41)->(17,42) Move q3 (16,39)->(17,39) Move q0 (26,45)->(27,45)
SimTime:323 Move q1 (17,42)->(17,43)
SimTime:324 Move q1 (17,43)->(17,44)
SimTime:325 Move q1 (17,44)->(17,45)
SimTime:332 Turn q0 @(27,45) Turn q3 @(17,39)
SimTime:333 Move q0 (27,45)->(27,44) Move q3 (17,39)->(18,39)
SimTime:334 Move q0 (27,44)->(27,43)
SimTime:335 Turn q1 @(17,45) Move q0 (27,43)->(27,42)
SimTime:336 Move q1 (17,45)->(16,45) Move q0 (27,42)->(27,41)
SimTime:346 Turn q0 @(27,41)
SimTime:347 Move q0 (27,41)->(26,41)
SimTime:348 Move q0 (26,41)->(25,41)
SimTime:349 Move q0 (25,41)->(24,41)
SimTime:350 Move q0 (24,41)->(23,41)
SimTime:351 Move q0 (23,41)->(22,41)
SimTime:352 Move q0 (22,41)->(21,41)
SimTime:353 Move q0 (21,41)->(20,41)
SimTime:354 Move q0 (20,41)->(19,41)
SimTime:355 Move q0 (19,41)->(18,41)
SimTime:356 Move q0 (18,41)->(17,41)
SimTime:366 Turn q0 @(17,41)
SimTime:367 Move q0 (17,41)->(17,40)
SimTime:368 Move q0 (17,40)->(17,39)
SimTime:378 Turn q0 @(17,39)
SimTime:379 Move q0 (17,39)->(18,39)
SimTime:436 'cnot q2, q1' @(16,45)
SimTime:437 Move q1 (16,45)->(17,45)
SimTime:447 Turn q1 @(17,45)
SimTime:448 Move q1 (17,45)->(18,45)
SimTime:479 'cnot q3, q0' @(18,39)
SimTime:480 Move q2 (16,45)->(17,45) Move q0 (18,39)->(17,39)
SimTime:490 Turn q2 @(17,45) Turn q0 @(17,39)
SimTime:491 Move q2 (17,45)->(17,44) Move q0 (17,39)->(16,39)
SimTime:492 Move q2 (17,44)->(17,43)
SimTime:493 Move q2 (17,43)->(17,42)
SimTime:494 Move q2 (17,42)->(17,41)
SimTime:495 Move q2 (17,41)->(17,40)
SimTime:496 Move q2 (17,40)->(17,39)
SimTime:506 Turn q2 @(17,39)
SimTime:507 Move q2 (17,39)->(16,39)
SimTime:548 'cnot q4, q1' @(18,45)
SimTime:607 'cnot q2, q0' @(16,39)
SimTime:608 Move q4 (18,45)->(17,45) Move q0 (16,39)->(17,39)
SimTime:618 Turn q4 @(17,45) Turn q0 @(17,39)
SimTime:619 Move q4 (17,45)->(16,45) Move q0 (17,39)->(17,40)
SimTime:620 Move q0 (17,40)->(17,41)
SimTime:621 Move q0 (17,41)->(17,42)
SimTime:622 Move q0 (17,42)->(17,43)
SimTime:623 Move q0 (17,43)->(17,44)
SimTime:624 Move q0 (17,44)->(17,45)
SimTime:634 Turn q0 @(17,45)
SimTime:635 Move q0 (17,45)->(16,45)
SimTime:735 'cnot q4, q0' @(16,45)
SimTime:1 Move q4 (16,45)->(17,45) Move q0 (16,45)->(17,45)
SimTime:11 Turn q4 @(17,45) Turn q0 @(17,45)
SimTime:12
SimTime:13
SimTime:23 Turn q4 @(17,47) Turn q0 @(17,47)
SimTime:24 Move q4 (17,47)->(16,47) Move q0 (17,47)->(16,47)
SimTime:124 'cnot q4, q0' @(16,47)
SimTime:125 Move q3 (18,39)->(17,39) Move q0 (16,47)->(17,47)
SimTime:135 Turn q3 @(17,39) Turn q0 @(17,47)
SimTime:136 Move q3 (17,39)->(17,40) Move q0 (17,47)->(17,46)
SimTime:137 Move q3 (17,40)->(17,41) Move q0 (17,46)->(17,45)
SimTime:138 Move q3 (17,41)->(17,42)
SimTime:139 Move q3 (17,42)->(17,43)
SimTime:140 Move q3 (17,43)->(17,44)
SimTime:141
SimTime:147 Turn q0 @(17,45)
SimTime:148 Move q0 (17,45)->(16,45)
SimTime:151 Turn q3 @(17,45)
SimTime:152 Move q3 (17,45)->(16,45)
SimTime:153 Move q4 (16,47)->(17,47) Move q1 (18,45)->(17,45)
SimTime:163 Turn q4 @(17,47) Turn q1 @(17,45)
SimTime:164 Move q4 (17,47)->(18,47) Move q1 (17,45)->(17,46)
SimTime:165 Move q1 (17,46)->(17,47)
SimTime:175 Turn q1 @(17,47)
SimTime:176 Move q1 (17,47)->(18,47)
SimTime:252 'cnot q3, q0' @(16,45)
SimTime:253 Move q0 (16,45)->(17,45)
SimTime:263 Turn q0 @(17,45)
SimTime:264 Move q0 (17,45)->(17,44)
SimTime:265 Move q0 (17,44)->(17,43)
SimTime:266 Move q0 (17,43)->(17,42)
SimTime:267 Move q0 (17,42)->(17,41)
SimTime:268 Move q0 (17,41)->(17,40)
SimTime:269 Move q0 (17,40)->(17,39)
SimTime:276 'cnot q4, q1' @(18,47)
SimTime:277 Move q3 (16,45)->(17,45) Move q1 (18,47)->(17,47)
SimTime:279 Turn q0 @(17,39)
SimTime:280 Move q0 (17,39)->(16,39)
SimTime:287 Turn q1 @(17,47) Turn q3 @(17,45)
SimTime:288 Move q1 (17,47)->(16,47) Move q3 (17,45)->(17,46)
SimTime:289 Move q3 (17,46)->(17,47)
SimTime:299 Turn q3 @(17,47)
SimTime:300 Move q3 (17,47)->(16,47)
SimTime:380 'cnot q2, q0' @(16,39)
SimTime:381 Move q0 (16,39)->(17,39)
SimTime:391 Turn q0 @(17,39)
SimTime:392 Move q0 (17,39)->(17,38)
SimTime:393 Move q0 (17,38)->(17,37)
SimTime:400 'cnot q3, q1' @(16,47)
SimTime:401 Move q2 (16,39)->(17,39) Move q1 (16,47)->(17,47)
SimTime:403 Turn q0 @(17,37)
SimTime:404 Move q0 (17,37)->(16,37)
SimTime:411 Turn q1 @(17,47) Turn q2 @(17,39)
SimTime:412 Move q1 (17,47)->(17,46) Move q2 (17,39)->(17,40)
SimTime:413 Move q1 (17,46)->(17,45) Move q2 (17,40)->(17,41)
SimTime:414 Move q2 (17,41)->(17,42) 'h q0' @(16,37)
SimTime:415 Move q2 (17,42)->(17,43)
SimTime:416 Move q2 (17,43)->(17,44)
SimTime:417
SimTime:423 Turn q1 @(17,45)
SimTime:424 Move q1 (17,45)->(16,45)
SimTime:427 Turn q2 @(17,45)
SimTime:428 Move q2 (17,45)->(16,45)
SimTime:528 'cnot q2, q1' @(16,45)
SimTime:529 Move q4 (18,47)->(17,47) Move q2 (16,45)->(17,45)
SimTime:539 Turn q4 @(17,47) Turn q2 @(17,45)
SimTime:540 Move q2 (17,45)->(18,45)
SimTime:541 Move q4 (17,46)->(17,45)
SimTime:550 'h q1' @(16,45)
SimTime:551 Turn q4 @(17,45)
SimTime:552 Move q4 (17,45)->(18,45)
SimTime:652 'cnot q4, q2' @(18,45)
SimTime:653 Move q3 (16,47)->(17,47) Move q2 (18,45)->(17,45)
SimTime:663 Turn q3 @(17,47) Turn q2 @(17,45)
SimTime:664 Move q3 (17,47)->(18,47) Move q2 (17,45)->(17,46)
SimTime:665 Move q2 (17,46)->(17,47)
SimTime:674 'h q4' @(18,45)
SimTime:675 Turn q2 @(17,47)
SimTime:676 Move q2 (17,47)->(18,47)
SimTime:776 'cnot q3, q2' @(18,47)
SimTime:777 Move q2 (18,47)->(17,47)
SimTime:787 Turn q2 @(17,47)
SimTime:788 Move q2 (17,47)->(16,47)
SimTime:798 'h q2' @(16,47)
SimTime:10 'h q2' @(16,47) 'h q0' @(16,37) 'h q1' @(16,45) 'h q4' @(18,45)
SimTime:11 Move q3 (18,47)->(17,47)
SimTime:21 Turn q3 @(17,47)
SimTime:22 Move q3 (17,47)->(16,47)
SimTime:122 'cnot q3, q2' @(16,47)
SimTime:123 Move q4 (18,45)->(17,45) Move q2 (16,47)->(17,47)
SimTime:133 Turn q4 @(17,45) Turn q2 @(17,47)
SimTime:134 Move q2 (17,47)->(18,47)
SimTime:135 Move q4 (17,46)->(17,47) Move q3 (16,47)->(17,47)
SimTime:145 Turn q4 @(17,47) Turn q3 @(17,47)
SimTime:146 Move q4 (17,47)->(18,47) Move q3 (17,47)->(17,46)
SimTime:147 Move q3 (17,46)->(17,45)
SimTime:157 Turn q3 @(17,45)
SimTime:158 Move q3 (17,45)->(16,45)
SimTime:246 'cnot q4, q2' @(18,47)
SimTime:258 'cnot q3, q1' @(16,45)
SimTime:259 Move q2 (18,47)->(17,47) Move q1 (16,45)->(17,45)
SimTime:269 Turn q2 @(17,47) Turn q1 @(17,45)
SimTime:270 Move q2 (17,47)->(16,47) Move q1 (17,45)->(17,46)
SimTime:271 Move q1 (17,46)->(17,47) Move q0 (16,37)->(17,37) Move q3 (16,45)->(17,45)
SimTime:281 Turn q1 @(17,47) Turn q3 @(17,45) Turn q0 @(17,37)
SimTime:282 Move q1 (17,47)->(16,47) Move q0 (17,37)->(17,38) Move q3 (17,45)->(17,44)
SimTime:283 Move q0 (17,38)->(17,39) Move q3 (17,44)->(17,43)
SimTime:284 Move q3 (17,43)->(17,42)
SimTime:285 Move q3 (17,42)->(17,41)
SimTime:286 Move q3 (17,41)->(17,40)
SimTime:287
SimTime:293 Turn q0 @(17,39)
SimTime:294 Move q0 (17,39)->(16,39)
SimTime:297 Turn q3 @(17,39)
SimTime:298 Move q3 (17,39)->(16,39)
SimTime:382 'cnot q2, q1' @(16,47)
SimTime:383 Move q1 (16,47)->(17,47)
SimTime:393 Turn q1 @(17,47)
SimTime:394 Move q1 (17,47)->(18,47)
SimTime:398 'cnot q3, q0' @(16,39)
SimTime:399 Move q2 (16,47)->(17,47) Move q0 (16,39)->(17,39)
SimTime:409 Turn q2 @(17,47) Turn q0 @(17,39)
SimTime:410 Move q2 (17,47)->(17,46) Move q0 (17,39)->(17,40)
SimTime:411 Move q2 (17,46)->(17,45) Move q0 (17,40)->(17,41)
SimTime:412 Move q0 (17,41)->(17,42)
SimTime:413 Move q0 (17,42)->(17,43)
SimTime:414 Move q0 (17,43)->(17,44)
SimTime:415
SimTime:421 Turn q2 @(17,45)
SimTime:422 Move q2 (17,45)->(16,45)
SimTime:425 Turn q0 @(17,45)
SimTime:426 Move q0 (17,45)->(16,45)
SimTime:494 'cnot q4, q1' @(18,47)
SimTime:526 'cnot q2, q0' @(16,45)
SimTime:527 Move q4 (18,47)->(17,47) Move q0 (16,45)->(17,45)
SimTime:537 Turn q4 @(17,47) Turn q0 @(17,45)
SimTime:538 Move q4 (17,47)->(16,47) Move q0 (17,45)->(17,46)
SimTime:539 Move q0 (17,46)->(17,47)
SimTime:549 Turn q0 @(17,47)
SimTime:550 Move q0 (17,47)->(16,47)
SimTime:650 'cnot q4, q0' @(16,47)
SimTime:1 Move q4 (16,47)->(17,47) Move q0 (16,47)->(17,47)
SimTime:11 Turn q4 @(17,47) Turn q0 @(17,47)
SimTime:12
SimTime:13
SimTime:23 Turn q4 @(17,49) Turn q0 @(17,49)
SimTime:24 Move q4 (17,49)->(16,49) Move q0 (17,49)->(16,49)
SimTime:124 'cnot q4, q0' @(16,49)
SimTime:125 Move q3 (16,39)->(17,39) Move q0 (16,49)->(17,49)
SimTime:135 Turn q3 @(17,39) Turn q0 @(17,49)
SimTime:136 Move q3 (17,39)->(17,40) Move q0 (17,49)->(17,48)
SimTime:137 Move q3 (17,40)->(17,41) Move q0 (17,48)->(17,47)
SimTime:138 Move q3 (17,41)->(17,42)
SimTime:139 Move q3 (17,42)->(17,43)
SimTime:140 Move q3 (17,43)->(17,44)
SimTime:141
SimTime:142
SimTime:143
SimTime:147 Turn q0 @(17,47)
SimTime:148 Move q0 (17,47)->(16,47)
SimTime:153 Turn q3 @(17,47)
SimTime:154 Move q3 (17,47)->(16,47)
SimTime:155 Move q4 (16,49)->(17,49) Move q1 (18,47)->(17,47)
SimTime:165 Turn q4 @(17,49) Turn q1 @(17,47)
SimTime:166 Move q4 (17,49)->(18,49) Move q1 (17,47)->(17,48)
SimTime:167 Move q1 (17,48)->(17,49)
SimTime:177 Turn q1 @(17,49)
SimTime:178 Move q1 (17,49)->(18,49)
SimTime:254 'cnot q3, q0' @(16,47)
SimTime:255 Move q0 (16,47)->(17,47)
SimTime:265 Turn q0 @(17,47)
SimTime:266 Move q0 (17,47)->(17,46)
SimTime:267 Move q0 (17,46)->(17,45)
SimTime:277 Turn q0 @(17,45)
SimTime:278 'cnot q4, q1' @(18,49) Move q0 (17,45)->(16,45)
SimTime:279 Move q3 (16,47)->(17,47) Move q1 (18,49)->(17,49)
SimTime:289 Turn q3 @(17,47) Turn q1 @(17,49)
SimTime:290 Move q1 (17,49)->(16,49)
SimTime:291 Move q3 (17,48)->(17,49)
SimTime:301 Turn q3 @(17,49)
SimTime:302 Move q3 (17,49)->(16,49)
SimTime:378 'cnot q2, q0' @(16,45)
SimTime:379 Move q0 (16,45)->(17,45)
SimTime:389 Turn q0 @(17,45)
SimTime:390 Move q0 (17,45)->(17,46)
SimTime:391 Move q0 (17,46)->(17,47)
SimTime:401 Turn q0 @(17,47)
SimTime:402 Move q0 (17,47)->(16,47) 'cnot q3, q1' @(16,49)
SimTime:403 Move q2 (16,45)->(17,45) Move q1 (16,49)->(17,49)
SimTime:412 'h q0' @(16,47)
SimTime:413 Turn q1 @(17,49) Turn q2 @(17,45)
SimTime:414
SimTime:415
SimTime:425 Turn q1 @(17,47) Turn q2 @(17,47)
SimTime:426 Move q1 (17,47)->(18,47) Move q2 (17,47)->(18,47)
SimTime:526 'cnot q2, q1' @(18,47)
SimTime:527 Move q2 (18,47)->(17,47) Move q1 (18,47)->(17,47)
SimTime:537 Turn q2 @(17,47) Turn q1 @(17,47)
SimTime:538
SimTime:539
SimTime:549 Turn q2 @(17,49) Turn q1 @(17,45)
SimTime:550 Move q2 (17,49)->(18,49) Move q1 (17,45)->(18,45)
SimTime:560 'h q1' @(18,45)
SimTime:650 'cnot q4, q2' @(18,49)
SimTime:651 Move q2 (18,49)->(17,49) Move q4 (18,49)->(17,49)
SimTime:661 Turn q2 @(17,49) Turn q4 @(17,49)
SimTime:662 Move q2 (17,49)->(16,49) Move q4 (17,49)->(17,48)
SimTime:663 Move q4 (17,48)->(17,47)
SimTime:673 Turn q4 @(17,47)
SimTime:674 Move q4 (17,47)->(18,47)
SimTime:684 'h q4' @(18,47)
SimTime:762 'cnot q3, q2' @(16,49)
SimTime:763 Move q2 (16,49)->(17,49)
SimTime:773 Turn q2 @(17,49)
SimTime:774 Move q2 (17,49)->(18,49)
SimTime:784 'h q2' @(18,49)
SimTime:10 'h q2' @(18,49) 'h q0' @(16,47) 'h q1' @(18,45) 'h q4' @(18,47)
SimTime:11 Move q3 (16,49)->(17,49)
SimTime:21 Turn q3 @(17,49)
SimTime:22 Move q3 (17,49)->(18,49)
SimTime:122 'cnot q3, q2' @(18,49)
SimTime:123 Move q4 (18,47)->(17,47) Move q2 (18,49)->(17,49)
SimTime:133 Turn q4 @(17,47) Turn q2 @(17,49)
SimTime:134 Move q2 (17,49)->(16,49)
SimTime:135 Move q4 (17,48)->(17,49)
SimTime:145 Turn q4 @(17,49)
SimTime:146 Move q4 (17,49)->(16,49)
SimTime:147 Move q3 (18,49)->(17,49) Move q1 (18,45)->(17,45)
SimTime:157 Turn q3 @(17,49) Turn q1 @(17,45)
SimTime:158
SimTime:159
SimTime:169 Turn q3 @(17,47) Turn q1 @(17,47)
SimTime:170 Move q3 (17,47)->(18,47) Move q1 (17,47)->(18,47)
SimTime:246 'cnot q4, q2' @(16,49)
SimTime:270 'cnot q3, q1' @(18,47)
SimTime:271 Move q2 (16,49)->(17,49) Move q1 (18,47)->(17,47)
SimTime:281 Turn q2 @(17,49) Turn q1 @(17,47)
SimTime:282 Move q2 (17,49)->(18,49) Move q1 (17,47)->(17,48)
SimTime:283 Move q1 (17,48)->(17,49) Move q3 (18,47)->(17,47)
SimTime:293 Turn q1 @(17,49) Turn q3 @(17,47)
SimTime:294 Move q1 (17,49)->(18,49) Move q3 (17,47)->(16,47)
SimTime:394 'cnot q2, q1' @(18,49) 'cnot q3, q0' @(16,47)
SimTime:395 Move q1 (18,49)->(17,49)
SimTime:405 Turn q1 @(17,49)
SimTime:406 Move q1 (17,49)->(16,49)
SimTime:407 Move q2 (18,49)->(17,49) Move q0 (16,47)->(17,47)
SimTime:417 Turn q2 @(17,49) Turn q0 @(17,47)
SimTime:418 Move q0 (17,47)->(18,47)
SimTime:419 Move q2 (17,48)->(17,47)
SimTime:429 Turn q2 @(17,47)
SimTime:430 Move q2 (17,47)->(18,47)
SimTime:506 'cnot q4, q1' @(16,49)
SimTime:530 'cnot q2, q0' @(18,47)
SimTime:531 Move q4 (16,49)->(17,49) Move q0 (18,47)->(17,47)
SimTime:541 Turn q4 @(17,49) Turn q0 @(17,47)
SimTime:542 Move q4 (17,49)->(18,49) Move q0 (17,47)->(17,48)
SimTime:543 Move q0 (17,48)->(17,49)
SimTime:553 Turn q0 @(17,49)
SimTime:554 Move q0 (17,49)->(18,49)
SimTime:654 'cnot q4, q0' @(18,49)
SimTime:1 Move q4 (18,49)->(17,49) Move q0 (18,49)->(17,49)
SimTime:11 Turn q4 @(17,49) Turn q0 @(17,49)
SimTime:12
SimTime:13
SimTime:14
SimTime:15
SimTime:25 Turn q4 @(17,45) Turn q0 @(17,45)
SimTime:26 Move q4 (17,45)->(18,45) Move q0 (17,45)->(18,45)
SimTime:126 'cnot q4, q0' @(18,45)
SimTime:127 Move q3 (16,47)->(17,47) Move q0 (18,45)->(17,45)
SimTime:137 Turn q3 @(17,47) Turn q0 @(17,45)
SimTime:138 Move q0 (17,45)->(16,45)
SimTime:139 Move q3 (17,46)->(17,45)
SimTime:149 Turn q3 @(17,45)
SimTime:150 Move q3 (17,45)->(16,45)
SimTime:151 Move q4 (18,45)->(17,45) Move q1 (16,49)->(17,49)
SimTime:161 Turn q4 @(17,45) Turn q1 @(17,49)
SimTime:162
SimTime:163
SimTime:173 Turn q4 @(17,47) Turn q1 @(17,47)
SimTime:174 Move q4 (17,47)->(16,47) Move q1 (17,47)->(16,47)
SimTime:250 'cnot q3, q0' @(16,45)
SimTime:251 Move q2 (18,47)->(17,47) Move q0 (16,45)->(17,45)
SimTime:261 Turn q2 @(17,47) Turn q0 @(17,45)
SimTime:262 Move q0 (17,45)->(18,45)
SimTime:263 Move q2 (17,46)->(17,45)
SimTime:273 Turn q2 @(17,45)
SimTime:274 'cnot q4, q1' @(16,47) Move q2 (17,45)->(18,45)
SimTime:275 Move q1 (16,47)->(17,47)
SimTime:285 Turn q1 @(17,47)
SimTime:286 Move q1 (17,47)->(17,46)
SimTime:287 Move q1 (17,46)->(17,45)
SimTime:297 Turn q1 @(17,45)
SimTime:298 Move q1 (17,45)->(16,45)
SimTime:374 'cnot q2, q0' @(18,45)
SimTime:375 Move q0 (18,45)->(17,45)
SimTime:385 Turn q0 @(17,45)
SimTime:386 Move q0 (17,45)->(17,46)
SimTime:387 Move q0 (17,46)->(17,47)
SimTime:397 Turn q0 @(17,47)
SimTime:398 Move q0 (17,47)->(18,47) 'cnot q3, q1' @(16,45)
SimTime:399 Move q1 (16,45)->(17,45)
SimTime:408 'h q0' @(18,47)
SimTime:409 Turn q1 @(17,45)
SimTime:410 Move q1 (17,45)->(18,45)
SimTime:510 'cnot q2, q1' @(18,45)
SimTime:511 Move q2 (18,45)->(17,45) Move q1 (18,45)->(17,45)
SimTime:521 Turn q2 @(17,45) Turn q1 @(17,45)
SimTime:522
SimTime:523
SimTime:524
SimTime:525
SimTime:533 Turn q2 @(17,47)
SimTime:534 Move q2 (17,47)->(16,47)
SimTime:535 Turn q1 @(17,49)
SimTime:536 Move q1 (17,49)->(18,49)
SimTime:546 'h q1' @(18,49)
SimTime:634 'cnot q4, q2' @(16,47)
SimTime:635 Move q2 (16,47)->(17,47) Move q4 (16,47)->(17,47)
SimTime:645 Turn q2 @(17,47) Turn q4 @(17,47)
SimTime:646
SimTime:647
SimTime:657 Turn q2 @(17,45) Turn q4 @(17,49)
SimTime:658 Move q2 (17,45)->(16,45) Move q4 (17,49)->(16,49)
SimTime:668 'h q4' @(16,49)
SimTime:758 'cnot q3, q2' @(16,45)
SimTime:759 Move q2 (16,45)->(17,45)
SimTime:769 Turn q2 @(17,45)
SimTime:770 Move q2 (17,45)->(17,46)
SimTime:771 Move q2 (17,46)->(17,47)
SimTime:781 Turn q2 @(17,47)
SimTime:782 Move q2 (17,47)->(16,47)
SimTime:792 'h q2' @(16,47)
MVBF total iteration count: 14
------------------------------------
Execution latency: 650.0 us
QSPR runtime 170 ms
Done.
- Mohammad Javad Dousti (dousti@usc.edu)
- Massoud Pedram (pedram@usc.edu)
You may contact Mohammad Javad Dousti (dousti@usc.edu) for any questions you may have or bugs that you find.
Please refer to the LICENSE file.