quipper-tools (empty) → 0.9.0.0
raw patch · 113 files changed
+19639/−0 lines, 113 filesdep +basedep +containersdep +fixedprecbuild-type:Customsetup-changedbinary-added
Dependencies added: base, containers, fixedprec, mtl, newsynth, quipper-language, quipper-libraries, quipper-utils, random
Files
- COPYRIGHT +66/−0
- ChangeLog +76/−0
- Quipper/Programs/QCLParser/Main.hs +500/−0
- Quipper/Programs/QCLParser/QCL-bwt-n4.out +14973/−0
- Quipper/Programs/QCLParser/README +28/−0
- Quipper/Programs/QCLParser/bwt.qcl +441/−0
- Quipper/Programs/Tools/ASCII.hs +43/−0
- Quipper/Programs/Tools/Approximate.hs +119/−0
- Quipper/Programs/Tools/Binary.hs +40/−0
- Quipper/Programs/Tools/CliffordT.hs +117/−0
- Quipper/Programs/Tools/Depth.hs +281/−0
- Quipper/Programs/Tools/EPS.hs +39/−0
- Quipper/Programs/Tools/Exact.hs +55/−0
- Quipper/Programs/Tools/GateCount.hs +39/−0
- Quipper/Programs/Tools/PDF.hs +39/−0
- Quipper/Programs/Tools/Preview.hs +48/−0
- Quipper/Programs/Tools/Simulate.hs +195/−0
- Quipper/Programs/Tools/Standard.hs +109/−0
- Quipper/Programs/Tools/Strict.hs +108/−0
- Quipper/Programs/Tools/TrimControls.hs +50/−0
- Quipper/Programs/Tools/Unbox.hs +56/−0
- README +76/−0
- Setup.hs +15/−0
- dist/build/quipper-approximate/quipper-approximate-tmp/Quipper/Programs/Tools/Approximate.hs +123/−0
- dist/build/quipper-ascii/quipper-ascii-tmp/Quipper/Programs/Tools/ASCII.hs +47/−0
- dist/build/quipper-binary/quipper-binary-tmp/Quipper/Programs/Tools/Binary.hs +44/−0
- dist/build/quipper-cliffordt/quipper-cliffordt-tmp/Quipper/Programs/Tools/CliffordT.hs +121/−0
- dist/build/quipper-depth/quipper-depth-tmp/Quipper/Programs/Tools/Depth.hs +285/−0
- dist/build/quipper-eps/quipper-eps-tmp/Quipper/Programs/Tools/EPS.hs +43/−0
- dist/build/quipper-exact/quipper-exact-tmp/Quipper/Programs/Tools/Exact.hs +59/−0
- dist/build/quipper-gatecount/quipper-gatecount-tmp/Quipper/Programs/Tools/GateCount.hs +43/−0
- dist/build/quipper-pdf/quipper-pdf-tmp/Quipper/Programs/Tools/PDF.hs +43/−0
- dist/build/quipper-preview/quipper-preview-tmp/Quipper/Programs/Tools/Preview.hs +52/−0
- dist/build/quipper-qclparser/quipper-qclparser-tmp/Quipper/Programs/QCLParser/Main.hs +504/−0
- dist/build/quipper-qclparser/quipper-qclparser-tmp/programs/quipper-qclparser.hs +9/−0
- dist/build/quipper-simulate/quipper-simulate-tmp/Quipper/Programs/Tools/Simulate.hs +199/−0
- dist/build/quipper-standard/quipper-standard-tmp/Quipper/Programs/Tools/Standard.hs +113/−0
- dist/build/quipper-strict/quipper-strict-tmp/Quipper/Programs/Tools/Strict.hs +112/−0
- dist/build/quipper-trimcontrols/quipper-trimcontrols-tmp/Quipper/Programs/Tools/TrimControls.hs +54/−0
- dist/build/quipper-unbox/quipper-unbox-tmp/Quipper/Programs/Tools/Unbox.hs +60/−0
- images/CosetState.png binary
- images/E.png binary
- images/ERot_phase.png binary
- images/ERot_zx.png binary
- images/G.png binary
- images/GateR.png binary
- images/Rz.png binary
- images/T.png binary
- images/V.png binary
- images/W.png binary
- images/Y.png binary
- images/adder-optimized.png binary
- images/adder-unoptimized.png binary
- images/b0-template.png binary
- images/b1-template.png binary
- images/b2-orthodox.png binary
- images/b2-template.png binary
- images/b3-template.png binary
- images/b4-template.png binary
- images/cH_AMMR.png binary
- images/ccZ_AMMR.png binary
- images/ccZ_S.png binary
- images/cc_iX.png binary
- images/cc_iX_S.png binary
- images/cc_iX_simple.png binary
- images/contfrac.png binary
- images/controlled-phase-decomp.png binary
- images/controlled-zrot.png binary
- images/controlled_E.png binary
- images/controlled_S.png binary
- images/controlled_T.png binary
- images/controlled_V.png binary
- images/controlled_W.png binary
- images/controlled_YY.png binary
- images/controlled_iX.png binary
- images/controlled_phase.png binary
- images/coord.png binary
- images/dashed-cnot-bwd.png binary
- images/dashed-cnot-fwd.png binary
- images/decompose2Controls.png binary
- images/decomposeControls.png binary
- images/def_f.png binary
- images/def_g.png binary
- images/def_g1.png binary
- images/def_h.png binary
- images/expDA.png binary
- images/floor.png binary
- images/floor2.png binary
- images/fredkin.png binary
- images/gate_W_CliffordT.png binary
- images/hex-coord.png binary
- images/hex1.png binary
- images/hex2.png binary
- images/iX.png binary
- images/multi_ciX_noancilla.png binary
- images/multi_cnot_barenco.png binary
- images/phase.png binary
- images/quantum_and.png binary
- images/quantum_and_iX.png binary
- images/rGate.png binary
- images/spin1.png binary
- images/spin2.png binary
- images/toffoli_AMMR.png binary
- images/toffoli_NC.png binary
- images/toffoli_S.png binary
- images/toffoli_V.png binary
- images/weldedtree.png binary
- images/with_combined_controls1.png binary
- images/with_combined_controls2.png binary
- images/with_computed.png binary
- images/with_signed_qubit.png binary
- programs/quipper-qclparser.hs +5/−0
- quipper-tools.cabal +210/−0
@@ -0,0 +1,66 @@+Contributors are listed here, in alphabetical order by last name.+Unless otherwise noted, the copyright for his or her contributions+rests with each individual author. For contributions by authors whose+name is marked (ACS), the copyright rests with Applied Communication+Sciences.++Copyright (C) 2011-2019. All rights reserved.+Copyright (C) 2012-2013 Applied Communication Sciences. All rights+reserved.++Richard Eisenberg+Alexander S. Green+Peter LeFanu Lumsdaine+Keith Kim (ACS)+Siun-Chuon Mau (ACS)+Baranidharan Mohan+Won Ng (ACS)+Joel Ravelomanantsoa-Ratsimihah+Neil J. Ross+Artur Scherer (ACS)+Peter Selinger+Benoît Valiron+Alexandr Virodov (ACS)+Stephan A. Zdancewic++This research was supported by the Intelligence Advanced Research+Projects Activity (IARPA) via Department of Interior National Business+Center contract numbers D11PC20168 and D12PC00527. The U.S. Government+is authorized to reproduce and distribute reprints for Governmental+purposes notwithstanding any copyright annotation thereon. Disclaimer:+The views and conclusions contained herein are those of the authors+and should not be interpreted as necessarily representing the official+policies or endorsements, either expressed or implied, of IARPA,+DoI/NBC, or the U.S. Government.++----------------------------------------------------------------------+LICENSE++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are+met:++1. Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++2. Redistributions in binary form must reproduce the above copyright+ notice, this list of conditions and the following disclaimer in the+ documentation and/or other materials provided with the+ distribution.++3. The name of the authors and copyright holders may not be used to+ endorse or promote products derived from this software without+ specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT,+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE+POSSIBILITY OF SUCH DAMAGE.+----------------------------------------------------------------------
@@ -0,0 +1,76 @@+December 29, 2019: Release 0.9.0.0++ * Overhauled module structure:+ + Old: New:+ ==== ====+ + Quipper.XYZ Quipper.Internal.XYZ+ QuipperLib.XYZ Quipper.Libraries.XYZ+ Libraries.XYZ Quipper.Utils.XYZ+ Algorithms.XYZ Quipper.Algorithms.XYZ+ tests Quipper.Demos+ Programs Quipper.Programs++ * Re-packaged Quipper as Cabal packages. Added executables quipper,+ quipper-pp, quipperi, quipperdoc in lieu of shell scripts.+ * Moved PDF Previewer to a separate library in Quipper.Utils.Preview+ * Added a MonadFail instance to Circ, to keep ghc >= 7.4 happy+ * Use type class synonyms to avoid warnings about simplifiable class.+ * Compatibility: removed obsolete functoin Map.insertWith'.+ * Added MultiControlledNot demo.+ * Removed dependency on set-monad, which is broken upstream.+ * Fixed some bugs in the stabilizer simulation.+ * Moved QuantumIf from BF to Libraries.+ * Added --help option to all Quipper tools.+ * Removed Quipper.Utils.ShowAll+ * Fixed some compiler errors and removed some unnecessary type class+ assumptions.++July 27, 2016: Release 0.8++ * Portability: compatibility fixes for GHC 8.0. Note: GHC 7.10 is too+ broken and will not be supported by Quipper.+ * Added tests/SimulationTest+ * Added QPrep and QUnPrep to the simulator++October 14, 2014: Release 0.7++ * Portability: compatibility fixes for GHC 7.8.++January 16, 2014: Release 0.6++ * Minor edits and documentation updates.+ * Added a new gate gate_iX_inv+ * Added "alternate" version of synthesis algorithm, using only+ generators of determinant 1 if possible.+ * Synthesis code is now in an external package "newsynth".+ * Rendering code is now in an external package "easyrender".+ * Updated for use with fixedprec-0.2.1.0.++September 2, 2013: Release 0.5++ * Portability: compatibility fixes for GHC 7.6.2.+ * Portability: fixed Windows incompatibility bug. Handling of Ctrl-C+ may or may not work on Windows, depending on console.+ * Added quipperi script, analogous to ghci.+ * New library QuipperLib.ClassicalOptim: algebraic optimization of+ auto-generated classical circuits. Added "optimized" oracle to BWT+ algorithm.+ * QuipperLib.Decompose: Added decomposition into a "standard" gate+ set, consisting of X, Y, Z, H, S, S-dagger, T, T-dagger, and CNOT.+ Added KeepPhase flag to some transformers.+ * QuipperLib.GateDecompositions: added more gates.+ * New library Libraries.Synthesis.RotationDecomposition: implements a+ variant of the algorithm from Nielsen and Chuang to decompose an+ nxn unitary operator into one- and two-level rotations.+ * New library QuipperLib.Unboxing: unboxing transformers.+ * Updated ASCII output format; improved circuit parser efficiency.+ * Miscellaneous bug fixes: malformed W-gates, qdata_of_qubits,+ floorlog.+ * Fixed handling of iterated subroutines in depth transformer.+ * Documentation updates and minor refactoring.++June 19, 2013: Release 0.4++ * First public release.
@@ -0,0 +1,500 @@+{-# LANGUAGE TypeSynonymInstances #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE UndecidableInstances #-}++-- ----------------------------------------------------------------------+-- | This program reads an execution trace produced by QCL, and turns+-- it into a Quipper circuit.++module Quipper.Programs.QCLParser.Main where++import Quipper hiding (cnot, Format)++import Data.IntMap (IntMap)+import qualified Data.IntMap as IntMap+import qualified Data.Traversable as Trav+import Control.Monad.State+import Prelude hiding (not)+import qualified Prelude+import System.Environment+import System.Exit+import System.IO+import Data.Complex+import Data.Maybe++import Text.ParserCombinators.ReadP hiding (get)+import Data.Char (isAlpha, isAlphaNum, isDigit)++-- ----------------------------------------------------------------------+-- * A monad for a QCL state++-- | In QCL, qubits are identified by integers. We have to map these+-- to Quipper's native qubits. A 'QCLState' holds such a map.+-- Implicitly, it also holds the set of qubits currently defined.+type QCLState = IntMap Qubit++-- | The 'QCLCirc' monad is like the 'Circ' monad, except that it also+-- keeps track of an additional 'QCLState'. The 'lift' function must+-- be used to lift any command for the 'Circ' monad to the 'QCLCirc'+-- monad.+type QCLCirc a = StateT QCLState Circ a++-- ----------------------------------------------------------------------+-- * Auxiliary state functions++-- | Look up the qubit corresponding to a QCL register, or allocate a+-- new qubit if it doesn't already exist.+provide :: Int -> QCLCirc Qubit+provide r = do+ s <- get+ case IntMap.lookup r s of+ Just q -> return q+ Nothing -> do+ q <- lift $ qinit False+ let s' = IntMap.insert r q s+ put s'+ return q++-- ----------------------------------------------------------------------+-- * Implementation of the QCL primitives++-- | Reset all qubits to state 0.+qcl_reset :: QCLCirc ()+qcl_reset = do+ s <- get+ lift $ Trav.mapM qdiscard s+ let s' = IntMap.empty+ put s'+ return ()++-- | Apply a controlled-not operation to the first argument.+qcl_cnot :: Int -> [Int] -> QCLCirc ()+qcl_cnot r ctrls = do+ q <- provide r+ cs <- Trav.mapM provide ctrls+ lift $ qnot_at q `controlled` cs+ return ()++-- | Apply an uncontrolled not operation.+qcl_not :: Int -> QCLCirc ()+qcl_not r = qcl_cnot r []++-- | @'qcl_fanout' ins outs ctrls@: Copy the qubit register /ins/ to+-- the qubit register /outs/ by means of c-not operations, provided+-- that /outs/ was previously 0. The whole operation is controlled by+-- /ctrls/.+qcl_fanout :: [Int] -> [Int] -> [Int] -> QCLCirc ()+qcl_fanout ins outs ctrls = do+ qins <- Trav.mapM provide ins+ qouts <- Trav.mapM provide outs+ qctrls <- Trav.mapM provide ctrls+ lift $ with_controls qctrls $ do+ let zips = zip qins qouts+ Trav.mapM (\(x,y) -> qnot_at y `controlled` x) zips+ return ()++-- | Calculate the square distance between two vectors, which must be+-- of the same length.+sqdist :: [Complex Double] -> [Complex Double] -> Double+sqdist v1 v2 = d2 where+ w = zipWith (-) v1 v2+ w2 = map (\x -> x * x) $ map magnitude w+ d2 = sum w2+ +-- | If the matrix looks like a /W/-gate, return 'True'.+matrix_w :: [Complex Double] -> Bool+matrix_w amps | length amps == 16 =+ let v = sqrt 0.5+ m = [ 1, 0, 0, 0,+ 0, v, v, 0,+ 0, v, -v, 0,+ 0, 0, 0, 1]+ in+ if sqdist amps m <= 0.001 then+ True+ else+ False+matrix_w _ = False++-- | If the matrix looks like a controlled /e/^/tiZ/-gate, return the+-- angle /t/.+matrix_exp :: [Complex Double] -> Maybe Double+matrix_exp amps | length amps == 16 =+ let t = phase ((amps !! 10) + conjugate (amps !! 15))+ u = cis t+ m = [ 1, 0, 0, 0,+ 0, 1, 0, 0, + 0, 0, u, 0,+ 0, 0, 0, conjugate u]+ in+ if sqdist amps m <= 0.001 then+ Just t+ else+ Nothing+matrix_exp _ = Nothing++-- | @'qcl_matrix' n amps regs@: Apply the /n/-by-/n/ unitary gate+-- whose matrix is given in /amps/, to the qubit list /regs/. This+-- function must guess, based on the complex entries of the matrix,+-- what the name of the gate should be. This guessing is crude at the+-- moment, and must be extended to include additional gates as+-- required by each algorithm. If the first argument is 'True', invert+-- the matrix.+qcl_matrix :: Bool -> Int -> [Complex Double] -> [Int] -> QCLCirc ()+qcl_matrix inv n amps [x,y] | matrix_w amps = do+ [q,r] <- Trav.mapM provide [x,y]+ lift $ gate_W_at q r -- this gate is self-inverse+qcl_matrix inv n amps [x,y] | isJust t = do+ [q,r] <- Trav.mapM provide [x,y]+ lift $ expZt_at (sign * fromJust t) r `controlled` q+ where+ t = matrix_exp amps+ sign = if inv then -1 else 1+qcl_matrix inv n amps regs = do+ qregs <- Trav.mapM provide regs+ lift $ named_gate_at (if inv then "Gate*" else "Gate") qregs+ +-- | The inverse of 'qcl_cnot'.+qcl_cnot_inv = qcl_cnot++-- | The inverse of 'qcl_not'.+qcl_not_inv = qcl_not++-- | The inverse of 'qcl_fanout'.+qcl_fanout_inv = qcl_fanout++-- | A sample circuit to illustrate how to use the primitives.+testcircuit1 :: QCLCirc ()+testcircuit1 = do+ qcl_reset+ qcl_not 5+ qcl_not 0+ qcl_cnot 31 [4]+ qcl_cnot 31 [4,30]+ qcl_cnot 29 [31]+ qcl_cnot_inv 31 [4,30]+ qcl_cnot_inv 31 [4]++-- ----------------------------------------------------------------------+-- * Unpacking QCLCirc++-- | Run function for the 'QCLCirc' monad: execute the actions and+-- produce a circuit.+run :: QCLCirc a -> Circ a+run f = do+ (x,_) <- runStateT f IntMap.empty+ return x++-- ----------------------------------------------------------------------+-- * An abstract syntax for QCL output++-- | A data type to hold a QCL gate.+data QCLGate = + Comment+ | Reset+ | Not Int+ | XNot Int+ | CNot Int [Int]+ | XCNot Int [Int]+ | Fanout [Int] [Int] [Int]+ | XFanout [Int] [Int] [Int]+ | Matrix Int [Complex Double] [Int]+ | XMatrix Int [Complex Double] [Int]+ deriving (Show)++-- | Take a gate from the abstract syntax and execute it in the+-- 'QCLCirc' monad.+do_qcl_gate :: QCLGate -> QCLCirc ()+do_qcl_gate Comment = return ()+do_qcl_gate Reset = qcl_reset+do_qcl_gate (Not x) = qcl_not x+do_qcl_gate (XNot x ) = qcl_not_inv x +do_qcl_gate (CNot x ctrl) = qcl_cnot x ctrl+do_qcl_gate (XCNot x ctrl) = qcl_cnot_inv x ctrl +do_qcl_gate (Fanout a b c) = qcl_fanout a b c +do_qcl_gate (XFanout a b c) = qcl_fanout_inv a b c +do_qcl_gate (Matrix n amps regs) = qcl_matrix False n amps regs+do_qcl_gate (XMatrix n amps regs) = qcl_matrix True n amps regs++-- ----------------------------------------------------------------------+-- * Parsing++-- $ The output of QCL consists of lines of the following forms. Lines+-- not starting with \"\@\" are comments or other non-circuit output.+-- +-- > @ RESET+-- > @ NOT(qureg q=<5>) +-- > @ CNOT(qureg q=<31>,quconst c=<4,30>)+-- > @ !CNOT(qureg q=<31>,quconst c=<4,30>)+-- > @ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+-- > @ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+-- > @ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=1,complex u12=0,complex u13=0,complex u20=0,complex u21=0,complex u22=(0.995004,-0.0998334),complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=(0.995004,0.0998334),qureg q=<12,13>)+-- > @ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<0,6>) +-- +-- We use Koen Claessen's parser combinators (see+-- "Text.ParserCombinators.ReadP") to implement the parser.++-- | Parse a QCL identifier, which we take to be a non-empty string of+-- alphanumeric characters, starting with a letter+identifier :: ReadP String+identifier = do+ satisfy isAlpha+ munch isAlphaNum+ +-- | Parse a signless integer. We avoid the usual trick ('readS_to_P'+-- 'reads'), because this introduces backtracking errors.+int :: ReadP Int+int = do+ s <- munch1 isDigit+ return $ (read s :: Int)++-- | Parse a floating point number. We avoid the usual trick+-- ('readS_to_P' 'reads'), because this introduces backtracking+-- errors.+double :: ReadP Double+double = do+ (s, _) <- gather parse_double+ return $ (read s :: Double)+ where+ parse_double = do+ option '+' (char '+' +++ char '-')+ munch isDigit+ optional (char '.' >> munch1 isDigit)+ +-- | Parse a comma separated list.+commalist :: ReadP a -> ReadP [a]+commalist elt = sepBy elt (skipSpaces >> char ',' >> skipSpaces)++-- | Parse a QCL quantum register of the form +-- +-- > q=<31,32>+-- > c=<4,31>+-- > b=<40,41,42,43,44,45>.+qureg :: ReadP (String, [Int])+qureg = do+ id <- identifier+ skipSpaces+ char '='+ skipSpaces+ rs <- between (char '<' >> skipSpaces) (skipSpaces >> char '>') $ do+ commalist int+ return (id, rs)++-- | Consume an optional \"!\". Return 'True' if consumed, and 'False'+-- otherwise.+inversechar :: ReadP Bool +inversechar = do+ c <- option '+' (char '!')+ return (c == '!')++-- | Parse a complex number declaration of the format+-- +-- > complex u00=1+-- +-- or+-- +-- > complex u22=(0.995004,-0.0998334).+complex :: ReadP (Complex Double)+complex = do+ string "complex"+ skipSpaces+ identifier+ skipSpaces+ char '='+ skipSpaces+ choice [+ do + x <- double+ return (x :+ 0)+ ,+ do+ char '('+ skipSpaces+ x <- double + skipSpaces+ char ','+ skipSpaces+ y <- double+ skipSpaces+ char ')'+ return (x :+ y)+ ]++-- | Parse a single line of QCL output into a 'QCLGate'.+qcl_line :: ReadP QCLGate+qcl_line = choice [+ do -- @ RESET+ char '@'+ skipSpaces+ string "RESET"+ return Reset+ ,+ do -- @ NOT(qureg q=<5>)+ char '@'+ skipSpaces+ inv <- inversechar+ skipSpaces+ string "NOT"+ skipSpaces+ char '('+ skipSpaces+ string "qureg"+ skipSpaces+ (_,[r]) <- qureg+ skipSpaces+ char ')'+ return (if inv then XNot r else Not r)+ ,+ do -- @ CNOT(qureg q=<31>,quconst c=<4,30>)+ char '@'+ skipSpaces+ inv <- inversechar+ skipSpaces+ string "CNOT"+ skipSpaces+ char '('+ skipSpaces + string "qureg"+ skipSpaces+ (_,[r]) <- qureg+ skipSpaces+ char ','+ skipSpaces+ string "quconst"+ skipSpaces+ (_,ctrls) <- qureg+ skipSpaces+ char ')'+ return (if inv then XCNot r ctrls else CNot r ctrls)+ ,+ do -- @ Fanout(quconst a=<47,48>,quvoid b=<40,41>;cond=<>)+ char '@'+ skipSpaces+ inv <- inversechar+ skipSpaces+ string "Fanout"+ skipSpaces+ char '('+ skipSpaces + string "quconst"+ skipSpaces+ (_,ins) <- qureg+ skipSpaces+ char ','+ skipSpaces+ string "quvoid"+ skipSpaces+ (_,outs) <- qureg+ skipSpaces+ char ';'+ skipSpaces+ (_,ctrls) <- qureg+ skipSpaces+ char ')'+ return (if inv then XFanout ins outs ctrls else Fanout ins outs ctrls)+ ,+ do -- @ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=1,complex u12=0,complex u13=0,complex u20=0,complex u21=0,complex u22=(0.995004,-0.0998334),complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=(0.995004,0.0998334),qureg q=<12,13>)+ char '@'+ skipSpaces+ inv <- inversechar+ skipSpaces+ string "Matrix"+ skipSpaces+ dim1 <- int+ skipSpaces+ char 'x'+ skipSpaces+ dim2 <- int+ skipSpaces+ char '('+ skipSpaces+ amps <- commalist complex+ skipSpaces+ char ','+ skipSpaces+ string "qureg"+ skipSpaces+ (_,r) <- qureg+ skipSpaces+ char ')'+ when (dim1 /= dim2) $ do+ error "Non-square matrix"+ return (if inv then XMatrix dim1 amps r else Matrix dim1 amps r)+ , + do -- any line not starting with '@' is a comment+ satisfy ((/=) '@')+ munch (\x -> True)+ return Comment+ ,+ do -- empty lines are comments+ eof+ return Comment+ ]++-- | String version of 'qcl_line': parse a string and turn it into a+-- 'QCLGate'.+parse_qcl_line :: String -> QCLGate+parse_qcl_line s =+ case readP_to_S readline s of+ (h, _):_ -> h+ _ -> error ("Unrecognized line: " ++ s)+ where+ readline = do+ skipSpaces+ l <- qcl_line+ skipSpaces+ eof+ return l + +-- | Monad version of 'parse_qcl_line': parse a string and execute the+-- resulting gate directly in the 'QCLCirc' monad.+run_qcl_line :: String -> QCLCirc ()+run_qcl_line = do_qcl_gate . parse_qcl_line++-- | Parse a stream consisting of many lines of QCL output and execute+-- the parsed gates in the 'QCLCirc' monad.+run_qcl_lines :: String -> QCLCirc ()+run_qcl_lines s =+ mapM_ run_qcl_line (lines s)++-- | A sample circuit to illustrate the parser.+testcircuit2 :: QCLCirc ()+testcircuit2 = do+ run_qcl_line "@ RESET"+ run_qcl_line "@ NOT(qureg q=<5>)"+ run_qcl_line "@ NOT(qureg q=<0>)"+ run_qcl_line "@ CNOT(qureg q=<31>,quconst c=<4>)"++-- ----------------------------------------------------------------------+-- * Main function++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": read an execution trace produced by Ömer's QCL language,\n"+ ++ "and turn it into a Quipper circuit.\n"++-- | Main function: read a circuit in QCL format from 'stdin', and+-- preview the translated Quipper circuit.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ lines <- hGetContents stdin+ print_simple ASCII (run (run_qcl_lines lines))+
@@ -0,0 +1,14973 @@+QCL Quantum Computation Language (64 qubits, seed 1335036504)+@ RESET+@ NOT(qureg q=<5>)+@ NOT(qureg q=<0>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ CNOT(qureg q=<20>,quconst c=<31>)+@ CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<0>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<0,21>)+@ CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<26>,quconst c=<0>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<23>,quconst c=<21>)+@ CNOT(qureg q=<13>,quconst c=<1,22>)+@ CNOT(qureg q=<14>,quconst c=<2,22>)+@ CNOT(qureg q=<15>,quconst c=<3,22>)+@ CNOT(qureg q=<16>,quconst c=<4,22>)+@ CNOT(qureg q=<18>,quconst c=<5,22>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ Fanout(quconst a=<19>,quvoid b=<12>;cond=<>)+@ Fanout(quconst a=<13,14,15,16,17,18>,quvoid b=<6,7,8,9,10,11>;cond=<>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ !Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ !CNOT(qureg q=<18>,quconst c=<5,22>)+@ !CNOT(qureg q=<16>,quconst c=<4,22>)+@ !CNOT(qureg q=<15>,quconst c=<3,22>)+@ !CNOT(qureg q=<14>,quconst c=<2,22>)+@ !CNOT(qureg q=<13>,quconst c=<1,22>)+@ !CNOT(qureg q=<23>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<0>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<26>,quconst c=<0>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ !Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<20>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ !CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ !CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ !CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ !CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<0,6>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<1,7>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<2,8>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<3,9>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<4,10>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<5,11>)+@ NOT(qureg q=<6>)+@ CNOT(qureg q=<13>,quconst c=<0,6>)+@ NOT(qureg q=<6>)+@ NOT(qureg q=<7>)+@ CNOT(qureg q=<13>,quconst c=<1,7>)+@ NOT(qureg q=<7>)+@ NOT(qureg q=<8>)+@ CNOT(qureg q=<13>,quconst c=<2,8>)+@ NOT(qureg q=<8>)+@ NOT(qureg q=<9>)+@ CNOT(qureg q=<13>,quconst c=<3,9>)+@ NOT(qureg q=<9>)+@ NOT(qureg q=<10>)+@ CNOT(qureg q=<13>,quconst c=<4,10>)+@ NOT(qureg q=<10>)+@ NOT(qureg q=<11>)+@ CNOT(qureg q=<13>,quconst c=<5,11>)+@ NOT(qureg q=<11>)+@ NOT(qureg q=<12>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=1,complex u12=0,complex u13=0,complex u20=0,complex u21=0,complex u22=(0.995004,-0.0998334),complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=(0.995004,0.0998334),qureg q=<12,13>)+@ NOT(qureg q=<12>)+@ NOT(qureg q=<11>)+@ CNOT(qureg q=<13>,quconst c=<5,11>)+@ NOT(qureg q=<11>)+@ NOT(qureg q=<10>)+@ CNOT(qureg q=<13>,quconst c=<4,10>)+@ NOT(qureg q=<10>)+@ NOT(qureg q=<9>)+@ CNOT(qureg q=<13>,quconst c=<3,9>)+@ NOT(qureg q=<9>)+@ NOT(qureg q=<8>)+@ CNOT(qureg q=<13>,quconst c=<2,8>)+@ NOT(qureg q=<8>)+@ NOT(qureg q=<7>)+@ CNOT(qureg q=<13>,quconst c=<1,7>)+@ NOT(qureg q=<7>)+@ NOT(qureg q=<6>)+@ CNOT(qureg q=<13>,quconst c=<0,6>)+@ NOT(qureg q=<6>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<5,11>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<4,10>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<3,9>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<2,8>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<1,7>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<0,6>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ CNOT(qureg q=<20>,quconst c=<31>)+@ CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<0>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<0,21>)+@ CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<26>,quconst c=<0>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<23>,quconst c=<21>)+@ CNOT(qureg q=<13>,quconst c=<1,22>)+@ CNOT(qureg q=<14>,quconst c=<2,22>)+@ CNOT(qureg q=<15>,quconst c=<3,22>)+@ CNOT(qureg q=<16>,quconst c=<4,22>)+@ CNOT(qureg q=<18>,quconst c=<5,22>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ !Fanout(quconst a=<19>,quvoid b=<12>;cond=<>)+@ !Fanout(quconst a=<13,14,15,16,17,18>,quvoid b=<6,7,8,9,10,11>;cond=<>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ !Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ !CNOT(qureg q=<18>,quconst c=<5,22>)+@ !CNOT(qureg q=<16>,quconst c=<4,22>)+@ !CNOT(qureg q=<15>,quconst c=<3,22>)+@ !CNOT(qureg q=<14>,quconst c=<2,22>)+@ !CNOT(qureg q=<13>,quconst c=<1,22>)+@ !CNOT(qureg q=<23>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<0>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<26>,quconst c=<0>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ !Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<20>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ !CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ !CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ !CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ !CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ CNOT(qureg q=<20>,quconst c=<31>)+@ CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<26>,quconst c=<0>)+@ CNOT(qureg q=<26>,quconst c=<0,21>)+@ CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<26>,quconst c=<0>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<23>,quconst c=<21>)+@ NOT(qureg q=<24>)+@ CNOT(qureg q=<13>,quconst c=<1,22>)+@ CNOT(qureg q=<14>,quconst c=<2,22>)+@ CNOT(qureg q=<15>,quconst c=<3,22>)+@ CNOT(qureg q=<16>,quconst c=<4,22>)+@ CNOT(qureg q=<18>,quconst c=<5,22>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ Fanout(quconst a=<19>,quvoid b=<12>;cond=<>)+@ Fanout(quconst a=<13,14,15,16,17,18>,quvoid b=<6,7,8,9,10,11>;cond=<>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ !Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ !CNOT(qureg q=<18>,quconst c=<5,22>)+@ !CNOT(qureg q=<16>,quconst c=<4,22>)+@ !CNOT(qureg q=<15>,quconst c=<3,22>)+@ !CNOT(qureg q=<14>,quconst c=<2,22>)+@ !CNOT(qureg q=<13>,quconst c=<1,22>)+@ !NOT(qureg q=<24>)+@ !CNOT(qureg q=<23>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<0>)+@ CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<26>,quconst c=<0>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ !Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<20>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ !CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ !CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ !CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ !CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<0,6>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<1,7>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<2,8>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<3,9>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<4,10>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<5,11>)+@ NOT(qureg q=<6>)+@ CNOT(qureg q=<13>,quconst c=<0,6>)+@ NOT(qureg q=<6>)+@ NOT(qureg q=<7>)+@ CNOT(qureg q=<13>,quconst c=<1,7>)+@ NOT(qureg q=<7>)+@ NOT(qureg q=<8>)+@ CNOT(qureg q=<13>,quconst c=<2,8>)+@ NOT(qureg q=<8>)+@ NOT(qureg q=<9>)+@ CNOT(qureg q=<13>,quconst c=<3,9>)+@ NOT(qureg q=<9>)+@ NOT(qureg q=<10>)+@ CNOT(qureg q=<13>,quconst c=<4,10>)+@ NOT(qureg q=<10>)+@ NOT(qureg q=<11>)+@ CNOT(qureg q=<13>,quconst c=<5,11>)+@ NOT(qureg q=<11>)+@ NOT(qureg q=<12>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=1,complex u12=0,complex u13=0,complex u20=0,complex u21=0,complex u22=(0.995004,-0.0998334),complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=(0.995004,0.0998334),qureg q=<12,13>)+@ NOT(qureg q=<12>)+@ NOT(qureg q=<11>)+@ CNOT(qureg q=<13>,quconst c=<5,11>)+@ NOT(qureg q=<11>)+@ NOT(qureg q=<10>)+@ CNOT(qureg q=<13>,quconst c=<4,10>)+@ NOT(qureg q=<10>)+@ NOT(qureg q=<9>)+@ CNOT(qureg q=<13>,quconst c=<3,9>)+@ NOT(qureg q=<9>)+@ NOT(qureg q=<8>)+@ CNOT(qureg q=<13>,quconst c=<2,8>)+@ NOT(qureg q=<8>)+@ NOT(qureg q=<7>)+@ CNOT(qureg q=<13>,quconst c=<1,7>)+@ NOT(qureg q=<7>)+@ NOT(qureg q=<6>)+@ CNOT(qureg q=<13>,quconst c=<0,6>)+@ NOT(qureg q=<6>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<5,11>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<4,10>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<3,9>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<2,8>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<1,7>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<0,6>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ CNOT(qureg q=<20>,quconst c=<31>)+@ CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<26>,quconst c=<0>)+@ CNOT(qureg q=<26>,quconst c=<0,21>)+@ CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<26>,quconst c=<0>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<23>,quconst c=<21>)+@ NOT(qureg q=<24>)+@ CNOT(qureg q=<13>,quconst c=<1,22>)+@ CNOT(qureg q=<14>,quconst c=<2,22>)+@ CNOT(qureg q=<15>,quconst c=<3,22>)+@ CNOT(qureg q=<16>,quconst c=<4,22>)+@ CNOT(qureg q=<18>,quconst c=<5,22>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ !Fanout(quconst a=<19>,quvoid b=<12>;cond=<>)+@ !Fanout(quconst a=<13,14,15,16,17,18>,quvoid b=<6,7,8,9,10,11>;cond=<>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ !Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ !CNOT(qureg q=<18>,quconst c=<5,22>)+@ !CNOT(qureg q=<16>,quconst c=<4,22>)+@ !CNOT(qureg q=<15>,quconst c=<3,22>)+@ !CNOT(qureg q=<14>,quconst c=<2,22>)+@ !CNOT(qureg q=<13>,quconst c=<1,22>)+@ !NOT(qureg q=<24>)+@ !CNOT(qureg q=<23>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<0>)+@ CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<26>,quconst c=<0>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ !Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<20>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ !CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ !CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ !CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ !CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ CNOT(qureg q=<20>,quconst c=<31>)+@ CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<0,21>)+@ CNOT(qureg q=<25>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<23>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<13>,quconst c=<1,22>)+@ CNOT(qureg q=<14>,quconst c=<2,22>)+@ CNOT(qureg q=<15>,quconst c=<3,22>)+@ CNOT(qureg q=<16>,quconst c=<4,22>)+@ CNOT(qureg q=<18>,quconst c=<5,22>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ Fanout(quconst a=<19>,quvoid b=<12>;cond=<>)+@ Fanout(quconst a=<13,14,15,16,17,18>,quvoid b=<6,7,8,9,10,11>;cond=<>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ !Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ !CNOT(qureg q=<18>,quconst c=<5,22>)+@ !CNOT(qureg q=<16>,quconst c=<4,22>)+@ !CNOT(qureg q=<15>,quconst c=<3,22>)+@ !CNOT(qureg q=<14>,quconst c=<2,22>)+@ !CNOT(qureg q=<13>,quconst c=<1,22>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<23>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<25>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ !Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<20>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ !CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ !CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ !CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ !CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<0,6>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<1,7>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<2,8>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<3,9>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<4,10>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<5,11>)+@ NOT(qureg q=<6>)+@ CNOT(qureg q=<13>,quconst c=<0,6>)+@ NOT(qureg q=<6>)+@ NOT(qureg q=<7>)+@ CNOT(qureg q=<13>,quconst c=<1,7>)+@ NOT(qureg q=<7>)+@ NOT(qureg q=<8>)+@ CNOT(qureg q=<13>,quconst c=<2,8>)+@ NOT(qureg q=<8>)+@ NOT(qureg q=<9>)+@ CNOT(qureg q=<13>,quconst c=<3,9>)+@ NOT(qureg q=<9>)+@ NOT(qureg q=<10>)+@ CNOT(qureg q=<13>,quconst c=<4,10>)+@ NOT(qureg q=<10>)+@ NOT(qureg q=<11>)+@ CNOT(qureg q=<13>,quconst c=<5,11>)+@ NOT(qureg q=<11>)+@ NOT(qureg q=<12>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=1,complex u12=0,complex u13=0,complex u20=0,complex u21=0,complex u22=(0.995004,-0.0998334),complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=(0.995004,0.0998334),qureg q=<12,13>)+@ NOT(qureg q=<12>)+@ NOT(qureg q=<11>)+@ CNOT(qureg q=<13>,quconst c=<5,11>)+@ NOT(qureg q=<11>)+@ NOT(qureg q=<10>)+@ CNOT(qureg q=<13>,quconst c=<4,10>)+@ NOT(qureg q=<10>)+@ NOT(qureg q=<9>)+@ CNOT(qureg q=<13>,quconst c=<3,9>)+@ NOT(qureg q=<9>)+@ NOT(qureg q=<8>)+@ CNOT(qureg q=<13>,quconst c=<2,8>)+@ NOT(qureg q=<8>)+@ NOT(qureg q=<7>)+@ CNOT(qureg q=<13>,quconst c=<1,7>)+@ NOT(qureg q=<7>)+@ NOT(qureg q=<6>)+@ CNOT(qureg q=<13>,quconst c=<0,6>)+@ NOT(qureg q=<6>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<5,11>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<4,10>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<3,9>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<2,8>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<1,7>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<0,6>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ CNOT(qureg q=<20>,quconst c=<31>)+@ CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<0,21>)+@ CNOT(qureg q=<25>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<23>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<13>,quconst c=<1,22>)+@ CNOT(qureg q=<14>,quconst c=<2,22>)+@ CNOT(qureg q=<15>,quconst c=<3,22>)+@ CNOT(qureg q=<16>,quconst c=<4,22>)+@ CNOT(qureg q=<18>,quconst c=<5,22>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ !Fanout(quconst a=<19>,quvoid b=<12>;cond=<>)+@ !Fanout(quconst a=<13,14,15,16,17,18>,quvoid b=<6,7,8,9,10,11>;cond=<>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ !Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ !CNOT(qureg q=<18>,quconst c=<5,22>)+@ !CNOT(qureg q=<16>,quconst c=<4,22>)+@ !CNOT(qureg q=<15>,quconst c=<3,22>)+@ !CNOT(qureg q=<14>,quconst c=<2,22>)+@ !CNOT(qureg q=<13>,quconst c=<1,22>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<23>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<25>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<0,21>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ !Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<20>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ !CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ !CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ !CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ !CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ CNOT(qureg q=<20>,quconst c=<31>)+@ CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<25>,quconst c=<0,21>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<23>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ NOT(qureg q=<24>)+@ CNOT(qureg q=<13>,quconst c=<1,22>)+@ CNOT(qureg q=<14>,quconst c=<2,22>)+@ CNOT(qureg q=<15>,quconst c=<3,22>)+@ CNOT(qureg q=<16>,quconst c=<4,22>)+@ CNOT(qureg q=<18>,quconst c=<5,22>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ Fanout(quconst a=<19>,quvoid b=<12>;cond=<>)+@ Fanout(quconst a=<13,14,15,16,17,18>,quvoid b=<6,7,8,9,10,11>;cond=<>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ !Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ !CNOT(qureg q=<18>,quconst c=<5,22>)+@ !CNOT(qureg q=<16>,quconst c=<4,22>)+@ !CNOT(qureg q=<15>,quconst c=<3,22>)+@ !CNOT(qureg q=<14>,quconst c=<2,22>)+@ !CNOT(qureg q=<13>,quconst c=<1,22>)+@ !NOT(qureg q=<24>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<23>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ !CNOT(qureg q=<25>,quconst c=<0,21>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ !Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<20>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ !CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ !CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ !CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ !CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<0,6>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<1,7>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<2,8>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<3,9>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<4,10>)+@ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<5,11>)+@ NOT(qureg q=<6>)+@ CNOT(qureg q=<13>,quconst c=<0,6>)+@ NOT(qureg q=<6>)+@ NOT(qureg q=<7>)+@ CNOT(qureg q=<13>,quconst c=<1,7>)+@ NOT(qureg q=<7>)+@ NOT(qureg q=<8>)+@ CNOT(qureg q=<13>,quconst c=<2,8>)+@ NOT(qureg q=<8>)+@ NOT(qureg q=<9>)+@ CNOT(qureg q=<13>,quconst c=<3,9>)+@ NOT(qureg q=<9>)+@ NOT(qureg q=<10>)+@ CNOT(qureg q=<13>,quconst c=<4,10>)+@ NOT(qureg q=<10>)+@ NOT(qureg q=<11>)+@ CNOT(qureg q=<13>,quconst c=<5,11>)+@ NOT(qureg q=<11>)+@ NOT(qureg q=<12>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=1,complex u12=0,complex u13=0,complex u20=0,complex u21=0,complex u22=(0.995004,-0.0998334),complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=(0.995004,0.0998334),qureg q=<12,13>)+@ NOT(qureg q=<12>)+@ NOT(qureg q=<11>)+@ CNOT(qureg q=<13>,quconst c=<5,11>)+@ NOT(qureg q=<11>)+@ NOT(qureg q=<10>)+@ CNOT(qureg q=<13>,quconst c=<4,10>)+@ NOT(qureg q=<10>)+@ NOT(qureg q=<9>)+@ CNOT(qureg q=<13>,quconst c=<3,9>)+@ NOT(qureg q=<9>)+@ NOT(qureg q=<8>)+@ CNOT(qureg q=<13>,quconst c=<2,8>)+@ NOT(qureg q=<8>)+@ NOT(qureg q=<7>)+@ CNOT(qureg q=<13>,quconst c=<1,7>)+@ NOT(qureg q=<7>)+@ NOT(qureg q=<6>)+@ CNOT(qureg q=<13>,quconst c=<0,6>)+@ NOT(qureg q=<6>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<5,11>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<4,10>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<3,9>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<2,8>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<1,7>)+@ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<0,6>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ CNOT(qureg q=<20>,quconst c=<31>)+@ CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<25>,quconst c=<0,21>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ CNOT(qureg q=<23>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ NOT(qureg q=<24>)+@ CNOT(qureg q=<13>,quconst c=<1,22>)+@ CNOT(qureg q=<14>,quconst c=<2,22>)+@ CNOT(qureg q=<15>,quconst c=<3,22>)+@ CNOT(qureg q=<16>,quconst c=<4,22>)+@ CNOT(qureg q=<18>,quconst c=<5,22>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ !Fanout(quconst a=<19>,quvoid b=<12>;cond=<>)+@ !Fanout(quconst a=<13,14,15,16,17,18>,quvoid b=<6,7,8,9,10,11>;cond=<>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<22>)+@ CNOT(qureg q=<26>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<19>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<22,23>)+@ !CNOT(qureg q=<26>,quconst c=<23>)+@ !CNOT(qureg q=<26>,quconst c=<22>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<32>,quconst c=<4,23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<26>,quconst c=<24,32>)+@ CNOT(qureg q=<27>,quconst c=<0,32>)+@ CNOT(qureg q=<28>,quconst c=<1,32>)+@ CNOT(qureg q=<29>,quconst c=<2,32>)+@ CNOT(qureg q=<30>,quconst c=<3,32>)+@ CNOT(qureg q=<31>,quconst c=<5,32>)+@ !Fanout(quconst a=<26,27,28,29,30,31>,quvoid b=<13,14,15,16,17,18>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<5,32>)+@ !CNOT(qureg q=<30>,quconst c=<3,32>)+@ !CNOT(qureg q=<29>,quconst c=<2,32>)+@ !CNOT(qureg q=<28>,quconst c=<1,32>)+@ !CNOT(qureg q=<27>,quconst c=<0,32>)+@ !CNOT(qureg q=<26>,quconst c=<24,32>)+@ !CNOT(qureg q=<32>,quconst c=<23>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<34>,quconst c=<1,39>)+@ CNOT(qureg q=<35>,quconst c=<2,39>)+@ CNOT(qureg q=<36>,quconst c=<3,39>)+@ CNOT(qureg q=<39>,quconst c=<32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<37>,quconst c=<32>)+@ CNOT(qureg q=<38>,quconst c=<32>)+@ !Fanout(quconst a=<33,34,35,36,37,38>,quvoid b=<26,27,28,29,30,31>;cond=<>)+@ !CNOT(qureg q=<38>,quconst c=<32>)+@ !CNOT(qureg q=<37>,quconst c=<32>)+@ !CNOT(qureg q=<38>,quconst c=<5,32>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !Fanout(quconst a=<40,41,42,43,44,45>,quvoid b=<33,34,35,36,37,38>;cond=<>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3,55>)+@ !CNOT(qureg q=<57>,quconst c=<55>)+@ CNOT(qureg q=<57>,quconst c=<>)+@ CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<56>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<3>)+@ !CNOT(qureg q=<57>,quconst c=<>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<57>,quconst c=<54>)+@ CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<55>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<2,54>)+@ !CNOT(qureg q=<57>,quconst c=<54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<57>,quconst c=<53>)+@ CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<54>,quconst c=<57>)+@ !CNOT(qureg q=<57>,quconst c=<1,53>)+@ !CNOT(qureg q=<57>,quconst c=<53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ !CNOT(qureg q=<46>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<48>,quconst c=<1,46>)+@ CNOT(qureg q=<48>,quconst c=<46,53>)+@ CNOT(qureg q=<54>,quconst c=<1,53>)+@ CNOT(qureg q=<49>,quconst c=<2,46>)+@ CNOT(qureg q=<49>,quconst c=<46,54>)+@ CNOT(qureg q=<55>,quconst c=<2,54>)+@ CNOT(qureg q=<50>,quconst c=<3,46>)+@ CNOT(qureg q=<50>,quconst c=<46>)+@ CNOT(qureg q=<50>,quconst c=<46,55>)+@ CNOT(qureg q=<56>,quconst c=<3>)+@ CNOT(qureg q=<56>,quconst c=<3,55>)+@ CNOT(qureg q=<56>,quconst c=<55>)+@ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+@ !CNOT(qureg q=<56>,quconst c=<55>)+@ !CNOT(qureg q=<56>,quconst c=<3,55>)+@ !CNOT(qureg q=<56>,quconst c=<3>)+@ !CNOT(qureg q=<50>,quconst c=<46,55>)+@ !CNOT(qureg q=<50>,quconst c=<46>)+@ !CNOT(qureg q=<50>,quconst c=<3,46>)+@ !CNOT(qureg q=<55>,quconst c=<2,54>)+@ !CNOT(qureg q=<49>,quconst c=<46,54>)+@ !CNOT(qureg q=<49>,quconst c=<2,46>)+@ !CNOT(qureg q=<54>,quconst c=<1,53>)+@ !CNOT(qureg q=<48>,quconst c=<46,53>)+@ !CNOT(qureg q=<48>,quconst c=<1,46>)+@ !CNOT(qureg q=<47>,quconst c=<0,46>)+@ CNOT(qureg q=<47>,quconst c=<39>)+@ CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<46>,quconst c=<47>)+@ !CNOT(qureg q=<47>,quconst c=<5,39>)+@ !CNOT(qureg q=<47>,quconst c=<39>)+@ !CNOT(qureg q=<39>,quconst c=<32>)+@ !CNOT(qureg q=<36>,quconst c=<3,39>)+@ !CNOT(qureg q=<35>,quconst c=<2,39>)+@ !CNOT(qureg q=<34>,quconst c=<1,39>)+@ !CNOT(qureg q=<33>,quconst c=<0,39>)+@ CNOT(qureg q=<40>,quconst c=<32>)+@ CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<39>,quconst c=<40>)+@ !CNOT(qureg q=<40>,quconst c=<24,32>)+@ !CNOT(qureg q=<40>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,23>)+@ !CNOT(qureg q=<18>,quconst c=<5,22>)+@ !CNOT(qureg q=<16>,quconst c=<4,22>)+@ !CNOT(qureg q=<15>,quconst c=<3,22>)+@ !CNOT(qureg q=<14>,quconst c=<2,22>)+@ !CNOT(qureg q=<13>,quconst c=<1,22>)+@ !NOT(qureg q=<24>)+@ CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<23>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<21>)+@ !CNOT(qureg q=<26>,quconst c=<>)+@ CNOT(qureg q=<26>,quconst c=<25>)+@ CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<22>,quconst c=<26>)+@ !CNOT(qureg q=<26>,quconst c=<20,25>)+@ !CNOT(qureg q=<26>,quconst c=<25>)+@ !CNOT(qureg q=<25>,quconst c=<0,21>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ CNOT(qureg q=<30>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ CNOT(qureg q=<28>,quconst c=<32>)+@ CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<27>)+@ !Fanout(quconst a=<26>,quvoid b=<21>;cond=<>)+@ !CNOT(qureg q=<31>,quconst c=<27>)+@ CNOT(qureg q=<32>,quconst c=<1>)+@ CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<27>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<1,31>)+@ !CNOT(qureg q=<32>,quconst c=<1>)+@ !CNOT(qureg q=<31>,quconst c=<28>)+@ CNOT(qureg q=<32>,quconst c=<2>)+@ CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<28>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<2,31>)+@ !CNOT(qureg q=<32>,quconst c=<2>)+@ !CNOT(qureg q=<31>,quconst c=<29>)+@ CNOT(qureg q=<32>,quconst c=<3>)+@ CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<29>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<3,31>)+@ !CNOT(qureg q=<32>,quconst c=<3>)+@ !CNOT(qureg q=<31>,quconst c=<30>)+@ CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<26>,quconst c=<32>)+@ !CNOT(qureg q=<30>,quconst c=<32>)+@ !CNOT(qureg q=<32>,quconst c=<4,31>)+@ !CNOT(qureg q=<32>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<>)+@ CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<21>,quconst c=<31>)+@ !CNOT(qureg q=<20>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<26>)+@ !CNOT(qureg q=<31>,quconst c=<>)+@ !CNOT(qureg q=<26>,quconst c=<27>)+@ CNOT(qureg q=<31>,quconst c=<1>)+@ CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<26>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<1,27>)+@ !CNOT(qureg q=<31>,quconst c=<1>)+@ !CNOT(qureg q=<27>,quconst c=<28>)+@ CNOT(qureg q=<31>,quconst c=<2>)+@ CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<27>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<2,28>)+@ !CNOT(qureg q=<31>,quconst c=<2>)+@ !CNOT(qureg q=<28>,quconst c=<29>)+@ CNOT(qureg q=<31>,quconst c=<3>)+@ CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<28>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<3,29>)+@ !CNOT(qureg q=<31>,quconst c=<3>)+@ !CNOT(qureg q=<29>,quconst c=<30>)+@ CNOT(qureg q=<31>,quconst c=<4>)+@ CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<29>,quconst c=<31>)+@ !CNOT(qureg q=<31>,quconst c=<4,30>)+@ !CNOT(qureg q=<31>,quconst c=<4>)+[13/64] (0.99004+0.099335i) |0000000000000000000000000000000000000000000000000000000000100001> + ... + (0.0049709-0.049543i) |0000000000000000000000000000000000000000000000000100011110010011> (5 terms)+qcl> dump a;+: SPECTRUM a: <0,1,2,3,4,5>+6.2396e-06 |001000>, 1.5547e-08 |010010>, 0.0024792 |010011>, 0.99005 |100001>, 6.2085e-06 |101000>, 6.2085e-06 |101001>, 0.0049709 |110010>, 0.0024792 |110011>+qcl>
@@ -0,0 +1,28 @@+The file bwt.qcl contains an implementation of the Binary Welded Tree+algorithm in Omer's quantum programming language QCL.++QCL is meant as a language to drive a quantum simulator, so it is a+bit tricky to get it to actually output a circuit; however, this can+be done with the right set of command line options. Essentially this+will cause the program to output a trace of the gates being simulated.++The following options were used to produce the file QCL-bwt-n4.out:++echo "dump a;" | \+qcl -i --log=y \+ --test=n \+ --check=n \+ --dump-format=b \+ --auto-dump=1 \+ --log-state=n \+ --bits=64 \+ --show-regs=n \+ --trunc-states=n \+ QCL-BWT-v1.qcl > QCL-bwt-n4.out++Finally, the program QCLParser, which is also contained in this+directory, can be used to import the circuit from QCL-bwt-n4.out +into Quipper, where it can then be, for example, printed. To preview+the circuit in Quipper, do:++./QCLParser < QCL-bwt-n4.out
@@ -0,0 +1,441 @@++////////////////////////////////////////////////////////////+// Oracle //////////////////////////////////////////////////+////////////////////////////////////////////////////////////++cond qufunct cAddNum(quconst control, quvoid out, quconst inpu, + int vector num, int n) {+ + quscratch scratch[n];++ int index;+ int maskbit = 0;+ + if (control[0] and inpu[0]) {+ Not(out[0]);+ }+ + if (num[maskbit] != 0) {+ if (control[0]) {+ Not(out[0]);+ }+ if (inpu[0]) {+ Not(scratch[0]);+ }+ }+ + for index=1 to (n-1) {+ maskbit = index;+ + if (control[0] and inpu[index]) {+ Not(out[index]);+ }+ if ((num[maskbit] != 0) and control[0]) {+ Not(out[index]);+ }+ if (control[0] and scratch[index-1]) {+ Not(out[index]);+ }+ if ((num[maskbit] != 0) and inpu[index]) {+ Not(scratch[index]);+ }+ if (inpu[index] and scratch[index-1]) {+ Not(scratch[index]);+ }+ if ((num[maskbit] != 0) and scratch[index-1]) {+ Not(scratch[index]);+ }+ }+}++++cond qufunct cSubNum(quconst control, quvoid out, quconst inpu, + int vector num, int n) {++ int index;+ int maskbit = 0;+ + quscratch scratch[n];+ + if (control[0] and inpu[0]) {+ Not(out[0]);+ }+ + if (num[maskbit] != 0) {+ if (control[0]) {+ Not(out[0]);+ }+ if (not inpu[0]) {+ Not(scratch[0]);+ }+ }++ for index=1 to (n-1) {+ maskbit = index;+ + if (control[0] and inpu[index]) {+ Not(out[index]);+ }+ if ((num[maskbit] != 0) and control[0]) {+ Not(out[index]);+ }+ if (control[0] and scratch[index-1]) {+ Not(out[index]);+ }+ if ((num[maskbit] != 0) and (not inpu[index])) {+ Not(scratch[index]);+ }+ if ((not inpu[index]) and scratch[index-1]) {+ Not(scratch[index]);+ }+ if ((num[maskbit] != 0) and scratch[index-1]) {+ Not(scratch[index]);+ }+ }+}++cond qufunct doWeld1(quconst a, quvoid b, quconst weldctrl, + int vector f, int n) {++ quscratch addsub[1];+ + if (weldctrl[0] and (not a[n+1])) {+ Not(addsub);+ }+ cAddNum(addsub, b, a, f, n);+ + if (weldctrl[0]) {+ Not(addsub);+ }+ cSubNum(addsub, b, a, f, n);+}+++cond qufunct doWeld0(quconst a, quvoid b, quconst weldctrl, + int vector g, int n) {+ int index;+ + for index=0 to (n-1) {+ if (weldctrl[0] and ((g[index] == 1) xor a[index])) {+ Not(b[index]);+ }+ }+}+++cond qufunct setWeld(quconst a, quvoid b, quconst childctrl,+ quconst direction,+ int vector f, int vector g, int n) {+ + quscratch weldctrl[1];++ if (childctrl[0] and (not direction[0])) {+ Not(weldctrl);+ }+ doWeld0(a, b, weldctrl, f, n);++ if (childctrl[0]) {+ Not(weldctrl);+ }+ doWeld1(a, b, weldctrl, g, n);+ + if (childctrl[0] and a[n+1]) {+ Not(b[n+1]);+ }+ if (childctrl[0]){+ Not(b[n]);+ Not(b[n+1]);+ }+}+++cond qufunct setChildInTree(quconst a, quvoid b, quconst childctrl,+ quconst direction, int n) {+ int index;+ + if (childctrl[0] and direction[0]) {+ Not(b[0]);+ }+ for index=1 to n {+ if (childctrl[0] and a[index-1]) {+ Not(b[index]);+ }+ }+ if (childctrl[0] and a[n+1]) {+ Not(b[n+1]);+ }+}++++cond qufunct setChild(quconst a, quvoid b, quconst ischild,+ quconst direction, + int vector f, int vector g, int n) {++ quscratch childctrl[1];+ + if (ischild[0] and a[n]) {+ Not(childctrl);+ }+ setWeld(a, b, childctrl, direction, f, g, n);+ + if (ischild[0]) {+ Not(childctrl);+ }+ setChildInTree(a, b, childctrl, direction, n);+}++++++cond qufunct parseNodeRoot(quconst a, quvoid root, quvoid even, int n) {+ quscratch scratch[n+1];+ int index;+ + for index=n to 1 step -1 {+ if ((not scratch[index]) and a[index]) {+ Not(scratch[index-1]);+ }+ if (scratch[index]) {+ Not(scratch[index-1]);+ }+ }+ if (not scratch[0]) {+ Not(root);+ Not(even);+ }+}+++cond qufunct parseNodeEven(quconst a, quvoid even, int n) {+ quscratch scratch[n+1];+ int index;+ + for index=n to 1 step -1 {+ if ((not scratch[n]) and a[index]) {+ Not(scratch[index-1]);+ if ((index mod 2) == 0) {+ Not(even);+ }+ }+ if (scratch[index-1]) {+ Not(scratch[n]);+ }+ }+}++cond qufunct testIsParent(quconst a, quconst root, quconst even, + quvoid isparent, + int vector color, int n, int really, + quvoid ismatch) {+ if (really == 0) { + if ((not root[0]) and ismatch[0]) {+ Not(isparent);+ }+ }+ if (color[1] == 1) {+ if (color[0] == 1) {+ if (even[0] and a[0]) {+ Not(ismatch);+ }+ }+ else {+ if (even[0] and (not a[0])) {+ Not(ismatch);+ }+ }+ }+ else {+ if (color[0] == 1) {+ if ((not even[0]) and a[0]) {+ Not(isparent);+ }+ }+ else {+ if ((not even[0]) and (not a[0])) {+ Not(isparent);+ }+ }+ }+ if ((not root[0]) and ismatch[0]) {+ Not(isparent);+ }+}+++cond qufunct testIsChild(qureg even, qureg ischild, qureg direction,+ int vector color, int n) {+ if (color[1] == 1) {+ if (not even[0]) {+ Not(ischild);+ }+ }+ else {+ if (even[0]) {+ Not(ischild);+ }+ }+ if (color[0] == 1) {+ Not(direction);+ }+}+++cond qufunct setParent(quconst a, quvoid b, quconst isparent, int n) {+ int index;+ + for index=0 to (n-1) {+ if (isparent[0] and a[index+1]) {+ Not(b[index]);+ }+ }+ if (isparent[0] and a[n+1]) {+ Not(b[n+1]);+ }+}+++++++++cond qufunct oraclefun(int c, quconst a, quvoid b, quvoid r,+ int vector f, int vector g) {+ int vector color[2];+ int n = #f;+ + quscratch root[1];+ quscratch even[1];+ quscratch isparent[1];+ quscratch ischild[1];+ quscratch direction[1];+ quscratch ismatch[1];+ + if (c == 0) { color[0] = 0; color[1] = 0; }+ if (c == 1) { color[0] = 1; color[1] = 0; }+ if (c == 2) { color[0] = 0; color[1] = 1; }+ if (c == 3) { color[0] = 1; color[1] = 1; }+ + parseNodeRoot(a, root, even, n);+ parseNodeEven(a, even, n);+ testIsParent(a, root, even, isparent, color, n, 1, ismatch);+ testIsChild(even, ischild, direction, color, n);++ setParent(a, b, isparent, n);+ setChild(a, b, ischild, direction, f, g, n);+ if ((not isparent[0]) and (not ischild[0])) {+ Not(r);+ } +}++++////////////////////////////////////////////////////////////+// Timestep ////////////////////////////////////////////////+////////////////////////////////////////////////////////////++operator wGateInv(qureg a, qureg b) {+ Matrix4x4(1,0,0,0,+ 0,sqrt(2)/2,sqrt(2)/2,0,+ 0,sqrt(2)/2,-sqrt(2)/2,0,+ 0,0,0,1,+ a[0]&b[0]);+}++operator toffoliGate(qureg a, qureg b, qureg h){+ Not(b[0]);+ CNot(h[0],a[0]&b[0]);+ Not(b[0]);+}+++operator controlledExpGate(real dt, qureg r, qureg h){+ Not(r[0]);+ Matrix4x4(1,0,0,0,+ 0,1,0,0,+ 0,0,exp(-(0,1)*dt),0,+ 0,0,0,exp((0,1)*dt),+ r[0]&h[0]);+ Not(r[0]);+}+++operator timestep(qureg a, qureg b, qureg r, real dt, int m) {+ qureg h[1];+ + int i;+ + for i=0 to (m-1) {+ !wGateInv(a[i], b[i]);+ }+ for i=0 to (m-1) {+ toffoliGate(a[i], b[i], h);+ }+ + controlledExpGate(dt, r, h);+ + for i=(m-1) to 0 step -1 {+ toffoliGate(a[i], b[i], h);+ }++ for i=(m-1) to 0 step -1 {+ wGateInv(a[i], b[i]);+ }+}+++////////////////////////////////////////////////////////////+// Main procedure //////////////////////////////////////////+////////////////////////////////////////////////////////////+++procedure quinit(qureg a) {+ Not(a[#a-1]);+ Not(a[0]); +}++++procedure bwt(int n, int s, real dt) { + + int k = 4;+ int m = n+2;+ + qureg a[m];+ qureg b[m];+ qureg r[1];+ + int vector f[n];+ int vector g[n];+ + int j;+ int c;+ + reset;+ quinit(a);+ + g[n-1] = 1;+ + for j=0 to (s-1) {+ for c=0 to (k-1) {+ oraclefun(c, a, b, r, f, g);+ timestep(a, b, r, dt, m);+ !oraclefun(c, a, b, r, f, g);+ }+ }+}++bwt(4,1,0.1);+++/*+qureg a[11];+qureg e[1];+qureg r[1];++parseNodeRoot(a, r, e, 9);+*/
@@ -0,0 +1,43 @@+-- ----------------------------------------------------------------------+-- | This tool is the identity function on circuits: it reads a+-- circuit from standard input, and then outputs the same circuit to+-- standard output. This program serves as an illustration for how to+-- write the simplest kind of standalone circuit processing tool.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": the identity function on circuits: read a\n"+ ++ "circuit from standard input, and then outputs the same circuit to\n"+ ++ "standard output. This program serves as an illustration for how to\n"+ ++ "write the simplest kind of standalone circuit processing tool.\n"++-- | Main function: read from 'stdin', then write to 'stdout'. +main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ print_generic ASCII circuit ins
@@ -0,0 +1,119 @@+-- ----------------------------------------------------------------------+-- | This tool decomposes rotation and phase gates into the+-- Clifford+/T/ base, using the approximate synthesis algorithm of+-- <http://arxiv.org/abs/1403.2975>. Other gates are unchanged.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import Quipper.Libraries.Synthesis++import Quipper.Utils.CommandLine+import Quipper.Utils.RandomSource++import Control.Monad+import System.Console.GetOpt+import System.Environment+import System.Exit+import System.IO+import System.Random+++-- | A data type to hold the command line options.+data Options = Options {+ opt_prec :: Double, -- ^ Precision in binary digits.+ opt_keepphase :: KeepPhase, -- ^ Respect global phases?+ opt_rseed :: Maybe StdGen -- ^ An optional random seed.+} deriving Show++-- | The default options.+defaultOptions :: Options+defaultOptions = Options+ { opt_prec = 30 * digits,+ opt_keepphase = False,+ opt_rseed = Nothing+ }+ +-- | The list of command line options, in the format required by 'getOpt'.+options =+ [ Option ['h'] ["help"] + (NoArg help) + "print usage info and exit",+ Option ['d'] ["digits"] + (ReqArg get_digits "<num>") + "precision in decimal digits (default: 30)",+ Option ['b'] ["bits"] + (ReqArg get_bits "<num>") + "precision in binary digits",+ Option ['p'] ["keepphase"] + (NoArg keepphase) + "respect global phase",+ Option ['r'] ["rseed"] + (ReqArg get_rseed "<s>") + "set optional random seed (default: random)"+ ]+ where+ get_digits :: String -> Options -> IO Options+ get_digits str o = + case parse_double str of+ Just d -> return o { opt_prec = d * digits }+ _ -> optfail ("Invalid value for option -d -- " ++ str ++ "\n")+ + get_bits :: String -> Options -> IO Options+ get_bits str o = + case parse_double str of+ Just b -> return o { opt_prec = b * bits }+ _ -> optfail ("Invalid value for option -b -- " ++ str ++ "\n")++ keepphase :: Options -> IO Options+ keepphase o = return o { opt_keepphase = True }++ get_rseed :: String -> Options -> IO Options + get_rseed string o =+ case reads string of+ [(g, "")] -> return o { opt_rseed = Just g }+ _ -> optfail ("Invalid random seed -- " ++ string ++ "\n")++ help :: Options -> IO Options+ help o = do+ usage+ exitSuccess++-- | Process /argv/-style command line options into an 'Options' structure.+dopts :: [String] -> IO Options+dopts argv =+ case getOpt Permute options argv of+ (o, [], []) -> (foldM (flip id) defaultOptions o)+ (_, _, []) -> optfail "Too many non-option arguments\n"+ (_, _, errs) -> optfail (concat errs)++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (usageInfo (header name) options) + where header name =+ name ++ ": decompose rotation and phase gates into the Clifford+T\n" + ++ "base, using the approximate synthesis algorithm of arXiv:1403.2975.\n"+ ++ "Other gates are unchanged.\n\n"+ ++ "Usage: " ++ name ++ " [option...]"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ options <- dopts argv+ let p = opt_prec options+ keepphase = opt_keepphase options+ + -- Set random seed.+ g <- case opt_rseed options of+ Nothing -> newStdGen+ Just g -> return g+ + (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic (Approximate keepphase p (RandomSource g)) circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,40 @@+-- ----------------------------------------------------------------------+-- | This tool decomposes a circuit into binary gates.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": decompose a circuit into binary gates.\n"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic Binary circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,117 @@+-- ----------------------------------------------------------------------+-- | This tool decomposes any circuit into the Clifford+/T/ base,+-- using both exact and approximate synthesis.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import Quipper.Libraries.Synthesis++import Quipper.Utils.CommandLine+import Quipper.Utils.RandomSource++import Control.Monad+import System.Console.GetOpt+import System.Environment+import System.Exit+import System.IO+import System.Random+++-- | A data type to hold the command line options.+data Options = Options {+ opt_prec :: Double, -- ^ Precision in binary digits.+ opt_keepphase :: KeepPhase, -- ^ Respect global phases?+ opt_rseed :: Maybe StdGen -- ^ An optional random seed.+} deriving Show++-- | The default options.+defaultOptions :: Options+defaultOptions = Options+ { opt_prec = 30 * digits,+ opt_keepphase = False,+ opt_rseed = Nothing+ }+ +-- | The list of command line options, in the format required by 'getOpt'.+options =+ [ Option ['h'] ["help"] + (NoArg help) + "print usage info and exit",+ Option ['d'] ["digits"] + (ReqArg get_digits "<num>") + "precision in decimal digits (default: 30)",+ Option ['b'] ["bits"] + (ReqArg get_bits "<num>") + "precision in binary digits",+ Option ['p'] ["keepphase"] + (NoArg keepphase) + "respect global phase",+ Option ['r'] ["rseed"] + (ReqArg get_rseed "<s>") + "set optional random seed (default: random)"+ ]+ where+ get_digits :: String -> Options -> IO Options+ get_digits str o = + case parse_double str of+ Just d -> return o { opt_prec = d * digits }+ _ -> optfail ("Invalid value for option -d -- " ++ str ++ "\n")+ + get_bits :: String -> Options -> IO Options+ get_bits str o = + case parse_double str of+ Just b -> return o { opt_prec = b * bits }+ _ -> optfail ("Invalid value for option -b -- " ++ str ++ "\n")++ keepphase :: Options -> IO Options+ keepphase o = return o { opt_keepphase = True }++ get_rseed :: String -> Options -> IO Options + get_rseed string o =+ case reads string of+ [(g, "")] -> return o { opt_rseed = Just g }+ _ -> optfail ("Invalid random seed -- " ++ string ++ "\n")++ help :: Options -> IO Options+ help o = do+ usage+ exitSuccess++-- | Process /argv/-style command line options into an 'Options' structure.+dopts :: [String] -> IO Options+dopts argv =+ case getOpt Permute options argv of+ (o, [], []) -> (foldM (flip id) defaultOptions o)+ (_, _, []) -> optfail "Too many non-option arguments\n"+ (_, _, errs) -> optfail (concat errs)++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (usageInfo (header name) options) + where header name =+ name ++ ": decompose any circuit into the Clifford+T base\n" + ++ "using both exact and approximate synthesis.\n\n"+ ++ "Usage: " ++ name ++ " [option...]"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ options <- dopts argv+ let p = opt_prec options+ keepphase = opt_keepphase options+ + -- Set random seed.+ g <- case opt_rseed options of+ Nothing -> newStdGen+ Just g -> return g+ + (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic (CliffordT keepphase p (RandomSource g)) circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,281 @@+-- ----------------------------------------------------------------------+-- | This tool reads a circuit from standard input and outputs its depth. ++module Main where++import Quipper+import Quipper.Internal.Circuit+import Quipper.Internal.Monad+import Quipper.Internal.Transformer+import Quipper.Utils.Auxiliary++import Quipper.Libraries.QuipperASCIIParser++import qualified Data.Map as Map+import qualified Data.IntMap as IntMap++import Data.Maybe+import Control.Monad+import Data.List+import Control.Monad.State+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": read a circuit from standard input and output its depth.\n"++-- | Main function: read from 'stdin' and calculate the depth. +main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure+ + (ins,circuit) <- parse_from_stdin+ let depth_circ = transform_generic_shape depth_transformer circuit ins+ let ws = map wire_of_endpoint ins+ let ws' = map endpoint_of_endpoint ins+ let state = execState (depth_circ ws') (initial_depthstate ws)+ let result = global_depth state+ putStrLn ("Depth: " ++ show result)+ putStrLn ("T-Depth: " ++ show (global_tdepth state))++-- | Extract wires from an endpoint, keeping track of whether it was+-- a classical or quantum endpoint.+endpoint_of_endpoint :: B_Endpoint Qubit Bit -> B_Endpoint Wire Wire+endpoint_of_endpoint (Endpoint_Qubit q) = Endpoint_Qubit (wire_of_qubit q)+endpoint_of_endpoint (Endpoint_Bit b) = Endpoint_Bit (wire_of_bit b)++-- | A data structure to hold information about the current depths +data DepthState = DS {+ global_depth :: !Integer, + wire_depths :: !(XIntMap Integer),+ global_tdepth :: !Integer,+ wire_tdepths :: !(XIntMap Integer)+ }++-- | The initial state of the depth information depends on the wires+-- that are inputs to a circuit.+initial_depthstate :: [Wire] -> DepthState+initial_depthstate ws = DS { global_depth = 0, wire_depths = foldr (\w -> xintmap_insert w 0) xintmap_empty ws, + global_tdepth = 0, wire_tdepths = foldr (\w -> xintmap_insert w 0) xintmap_empty ws }++-- | We use a State Monad to carry our state+type Depth a = State DepthState a++-- | Given a list of wires, lookup the current depth+-- of each wire, and return the maximum+input_depth :: [Wire] -> Depth (Integer,Integer)+input_depth ws = do+ state <- get+ let wd = wire_depths state+ let ds = map (\w -> fromJust (xintmap_lookup w wd)) ws+ let maxds = + case ds of+ [] -> 0+ ds -> maximum ds+ let wtd = wire_tdepths state+ let tds = map (\w -> fromJust (xintmap_lookup w wtd)) ws+ let maxtds = + case tds of+ [] -> 0+ tds -> maximum tds+ return (maxds, maxtds)++-- | Given a current depth, and a list of wires, update+-- the depth of each wire, to be one more than the current+-- depth. Also, update the global depth, if necessary.+update_depths :: (Integer,Integer) -> [Wire] -> Bool -> Depth ()+update_depths (old_depth,old_tdepth) ws addt = do+ let new_depth = old_depth + 1+ state <- get+ let gd = global_depth state+ let gd' = if gd < new_depth then new_depth else gd+ let wd = wire_depths state+ let wd' = foldr (\w -> xintmap_insert w new_depth) wd ws+ + let new_tdepth = if addt then old_tdepth + 1 else old_tdepth+ let gdt = global_tdepth state+ let gdt' = if gdt < new_tdepth then new_tdepth else gdt+ let wdt = wire_tdepths state+ let wdt' = foldr (\w -> xintmap_insert w new_tdepth) wdt ws+ put (state {global_depth = gd', wire_depths = wd', global_tdepth = gdt', wire_tdepths = wdt'})++-- | A helper function to combine a list of wires, and+-- a list of controls, into a single list of wires.+wires_of :: [Wire] -> Ctrls Wire Wire -> [Wire]+wires_of ws c = ws ++ (map wire_of_ctrl c)+ where+ wire_of_ctrl :: Signed (B_Endpoint Wire Wire) -> Wire+ wire_of_ctrl (Signed (Endpoint_Qubit w) _) = w+ wire_of_ctrl (Signed (Endpoint_Bit w) _) = w++same_in_out :: Wire -> Ctrls Wire Wire -> Depth (Wire,Ctrls Wire Wire)+same_in_out w c = do+ let inputs = wires_of [w] c+ depth <- input_depth inputs+ let outputs = inputs+ update_depths depth outputs False+ return (w,c)++same_in_out2 :: Wire -> Wire -> Ctrls Wire Wire -> Depth (Wire,Wire,Ctrls Wire Wire)+same_in_out2 w v c = do+ let inputs = wires_of [w,v] c+ depth <- input_depth inputs+ let outputs = inputs+ update_depths depth outputs False+ return (w,v,c)++same_in_out_multi_t :: [Wire] -> Ctrls Wire Wire -> Depth ([Wire],Ctrls Wire Wire)+same_in_out_multi_t ws c = do+ let inputs = wires_of ws c+ depth <- input_depth inputs+ let outputs = inputs+ update_depths depth outputs True+ return (ws,c) ++same_in_out_multi :: [Wire] -> Ctrls Wire Wire -> Depth ([Wire],Ctrls Wire Wire)+same_in_out_multi ws c = do+ let inputs = wires_of ws c+ depth <- input_depth inputs+ let outputs = inputs+ update_depths depth outputs False+ return (ws,c) ++init_wire :: [Wire] -> Depth Wire+init_wire ws = do+ let inputs = ws+ depth <- input_depth inputs+ state <- get+ let wires = wire_depths state+ let b = xintmap_freshkey wires+ let outputs = [b]+ update_depths depth outputs False+ return b++term_wire :: [Wire] -> Wire -> Depth ()+term_wire inputs w = do+ depth <- input_depth inputs+ let new_depth = fst(depth) + 1+ state <- get+ let gd = global_depth state+ let gd' = if gd < new_depth then new_depth else gd+ put (state {global_depth = gd'})+ return ()++depth_transformer :: Transformer (State DepthState) Wire Wire+-- Translation of classical gates:+depth_transformer (T_CNot ncf f) = f same_in_out+depth_transformer (T_CInit val ncf f) = f $ init_wire []+depth_transformer (T_CTerm b ncf f) = f $ term_wire []+depth_transformer (T_CDiscard f) = f $ term_wire []+depth_transformer (T_DTerm b f) = f $ term_wire []+depth_transformer (T_CGate name ncf f) = f $+ \ws -> do+ v <- init_wire ws+ return (v,ws) +depth_transformer g@(T_CGateInv name ncf f) = f $+ \v ws -> do+ term_wire ws v+ return ws+-- Translation of quantum gates:+depth_transformer (T_QGate "trace" _ _ inv ncf f) = f $+ \ws vs c -> return (ws, vs, c) -- don't count a trace gate+depth_transformer (T_QGate "T" _ _ inv ncf f) = f $ + \qs gcs c -> do+ same_in_out_multi_t (qs++gcs) c+ return (qs,gcs,c)+depth_transformer (T_QGate name _ _ inv ncf f) = f $ + \qs gcs c -> do+ same_in_out_multi (qs++gcs) c + return (qs,gcs,c)+depth_transformer (T_QRot name _ _ inv theta ncf f) = f $ + \qs gcs c -> do+ same_in_out_multi (qs++gcs) c + return (qs,gcs,c)+depth_transformer (T_GPhase t ncf f) = f $+ \w c -> do+ same_in_out_multi [] c+ return c+depth_transformer (T_QInit val ncf f) = f $ init_wire []+depth_transformer (T_QMeas f) = f $+ \q -> do+ same_in_out q []+ return q+depth_transformer (T_QDiscard f) = f $ term_wire []+depth_transformer (T_QTerm b ncf f) = f $ term_wire []+depth_transformer (T_Comment name inv f) = f $+ \ws -> return () -- don't count a comment+depth_transformer g@(T_CSwap ncf f) = f same_in_out2+depth_transformer g@(T_QPrep ncf f) = f $+ \w -> error ("depth_transformer: unimplemented gate: " ++ show g)+depth_transformer g@(T_QUnprep ncf f) = f $+ \w -> error ("depth_transformer: unimplemented gate: " ++ show g)+depth_transformer g@(T_Subroutine n inv ncf scf ws_pat a1 vs_pat a2 rflg f) = f $+ \ns ws c -> do+ case Map.lookup n ns of+ Just (TypedSubroutine sub_ocirc _ _ _) -> do+ let RepeatFlag reps = rflg+ let OCircuit (in_wires, sub_circ, out_wires) = if inv then reverse_ocircuit sub_ocirc else sub_ocirc+ let in_bindings = bind_list in_wires ws bindings_empty+ let sub_bcirc = (sub_circ,ns)+ state_in <- get+ out_bind <- transform_bcircuit_rec depth_transformer sub_bcirc in_bindings+ state_out <- get+ put (rep_change reps state_in state_out)+ return (unbind_list out_bind out_wires, c) + Nothing -> error $ "depth_transformer: subroutine " ++ show n ++ " not found (in " ++ showNames ns ++ ")"++-- | The following function updates the state by multiplying the differences between+-- the given /state_out/ and the given /state_in/ by the given number of repetitions.+rep_change :: Integer -> DepthState -> DepthState -> DepthState+rep_change reps state_in state_out = DS {+ global_depth = new_global_depth,+ wire_depths = new_wire_depths,+ global_tdepth = new_global_tdepth,+ wire_tdepths = new_wire_tdepths+ }+ where+ in_global_depth = global_depth state_in+ out_global_depth = global_depth state_out+ new_global_depth = in_global_depth + (reps * (out_global_depth - in_global_depth))+ in_wire_depths = wire_depths state_in+ out_wire_depths = wire_depths state_out+ out_wire_depths_list = IntMap.toList (xintmap_to_intmap (out_wire_depths))+ new_depths = map (\(w,v_out) -> (w,+ case (xintmap_lookup w in_wire_depths) of+ Nothing -> v_out * reps+ Just v_in ->+ case v_in > v_out of+ True -> reps * v_out + False -> v_in + (reps * (v_out - v_in)))) out_wire_depths_list+ new_wire_depths = xintmap_inserts new_depths out_wire_depths+ in_global_tdepth = global_tdepth state_in+ out_global_tdepth = global_tdepth state_out+ new_global_tdepth = in_global_tdepth + (reps * (out_global_tdepth - in_global_tdepth))+ in_wire_tdepths = wire_tdepths state_in+ out_wire_tdepths = wire_tdepths state_out+ out_wire_tdepths_list = IntMap.toList (xintmap_to_intmap (out_wire_tdepths))+ new_tdepths = map (\(w,v_out) -> (w,+ case (xintmap_lookup w in_wire_tdepths) of+ Nothing -> v_out * reps+ Just v_in ->+ case v_in > v_out of+ True -> reps * v_out + False -> v_in + (reps * (v_out - v_in)))) out_wire_tdepths_list+ new_wire_tdepths = xintmap_inserts new_tdepths out_wire_tdepths
@@ -0,0 +1,39 @@+-- ----------------------------------------------------------------------+-- | This tool reads a circuit from standard input and converts it to+-- the graphical EPS format. The converted circuit is written to+-- standard output.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": read a circuit from standard input and convert it to EPS.\n"++-- | Main function: read from 'stdin' and write to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ print_generic EPS circuit ins
@@ -0,0 +1,55 @@+-- ----------------------------------------------------------------------+-- | This tool decomposes all gates that permit exact Clifford+/T/+-- representations into the following concrete gate base for+-- Clifford+/T/:+--+-- * controlled-not (with one positive or negative control),+--+-- * any single-qubit Clifford gates,+--+-- * /T/ and /T/[sup †].+--+-- Classical controls and classical gates are not subject to the gate+-- base, and are left untouched.+module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": decompose all gates that permit exact Clifford+T\n"+ ++ "representations into the following concrete gate base for\n"+ ++ "Clifford+T: CNOT (with one positive or negative control),\n"+ ++ "any single-qubit Clifford gates, T, and T-inverse.\n"+ ++ "Classical controls and classical gates are not subject to the gate\n"+ ++ "base, and are left untouched.\n"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic Exact circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,39 @@+-- ----------------------------------------------------------------------+-- | This tool reads a circuit from standard input and calculates gate+-- counts.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": read a circuit from standard input and calculate gate counts.\n"++-- | Main function: read from 'stdin', and write gate counts to+-- 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ print_generic GateCount circuit ins
@@ -0,0 +1,39 @@+-- ----------------------------------------------------------------------+-- | This tool reads a circuit from standard input and converts it to+-- the graphical PDF format. The converted circuit is written to+-- standard output.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": read a circuit from standard input and convert it to PDF.\n"++-- | Main function: read from 'stdin' and write to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ print_generic PDF circuit ins
@@ -0,0 +1,48 @@+-- ----------------------------------------------------------------------+-- | This tool reads a circuit from standard input and displays it in+-- the previewer. For the previewer to work, Acrobat Reader must be+-- installed. +-- +-- Note that it is possible to interrupt the circuit generation with+-- Ctrl-C; in this case, the circuit generated up to that point will+-- be displayed. A second Ctrl-C will kill the program.+-- +-- Interrupting with Ctrl-C may not work in the Windows operating system.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": read a circuit from standard input and display it in the\n"+ ++ "previewer. Circuit generation can be interrupted with Ctrl-C;\n"+ ++ "in this case a partial circuit will be displayed. A second Ctrl-C\n"+ ++ "will kill the program. Ctrl-C may not work in the Windows OS.\n"++-- | Main function: read from 'stdin' and call the previewer. +main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin_with_handler+ print_generic Preview circuit ins
@@ -0,0 +1,195 @@+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleContexts #-}++-- ----------------------------------------------------------------------+-- | This tool reads a circuit from standard input, and then simulates+-- it by applying it to every possible basis vector. This is only+-- intended for debugging (of very small circuits), and is by no means+-- an industrial-strength simulator. Any measurements in the circuit+-- will be simulated probabilistically.++module Main where++import Quipper+import Quipper.Internal+import Quipper.Libraries.Simulation+import Quipper.Libraries.QuipperASCIIParser++import Quipper.Utils.Auxiliary (string_of_list)+import Quipper.Utils.CommandLine+import Quipper.Utils.Sampling+import Quantum.Synthesis.Ring+import Quantum.Synthesis.SymReal++import Data.Map (Map)+import qualified Data.Map as Map++import Control.Monad+import Data.Number.FixedPrec+import System.Console.GetOpt+import System.Environment+import System.Exit+import System.Random++-- ----------------------------------------------------------------------+-- * Command line options++-- | A data type to hold the command line options.+data Options = Options {+ prec :: Integer, -- ^ Precision in decimal digits.+ addprec :: Int -- ^ Additional precision to use internally.+} deriving Show++-- | The default options.+defaultOptions :: Options+defaultOptions = Options+ { prec = 30,+ addprec = 10+ }++-- | The list of command line options, in the format required by 'getOpt'.+options =+ [ Option ['h'] ["help"] + (NoArg help) + "print usage info and exit",+ Option ['d'] ["digits"] + (ReqArg opt_digits "<num>") + "precision in decimal digits (default: 30)",+ Option ['a'] ["addprec"] + (ReqArg opt_additional "<num>") + "additional digits to use internally (default: 10)"+ ]+ where+ opt_digits :: String -> Options -> IO Options+ opt_digits str o = + case parse_int str of+ Just d -> return o { prec = d }+ _ -> optfail ("Invalid value for option -d -- " ++ str ++ "\n")+ + opt_additional :: String -> Options -> IO Options+ opt_additional str o = + case parse_int str of+ Just d -> return o { addprec = d }+ _ -> optfail ("Invalid value for option -a -- " ++ str ++ "\n")+ + help :: Options -> IO Options+ help o = do+ usage+ exitSuccess++-- | Process /argv/-style command line options into an 'Options' structure.+dopts :: [String] -> IO Options+dopts argv =+ case getOpt Permute options argv of+ (o, [], []) -> (foldM (flip id) defaultOptions o)+ (_, _, []) -> optfail "Too many non-option arguments\n"+ (_, _, errs) -> optfail (concat errs)++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (usageInfo (header name) options) + where header name =+ name ++ ": reads a circuit from standard input, and then simulates\n"+ ++ "it by applying it to every possible basis vector. This is only\n"+ ++ "intended for debugging (of very small circuits), and is by no means\n"+ ++ "an industrial-strength simulator. Any measurements in the circuit\n"+ ++ "will be simulated probabilistically.\n\n"+ ++ "Usage: " ++ name ++ " [option...]"++-- ----------------------------------------------------------------------+-- * Payload functions++-- | Convert a boolean vector to ket notation.+show_ket :: [Bool] -> String+show_ket = string_of_list "|" "" ">" "|>" show_bit where+ show_bit False = "0"+ show_bit True = "1"++-- | A version of 'sim_amps' that works on 'FixedPrec' numbers and+-- uses /n/ digits of additional precision internally during the+-- simulation.+sim_amps_addprec :: forall g p qa qb.(RandomGen g, Precision p, QData qa, QData qb, Ord (BType qb)) => g -> Int -> (qa -> Circ qb) -> Map (BType qa) (Cplx (FixedPrec p)) -> Map (BType qb) (Cplx (FixedPrec p))+sim_amps_addprec g addprec circ state =+ with_added_digits addprec f (dummy state) :: Map (BType qb) (Cplx (FixedPrec p)) where+ dummy :: Map a (Cplx f) -> f+ dummy = undefined+ f :: (Precision e) => FixedPrec e -> Map (BType qb) (Cplx (FixedPrec p))+ f arg = Map.map cast_cplx out_state where+ in_state = Map.map cast_cplx state+ out_state = sim_amps g circ in_state+ _ = dummy in_state `attypeof` arg+ attypeof :: a -> a -> a+ attypeof x y = x+ cast_cplx (Cplx a b) = Cplx (cast a) (cast b)++-- | Input a source of randomness, an added precision, a real number,+-- a circuit, and a basis vector. Simulate the circuit on the given+-- basis vector, and print out the result of the simulation in the+-- format+-- +-- > |011> ->+-- > |011> 0.7071067811+-- > |010> -0.7071067811+-- +-- The real number argument is a dummy argument; it serves to+-- determine the real number type (e.g., 'Double', 'FixedPrec' /e/) to+-- be used for the simulation. In this way, it is possible to simulate+-- up to arbitrary precision.+print_simulation_internal :: (RandomGen g, Precision e) => g -> Int -> FixedPrec e -> ([Qubit] -> Circ [Qubit]) -> [Bool] -> IO ()+print_simulation_internal g addprec r circ l = do+ putStrLn $ show_ket l ++ " ->" + foreach amps $ \(ket, amp) -> do+ when (amp /= 0) $ do+ putStrLn $ [' ' | x <- l] ++ " " ++ show_ket ket ++ " " ++ show amp+ where+ state = Map.fromList [(l, Cplx (1 `attypeof` r) 0)]+ amps = Map.toList $ sim_amps_addprec g addprec circ state+ + attypeof :: a -> a -> a+ attypeof x y = x++-- | Like 'print_simulation_internal', but instead of a dummy real number+-- argument, specify a number of decimal digits for the simulation.+print_simulation :: (RandomGen g) => g -> Integer -> Int -> ([Qubit] -> Circ [Qubit]) -> [Bool] -> IO ()+print_simulation g d addprec = dynamic_fixedprec d (print_simulation_internal g addprec) (undefined :: Double)++-- | Input a source of randomness, a precision (in decimal digits), a+-- quantum circuit and a shape argument. Simulate the circuit for+-- every possible basis vector of the given shape, and print out the+-- result of the simulations in the format+-- +-- > |011> ->+-- > |011> 0.7071067811+-- > |010> -0.7071067811+simulate_all :: (RandomGen g) => g -> Integer -> Int -> ([Qubit] -> Circ [Qubit]) -> [a] -> IO ()+simulate_all g d addprec circ ins = do+ let ls = sample_all0 [ True | x <- ins ]+ foreach ls $ \l -> do+ print_simulation g d addprec circ l++-- ----------------------------------------------------------------------+-- * The main function++-- | Main function: read from 'stdin', then simulate.+main :: IO ()+main = do+ -- Process command line options+ argv <- getArgs+ options <- dopts argv+ let d = prec options+ let a = addprec options+ + -- Read circuit+ (ins, circuit) <- parse_from_stdin+ let circ :: [Qubit] -> Circ [Qubit]+ circ qs = do+ let es = [ Endpoint_Qubit q | q <- qs ]+ es <- circuit es+ let qs = [ q | Endpoint_Qubit q <- es ]+ return qs+ + -- Simulate circuit+ g <- newStdGen+ simulate_all g d a circ ins
@@ -0,0 +1,109 @@+-- ----------------------------------------------------------------------+-- | This tool decomposes any circuit into the gate set {/X/, /Y/,+-- /Z/, /H/, /S/, /S/[sup †], /T/, /T/[sup †], /CNOT/}, using both+-- exact and approximate synthesis.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import Quipper.Libraries.Synthesis++import Quipper.Utils.CommandLine+import Quipper.Utils.RandomSource++import Control.Monad+import System.Console.GetOpt+import System.Environment+import System.Exit+import System.IO+import System.Random+++-- | A data type to hold the command line options.+data Options = Options {+ opt_prec :: Double, -- ^ Precision in binary digits.+ opt_rseed :: Maybe StdGen -- ^ An optional random seed.+} deriving Show++-- | The default options.+defaultOptions :: Options+defaultOptions = Options+ { opt_prec = 30 * digits,+ opt_rseed = Nothing+ }+ +-- | The list of command line options, in the format required by 'getOpt'.+options =+ [ Option ['h'] ["help"] + (NoArg help) + "print usage info and exit",+ Option ['d'] ["digits"] + (ReqArg get_digits "<num>") + "precision in decimal digits (default: 30)",+ Option ['b'] ["bits"] + (ReqArg get_bits "<num>") + "precision in binary digits",+ Option ['r'] ["rseed"] + (ReqArg get_rseed "<s>") + "set optional random seed (default: random)"+ ]+ where+ get_digits :: String -> Options -> IO Options+ get_digits str o = + case parse_double str of+ Just d -> return o { opt_prec = d * digits }+ _ -> optfail ("Invalid value for option -d -- " ++ str ++ "\n")+ + get_bits :: String -> Options -> IO Options+ get_bits str o = + case parse_double str of+ Just b -> return o { opt_prec = b * bits }+ _ -> optfail ("Invalid value for option -b -- " ++ str ++ "\n")++ get_rseed :: String -> Options -> IO Options + get_rseed string o =+ case reads string of+ [(g, "")] -> return o { opt_rseed = Just g }+ _ -> optfail ("Invalid random seed -- " ++ string ++ "\n")++ help :: Options -> IO Options+ help o = do+ usage+ exitSuccess++-- | Process /argv/-style command line options into an 'Options' structure.+dopts :: [String] -> IO Options+dopts argv =+ case getOpt Permute options argv of+ (o, [], []) -> (foldM (flip id) defaultOptions o)+ (_, _, []) -> optfail "Too many non-option arguments\n"+ (_, _, errs) -> optfail (concat errs)++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (usageInfo (header name) options) + where header name =+ name ++ ": decompose any circuit into the gate set {X, Y, Z, H,\n"+ ++ "S, S+, T, T+, CNOT}, using both exact and approximate synthesis.\n\n"+ ++ "Usage: " ++ name ++ " [option...]"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ options <- dopts argv+ let p = opt_prec options+ + -- Set random seed. + g <- case opt_rseed options of+ Nothing -> newStdGen+ Just g -> return g+ + (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic (Standard p (RandomSource g)) circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,108 @@+-- ----------------------------------------------------------------------+-- | This tool decomposes any circuit into the gate base {/H/, /S/,+-- /T/, /CNot/}, using both exact and approximate synthesis.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import Quipper.Libraries.Synthesis++import Quipper.Utils.CommandLine+import Quipper.Utils.RandomSource++import Control.Monad+import System.Console.GetOpt+import System.Environment+import System.Exit+import System.IO+import System.Random+++-- | A data type to hold the command line options.+data Options = Options {+ opt_prec :: Double, -- ^ Precision in binary digits.+ opt_rseed :: Maybe StdGen -- ^ An optional random seed.+} deriving Show++-- | The default options.+defaultOptions :: Options+defaultOptions = Options+ { opt_prec = 30 * digits,+ opt_rseed = Nothing+ }+ +-- | The list of command line options, in the format required by 'getOpt'.+options =+ [ Option ['h'] ["help"] + (NoArg help) + "print usage info and exit",+ Option ['d'] ["digits"] + (ReqArg get_digits "<num>") + "precision in decimal digits (default: 30)",+ Option ['b'] ["bits"] + (ReqArg get_bits "<num>") + "precision in binary digits",+ Option ['r'] ["rseed"] + (ReqArg get_rseed "<s>") + "set optional random seed (default: random)"+ ]+ where+ get_digits :: String -> Options -> IO Options+ get_digits str o = + case parse_double str of+ Just d -> return o { opt_prec = d * digits }+ _ -> optfail ("Invalid value for option -d -- " ++ str ++ "\n")+ + get_bits :: String -> Options -> IO Options+ get_bits str o = + case parse_double str of+ Just b -> return o { opt_prec = b * bits }+ _ -> optfail ("Invalid value for option -b -- " ++ str ++ "\n")++ get_rseed :: String -> Options -> IO Options + get_rseed string o =+ case reads string of+ [(g, "")] -> return o { opt_rseed = Just g }+ _ -> optfail ("Invalid random seed -- " ++ string ++ "\n")++ help :: Options -> IO Options+ help o = do+ usage+ exitSuccess++-- | Process /argv/-style command line options into an 'Options' structure.+dopts :: [String] -> IO Options+dopts argv =+ case getOpt Permute options argv of+ (o, [], []) -> (foldM (flip id) defaultOptions o)+ (_, _, []) -> optfail "Too many non-option arguments\n"+ (_, _, errs) -> optfail (concat errs)++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (usageInfo (header name) options) + where header name =+ name ++ ": decompose any circuit into the gate base {H, S, T, CNOT},\n"+ ++ "using both exact and approximate synthesis.\n\n"+ ++ "Usage: " ++ name ++ " [option...]"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ options <- dopts argv+ let p = opt_prec options+ + -- Set random seed. + g <- case opt_rseed options of+ Nothing -> newStdGen+ Just g -> return g+ + (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic (Strict p (RandomSource g)) circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,50 @@+-- | This tool trims excess controls from gates. Specifically, it+-- decomposes a circuit so that:+--+-- * not-gates, Pauli /X/-, /Y/-, and /Z/-gates, and /iX/-gates have+-- at most two controls;+--+-- * phase gates of the form Diag(1, φ) have no controls; and+--+-- * all other gates have at most one control.+module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": trims excess controls from gates. Specifically,\n"+ ++ "decompose a circuit so that not-gates, Pauli gates, and\n"+ ++ "iX-gates have at most two controls, phase gates of the form\n"+ ++ "Diag(1, phi) have no controls; and other gates have at most one\n"+ ++ "control.\n"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic TrimControls circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,56 @@+-- ----------------------------------------------------------------------+-- | This tool unwinds a circuit by inlining all top-level boxed+-- subroutines. It can sometimes be used to pre-process circuits for+-- use by other tools that may not yet work correctly with boxed+-- subroutines. Note, however, that this can substantially increase+-- the size of the circuit representation.+-- +-- Note that only top-level boxed subroutines are inlined; the tool+-- may have to be applied several times to remove all levels of boxes.+-- +-- This is only an illustration for how to write such tools; another+-- tool could be written that does \"deep\" unboxing.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Unboxing+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": unwind a circuit by inlining all top-level boxed\n"+ ++ "subroutines. Only top-level boxed subroutines are inlined;\n"+ ++ "the tool may have to be applied several times to remove all\n"+ ++ "levels of boxes. This is only an illustration for how to write\n"+ ++ "such tools; another tool could be written that does \"deep\"\n"+ ++ "unboxing.\n"+++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin + let unboxed_circuit = unbox circuit+ print_generic ASCII unboxed_circuit ins
@@ -0,0 +1,76 @@+Using the Quipper tools+=======================++The quipper-tools package contains a number of stand-alone Quipper+programs, most of which read a circuit in the Quipper ASCII format on+standard input. These tools are intended as examples; they illustrate+how other such tools can be written. Each tool also has a --help+option to display usage information.++Graphical viewing of circuits:+------------------------------++* quipper-eps: convert a circuit from ASCII to EPS format.++* quipper-pdf: convert a circuit from ASCII to PDF format.++* quipper-preview: read a circuit and launch the previewer.++Decomposing circuits into different gate sets:+----------------------------------------------++* quipper-approximate: decompose rotation and phase gates into the+ Clifford+T base, using the approximate synthesis algorithm of + http://arxiv.org/abs/1403.2975.++* quipper-binary: decompose a circuit into binary gates.++* quipper-cliffordt: decompose a circuit into the Clifford+T base,+ using both exact and approximate synthesis.++* quipper-exact: decompose all gates that permit exact Clifford+T+ representations into the following gates: controlled-not (with+ positive or negative control), and single-qubit Clifford gate, T,+ and T⁻¹. Classical controls and classical gates are not subject to+ the gate base, and are left untouched.++* quipper-standard: decompose a circuit into the "standard" gates {X,+ Y, Z, H, S, S⁻¹, T, T⁻¹, CNOT}, using exact and approximate+ synthesis.++* quipper-strict: decompose a circuit into the gates {H, S, T, CNOT},+ using exact and approximate synthesis.++* quipper-trimcontrols: trim excess controls from gates, so that the+ gates {NOT, X, Y, Z, iX} have at most two controls, phase gates have+ no controls, and all other gates have at most one control.++* quipper-unbox: unwind a circuit by inlining all top-level boxed+ subroutines. This can substantially increase the size of the circuit+ representation. ++Resource analysis:+------------------++* quipper-depth: read a circuit and output its depth.++* quipper-gatecount: read a circuit and output gate counts.++Simulation:+-----------++* quipper-simulate: read a circuit and simulate it by applying it to+ every posssible basis vector. This is not efficient and only works+ for very small circuits. Any measurements in the circuit will be+ simulated probabilistically.++Miscellaneous:+--------------++* quipper-ascii: the identity function on circuits: read a circuit on+ standard output and then output the same circuit to standard+ output. Illustrates how to parse and output the Quipper ASCII+ circuit format.++* quipper-qclparser: read an execution trace produced by Ömer's QCL,+ and turn it into a Quipper circuit.
@@ -0,0 +1,15 @@+{-# LANGUAGE CPP #-}++import Distribution.Simple+import Quipper.Distribution.Preprocessor++-- The following is needed because of an incompatible change in Cabal 2.+#if MIN_VERSION_Cabal(2,0,0)+wrap x = \_ _ _ -> x+#else+wrap x = \_ _ -> x+#endif++main = defaultMainWithHooks simpleUserHooks {+ hookedPreProcessors = [("hs", wrap ppQuipper)]+ }
@@ -0,0 +1,123 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/Approximate.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool decomposes rotation and phase gates into the+-- Clifford+/T/ base, using the approximate synthesis algorithm of+-- <http://arxiv.org/abs/1403.2975>. Other gates are unchanged.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import Quipper.Libraries.Synthesis++import Quipper.Utils.CommandLine+import Quipper.Utils.RandomSource++import Control.Monad+import System.Console.GetOpt+import System.Environment+import System.Exit+import System.IO+import System.Random+++-- | A data type to hold the command line options.+data Options = Options {+ opt_prec :: Double, -- ^ Precision in binary digits.+ opt_keepphase :: KeepPhase, -- ^ Respect global phases?+ opt_rseed :: Maybe StdGen -- ^ An optional random seed.+} deriving Show++-- | The default options.+defaultOptions :: Options+defaultOptions = Options+ { opt_prec = 30 * digits,+ opt_keepphase = False,+ opt_rseed = Nothing+ }+ +-- | The list of command line options, in the format required by 'getOpt'.+options =+ [ Option ['h'] ["help"] + (NoArg help) + "print usage info and exit",+ Option ['d'] ["digits"] + (ReqArg get_digits "<num>") + "precision in decimal digits (default: 30)",+ Option ['b'] ["bits"] + (ReqArg get_bits "<num>") + "precision in binary digits",+ Option ['p'] ["keepphase"] + (NoArg keepphase) + "respect global phase",+ Option ['r'] ["rseed"] + (ReqArg get_rseed "<s>") + "set optional random seed (default: random)"+ ]+ where+ get_digits :: String -> Options -> IO Options+ get_digits str o = + case parse_double str of+ Just d -> return o { opt_prec = d * digits }+ _ -> optfail ("Invalid value for option -d -- " ++ str ++ "\n")+ + get_bits :: String -> Options -> IO Options+ get_bits str o = + case parse_double str of+ Just b -> return o { opt_prec = b * bits }+ _ -> optfail ("Invalid value for option -b -- " ++ str ++ "\n")++ keepphase :: Options -> IO Options+ keepphase o = return o { opt_keepphase = True }++ get_rseed :: String -> Options -> IO Options + get_rseed string o =+ case reads string of+ [(g, "")] -> return o { opt_rseed = Just g }+ _ -> optfail ("Invalid random seed -- " ++ string ++ "\n")++ help :: Options -> IO Options+ help o = do+ usage+ exitSuccess++-- | Process /argv/-style command line options into an 'Options' structure.+dopts :: [String] -> IO Options+dopts argv =+ case getOpt Permute options argv of+ (o, [], []) -> (foldM (flip id) defaultOptions o)+ (_, _, []) -> optfail "Too many non-option arguments\n"+ (_, _, errs) -> optfail (concat errs)++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (usageInfo (header name) options) + where header name =+ name ++ ": decompose rotation and phase gates into the Clifford+T\n" + ++ "base, using the approximate synthesis algorithm of arXiv:1403.2975.\n"+ ++ "Other gates are unchanged.\n\n"+ ++ "Usage: " ++ name ++ " [option...]"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ options <- dopts argv+ let p = opt_prec options+ keepphase = opt_keepphase options+ + -- Set random seed.+ g <- case opt_rseed options of+ Nothing -> newStdGen+ Just g -> return g+ + (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic (Approximate keepphase p (RandomSource g)) circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,47 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/ASCII.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool is the identity function on circuits: it reads a+-- circuit from standard input, and then outputs the same circuit to+-- standard output. This program serves as an illustration for how to+-- write the simplest kind of standalone circuit processing tool.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": the identity function on circuits: read a\n"+ ++ "circuit from standard input, and then outputs the same circuit to\n"+ ++ "standard output. This program serves as an illustration for how to\n"+ ++ "write the simplest kind of standalone circuit processing tool.\n"++-- | Main function: read from 'stdin', then write to 'stdout'. +main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ print_generic ASCII circuit ins
@@ -0,0 +1,44 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/Binary.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool decomposes a circuit into binary gates.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": decompose a circuit into binary gates.\n"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic Binary circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,121 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/CliffordT.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool decomposes any circuit into the Clifford+/T/ base,+-- using both exact and approximate synthesis.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import Quipper.Libraries.Synthesis++import Quipper.Utils.CommandLine+import Quipper.Utils.RandomSource++import Control.Monad+import System.Console.GetOpt+import System.Environment+import System.Exit+import System.IO+import System.Random+++-- | A data type to hold the command line options.+data Options = Options {+ opt_prec :: Double, -- ^ Precision in binary digits.+ opt_keepphase :: KeepPhase, -- ^ Respect global phases?+ opt_rseed :: Maybe StdGen -- ^ An optional random seed.+} deriving Show++-- | The default options.+defaultOptions :: Options+defaultOptions = Options+ { opt_prec = 30 * digits,+ opt_keepphase = False,+ opt_rseed = Nothing+ }+ +-- | The list of command line options, in the format required by 'getOpt'.+options =+ [ Option ['h'] ["help"] + (NoArg help) + "print usage info and exit",+ Option ['d'] ["digits"] + (ReqArg get_digits "<num>") + "precision in decimal digits (default: 30)",+ Option ['b'] ["bits"] + (ReqArg get_bits "<num>") + "precision in binary digits",+ Option ['p'] ["keepphase"] + (NoArg keepphase) + "respect global phase",+ Option ['r'] ["rseed"] + (ReqArg get_rseed "<s>") + "set optional random seed (default: random)"+ ]+ where+ get_digits :: String -> Options -> IO Options+ get_digits str o = + case parse_double str of+ Just d -> return o { opt_prec = d * digits }+ _ -> optfail ("Invalid value for option -d -- " ++ str ++ "\n")+ + get_bits :: String -> Options -> IO Options+ get_bits str o = + case parse_double str of+ Just b -> return o { opt_prec = b * bits }+ _ -> optfail ("Invalid value for option -b -- " ++ str ++ "\n")++ keepphase :: Options -> IO Options+ keepphase o = return o { opt_keepphase = True }++ get_rseed :: String -> Options -> IO Options + get_rseed string o =+ case reads string of+ [(g, "")] -> return o { opt_rseed = Just g }+ _ -> optfail ("Invalid random seed -- " ++ string ++ "\n")++ help :: Options -> IO Options+ help o = do+ usage+ exitSuccess++-- | Process /argv/-style command line options into an 'Options' structure.+dopts :: [String] -> IO Options+dopts argv =+ case getOpt Permute options argv of+ (o, [], []) -> (foldM (flip id) defaultOptions o)+ (_, _, []) -> optfail "Too many non-option arguments\n"+ (_, _, errs) -> optfail (concat errs)++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (usageInfo (header name) options) + where header name =+ name ++ ": decompose any circuit into the Clifford+T base\n" + ++ "using both exact and approximate synthesis.\n\n"+ ++ "Usage: " ++ name ++ " [option...]"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ options <- dopts argv+ let p = opt_prec options+ keepphase = opt_keepphase options+ + -- Set random seed.+ g <- case opt_rseed options of+ Nothing -> newStdGen+ Just g -> return g+ + (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic (CliffordT keepphase p (RandomSource g)) circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,285 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/Depth.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool reads a circuit from standard input and outputs its depth. ++module Main where++import Quipper+import Quipper.Internal.Circuit+import Quipper.Internal.Monad+import Quipper.Internal.Transformer+import Quipper.Utils.Auxiliary++import Quipper.Libraries.QuipperASCIIParser++import qualified Data.Map as Map+import qualified Data.IntMap as IntMap++import Data.Maybe+import Control.Monad+import Data.List+import Control.Monad.State+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": read a circuit from standard input and output its depth.\n"++-- | Main function: read from 'stdin' and calculate the depth. +main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure+ + (ins,circuit) <- parse_from_stdin+ let depth_circ = transform_generic_shape depth_transformer circuit ins+ let ws = map wire_of_endpoint ins+ let ws' = map endpoint_of_endpoint ins+ let state = execState (depth_circ ws') (initial_depthstate ws)+ let result = global_depth state+ putStrLn ("Depth: " ++ show result)+ putStrLn ("T-Depth: " ++ show (global_tdepth state))++-- | Extract wires from an endpoint, keeping track of whether it was+-- a classical or quantum endpoint.+endpoint_of_endpoint :: B_Endpoint Qubit Bit -> B_Endpoint Wire Wire+endpoint_of_endpoint (Endpoint_Qubit q) = Endpoint_Qubit (wire_of_qubit q)+endpoint_of_endpoint (Endpoint_Bit b) = Endpoint_Bit (wire_of_bit b)++-- | A data structure to hold information about the current depths +data DepthState = DS {+ global_depth :: !Integer, + wire_depths :: !(XIntMap Integer),+ global_tdepth :: !Integer,+ wire_tdepths :: !(XIntMap Integer)+ }++-- | The initial state of the depth information depends on the wires+-- that are inputs to a circuit.+initial_depthstate :: [Wire] -> DepthState+initial_depthstate ws = DS { global_depth = 0, wire_depths = foldr (\w -> xintmap_insert w 0) xintmap_empty ws, + global_tdepth = 0, wire_tdepths = foldr (\w -> xintmap_insert w 0) xintmap_empty ws }++-- | We use a State Monad to carry our state+type Depth a = State DepthState a++-- | Given a list of wires, lookup the current depth+-- of each wire, and return the maximum+input_depth :: [Wire] -> Depth (Integer,Integer)+input_depth ws = do+ state <- get+ let wd = wire_depths state+ let ds = map (\w -> fromJust (xintmap_lookup w wd)) ws+ let maxds = + case ds of+ [] -> 0+ ds -> maximum ds+ let wtd = wire_tdepths state+ let tds = map (\w -> fromJust (xintmap_lookup w wtd)) ws+ let maxtds = + case tds of+ [] -> 0+ tds -> maximum tds+ return (maxds, maxtds)++-- | Given a current depth, and a list of wires, update+-- the depth of each wire, to be one more than the current+-- depth. Also, update the global depth, if necessary.+update_depths :: (Integer,Integer) -> [Wire] -> Bool -> Depth ()+update_depths (old_depth,old_tdepth) ws addt = do+ let new_depth = old_depth + 1+ state <- get+ let gd = global_depth state+ let gd' = if gd < new_depth then new_depth else gd+ let wd = wire_depths state+ let wd' = foldr (\w -> xintmap_insert w new_depth) wd ws+ + let new_tdepth = if addt then old_tdepth + 1 else old_tdepth+ let gdt = global_tdepth state+ let gdt' = if gdt < new_tdepth then new_tdepth else gdt+ let wdt = wire_tdepths state+ let wdt' = foldr (\w -> xintmap_insert w new_tdepth) wdt ws+ put (state {global_depth = gd', wire_depths = wd', global_tdepth = gdt', wire_tdepths = wdt'})++-- | A helper function to combine a list of wires, and+-- a list of controls, into a single list of wires.+wires_of :: [Wire] -> Ctrls Wire Wire -> [Wire]+wires_of ws c = ws ++ (map wire_of_ctrl c)+ where+ wire_of_ctrl :: Signed (B_Endpoint Wire Wire) -> Wire+ wire_of_ctrl (Signed (Endpoint_Qubit w) _) = w+ wire_of_ctrl (Signed (Endpoint_Bit w) _) = w++same_in_out :: Wire -> Ctrls Wire Wire -> Depth (Wire,Ctrls Wire Wire)+same_in_out w c = do+ let inputs = wires_of [w] c+ depth <- input_depth inputs+ let outputs = inputs+ update_depths depth outputs False+ return (w,c)++same_in_out2 :: Wire -> Wire -> Ctrls Wire Wire -> Depth (Wire,Wire,Ctrls Wire Wire)+same_in_out2 w v c = do+ let inputs = wires_of [w,v] c+ depth <- input_depth inputs+ let outputs = inputs+ update_depths depth outputs False+ return (w,v,c)++same_in_out_multi_t :: [Wire] -> Ctrls Wire Wire -> Depth ([Wire],Ctrls Wire Wire)+same_in_out_multi_t ws c = do+ let inputs = wires_of ws c+ depth <- input_depth inputs+ let outputs = inputs+ update_depths depth outputs True+ return (ws,c) ++same_in_out_multi :: [Wire] -> Ctrls Wire Wire -> Depth ([Wire],Ctrls Wire Wire)+same_in_out_multi ws c = do+ let inputs = wires_of ws c+ depth <- input_depth inputs+ let outputs = inputs+ update_depths depth outputs False+ return (ws,c) ++init_wire :: [Wire] -> Depth Wire+init_wire ws = do+ let inputs = ws+ depth <- input_depth inputs+ state <- get+ let wires = wire_depths state+ let b = xintmap_freshkey wires+ let outputs = [b]+ update_depths depth outputs False+ return b++term_wire :: [Wire] -> Wire -> Depth ()+term_wire inputs w = do+ depth <- input_depth inputs+ let new_depth = fst(depth) + 1+ state <- get+ let gd = global_depth state+ let gd' = if gd < new_depth then new_depth else gd+ put (state {global_depth = gd'})+ return ()++depth_transformer :: Transformer (State DepthState) Wire Wire+-- Translation of classical gates:+depth_transformer (T_CNot ncf f) = f same_in_out+depth_transformer (T_CInit val ncf f) = f $ init_wire []+depth_transformer (T_CTerm b ncf f) = f $ term_wire []+depth_transformer (T_CDiscard f) = f $ term_wire []+depth_transformer (T_DTerm b f) = f $ term_wire []+depth_transformer (T_CGate name ncf f) = f $+ \ws -> do+ v <- init_wire ws+ return (v,ws) +depth_transformer g@(T_CGateInv name ncf f) = f $+ \v ws -> do+ term_wire ws v+ return ws+-- Translation of quantum gates:+depth_transformer (T_QGate "trace" _ _ inv ncf f) = f $+ \ws vs c -> return (ws, vs, c) -- don't count a trace gate+depth_transformer (T_QGate "T" _ _ inv ncf f) = f $ + \qs gcs c -> do+ same_in_out_multi_t (qs++gcs) c+ return (qs,gcs,c)+depth_transformer (T_QGate name _ _ inv ncf f) = f $ + \qs gcs c -> do+ same_in_out_multi (qs++gcs) c + return (qs,gcs,c)+depth_transformer (T_QRot name _ _ inv theta ncf f) = f $ + \qs gcs c -> do+ same_in_out_multi (qs++gcs) c + return (qs,gcs,c)+depth_transformer (T_GPhase t ncf f) = f $+ \w c -> do+ same_in_out_multi [] c+ return c+depth_transformer (T_QInit val ncf f) = f $ init_wire []+depth_transformer (T_QMeas f) = f $+ \q -> do+ same_in_out q []+ return q+depth_transformer (T_QDiscard f) = f $ term_wire []+depth_transformer (T_QTerm b ncf f) = f $ term_wire []+depth_transformer (T_Comment name inv f) = f $+ \ws -> return () -- don't count a comment+depth_transformer g@(T_CSwap ncf f) = f same_in_out2+depth_transformer g@(T_QPrep ncf f) = f $+ \w -> error ("depth_transformer: unimplemented gate: " ++ show g)+depth_transformer g@(T_QUnprep ncf f) = f $+ \w -> error ("depth_transformer: unimplemented gate: " ++ show g)+depth_transformer g@(T_Subroutine n inv ncf scf ws_pat a1 vs_pat a2 rflg f) = f $+ \ns ws c -> do+ case Map.lookup n ns of+ Just (TypedSubroutine sub_ocirc _ _ _) -> do+ let RepeatFlag reps = rflg+ let OCircuit (in_wires, sub_circ, out_wires) = if inv then reverse_ocircuit sub_ocirc else sub_ocirc+ let in_bindings = bind_list in_wires ws bindings_empty+ let sub_bcirc = (sub_circ,ns)+ state_in <- get+ out_bind <- transform_bcircuit_rec depth_transformer sub_bcirc in_bindings+ state_out <- get+ put (rep_change reps state_in state_out)+ return (unbind_list out_bind out_wires, c) + Nothing -> error $ "depth_transformer: subroutine " ++ show n ++ " not found (in " ++ showNames ns ++ ")"++-- | The following function updates the state by multiplying the differences between+-- the given /state_out/ and the given /state_in/ by the given number of repetitions.+rep_change :: Integer -> DepthState -> DepthState -> DepthState+rep_change reps state_in state_out = DS {+ global_depth = new_global_depth,+ wire_depths = new_wire_depths,+ global_tdepth = new_global_tdepth,+ wire_tdepths = new_wire_tdepths+ }+ where+ in_global_depth = global_depth state_in+ out_global_depth = global_depth state_out+ new_global_depth = in_global_depth + (reps * (out_global_depth - in_global_depth))+ in_wire_depths = wire_depths state_in+ out_wire_depths = wire_depths state_out+ out_wire_depths_list = IntMap.toList (xintmap_to_intmap (out_wire_depths))+ new_depths = map (\(w,v_out) -> (w,+ case (xintmap_lookup w in_wire_depths) of+ Nothing -> v_out * reps+ Just v_in ->+ case v_in > v_out of+ True -> reps * v_out + False -> v_in + (reps * (v_out - v_in)))) out_wire_depths_list+ new_wire_depths = xintmap_inserts new_depths out_wire_depths+ in_global_tdepth = global_tdepth state_in+ out_global_tdepth = global_tdepth state_out+ new_global_tdepth = in_global_tdepth + (reps * (out_global_tdepth - in_global_tdepth))+ in_wire_tdepths = wire_tdepths state_in+ out_wire_tdepths = wire_tdepths state_out+ out_wire_tdepths_list = IntMap.toList (xintmap_to_intmap (out_wire_tdepths))+ new_tdepths = map (\(w,v_out) -> (w,+ case (xintmap_lookup w in_wire_tdepths) of+ Nothing -> v_out * reps+ Just v_in ->+ case v_in > v_out of+ True -> reps * v_out + False -> v_in + (reps * (v_out - v_in)))) out_wire_tdepths_list+ new_wire_tdepths = xintmap_inserts new_tdepths out_wire_tdepths
@@ -0,0 +1,43 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/EPS.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool reads a circuit from standard input and converts it to+-- the graphical EPS format. The converted circuit is written to+-- standard output.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": read a circuit from standard input and convert it to EPS.\n"++-- | Main function: read from 'stdin' and write to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ print_generic EPS circuit ins
@@ -0,0 +1,59 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/Exact.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool decomposes all gates that permit exact Clifford+/T/+-- representations into the following concrete gate base for+-- Clifford+/T/:+--+-- * controlled-not (with one positive or negative control),+--+-- * any single-qubit Clifford gates,+--+-- * /T/ and /T/[sup †].+--+-- Classical controls and classical gates are not subject to the gate+-- base, and are left untouched.+module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": decompose all gates that permit exact Clifford+T\n"+ ++ "representations into the following concrete gate base for\n"+ ++ "Clifford+T: CNOT (with one positive or negative control),\n"+ ++ "any single-qubit Clifford gates, T, and T-inverse.\n"+ ++ "Classical controls and classical gates are not subject to the gate\n"+ ++ "base, and are left untouched.\n"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic Exact circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,43 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/GateCount.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool reads a circuit from standard input and calculates gate+-- counts.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": read a circuit from standard input and calculate gate counts.\n"++-- | Main function: read from 'stdin', and write gate counts to+-- 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ print_generic GateCount circuit ins
@@ -0,0 +1,43 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/PDF.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool reads a circuit from standard input and converts it to+-- the graphical PDF format. The converted circuit is written to+-- standard output.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": read a circuit from standard input and convert it to PDF.\n"++-- | Main function: read from 'stdin' and write to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ print_generic PDF circuit ins
@@ -0,0 +1,52 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/Preview.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool reads a circuit from standard input and displays it in+-- the previewer. For the previewer to work, Acrobat Reader must be+-- installed. +-- +-- Note that it is possible to interrupt the circuit generation with+-- Ctrl-C; in this case, the circuit generated up to that point will+-- be displayed. A second Ctrl-C will kill the program.+-- +-- Interrupting with Ctrl-C may not work in the Windows operating system.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": read a circuit from standard input and display it in the\n"+ ++ "previewer. Circuit generation can be interrupted with Ctrl-C;\n"+ ++ "in this case a partial circuit will be displayed. A second Ctrl-C\n"+ ++ "will kill the program. Ctrl-C may not work in the Windows OS.\n"++-- | Main function: read from 'stdin' and call the previewer. +main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin_with_handler+ print_generic Preview circuit ins
@@ -0,0 +1,504 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/QCLParser/Main.hs" #-}+{-# LANGUAGE TypeSynonymInstances #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE UndecidableInstances #-}++-- ----------------------------------------------------------------------+-- | This program reads an execution trace produced by QCL, and turns+-- it into a Quipper circuit.++module Quipper.Programs.QCLParser.Main where++import Quipper hiding (cnot, Format)++import Data.IntMap (IntMap)+import qualified Data.IntMap as IntMap+import qualified Data.Traversable as Trav+import Control.Monad.State+import Prelude hiding (not)+import qualified Prelude+import System.Environment+import System.Exit+import System.IO+import Data.Complex+import Data.Maybe++import Text.ParserCombinators.ReadP hiding (get)+import Data.Char (isAlpha, isAlphaNum, isDigit)++-- ----------------------------------------------------------------------+-- * A monad for a QCL state++-- | In QCL, qubits are identified by integers. We have to map these+-- to Quipper's native qubits. A 'QCLState' holds such a map.+-- Implicitly, it also holds the set of qubits currently defined.+type QCLState = IntMap Qubit++-- | The 'QCLCirc' monad is like the 'Circ' monad, except that it also+-- keeps track of an additional 'QCLState'. The 'lift' function must+-- be used to lift any command for the 'Circ' monad to the 'QCLCirc'+-- monad.+type QCLCirc a = StateT QCLState Circ a++-- ----------------------------------------------------------------------+-- * Auxiliary state functions++-- | Look up the qubit corresponding to a QCL register, or allocate a+-- new qubit if it doesn't already exist.+provide :: Int -> QCLCirc Qubit+provide r = do+ s <- get+ case IntMap.lookup r s of+ Just q -> return q+ Nothing -> do+ q <- lift $ qinit False+ let s' = IntMap.insert r q s+ put s'+ return q++-- ----------------------------------------------------------------------+-- * Implementation of the QCL primitives++-- | Reset all qubits to state 0.+qcl_reset :: QCLCirc ()+qcl_reset = do+ s <- get+ lift $ Trav.mapM qdiscard s+ let s' = IntMap.empty+ put s'+ return ()++-- | Apply a controlled-not operation to the first argument.+qcl_cnot :: Int -> [Int] -> QCLCirc ()+qcl_cnot r ctrls = do+ q <- provide r+ cs <- Trav.mapM provide ctrls+ lift $ qnot_at q `controlled` cs+ return ()++-- | Apply an uncontrolled not operation.+qcl_not :: Int -> QCLCirc ()+qcl_not r = qcl_cnot r []++-- | @'qcl_fanout' ins outs ctrls@: Copy the qubit register /ins/ to+-- the qubit register /outs/ by means of c-not operations, provided+-- that /outs/ was previously 0. The whole operation is controlled by+-- /ctrls/.+qcl_fanout :: [Int] -> [Int] -> [Int] -> QCLCirc ()+qcl_fanout ins outs ctrls = do+ qins <- Trav.mapM provide ins+ qouts <- Trav.mapM provide outs+ qctrls <- Trav.mapM provide ctrls+ lift $ with_controls qctrls $ do+ let zips = zip qins qouts+ Trav.mapM (\(x,y) -> qnot_at y `controlled` x) zips+ return ()++-- | Calculate the square distance between two vectors, which must be+-- of the same length.+sqdist :: [Complex Double] -> [Complex Double] -> Double+sqdist v1 v2 = d2 where+ w = zipWith (-) v1 v2+ w2 = map (\x -> x * x) $ map magnitude w+ d2 = sum w2+ +-- | If the matrix looks like a /W/-gate, return 'True'.+matrix_w :: [Complex Double] -> Bool+matrix_w amps | length amps == 16 =+ let v = sqrt 0.5+ m = [ 1, 0, 0, 0,+ 0, v, v, 0,+ 0, v, -v, 0,+ 0, 0, 0, 1]+ in+ if sqdist amps m <= 0.001 then+ True+ else+ False+matrix_w _ = False++-- | If the matrix looks like a controlled /e/^/tiZ/-gate, return the+-- angle /t/.+matrix_exp :: [Complex Double] -> Maybe Double+matrix_exp amps | length amps == 16 =+ let t = phase ((amps !! 10) + conjugate (amps !! 15))+ u = cis t+ m = [ 1, 0, 0, 0,+ 0, 1, 0, 0, + 0, 0, u, 0,+ 0, 0, 0, conjugate u]+ in+ if sqdist amps m <= 0.001 then+ Just t+ else+ Nothing+matrix_exp _ = Nothing++-- | @'qcl_matrix' n amps regs@: Apply the /n/-by-/n/ unitary gate+-- whose matrix is given in /amps/, to the qubit list /regs/. This+-- function must guess, based on the complex entries of the matrix,+-- what the name of the gate should be. This guessing is crude at the+-- moment, and must be extended to include additional gates as+-- required by each algorithm. If the first argument is 'True', invert+-- the matrix.+qcl_matrix :: Bool -> Int -> [Complex Double] -> [Int] -> QCLCirc ()+qcl_matrix inv n amps [x,y] | matrix_w amps = do+ [q,r] <- Trav.mapM provide [x,y]+ lift $ gate_W_at q r -- this gate is self-inverse+qcl_matrix inv n amps [x,y] | isJust t = do+ [q,r] <- Trav.mapM provide [x,y]+ lift $ expZt_at (sign * fromJust t) r `controlled` q+ where+ t = matrix_exp amps+ sign = if inv then -1 else 1+qcl_matrix inv n amps regs = do+ qregs <- Trav.mapM provide regs+ lift $ named_gate_at (if inv then "Gate*" else "Gate") qregs+ +-- | The inverse of 'qcl_cnot'.+qcl_cnot_inv = qcl_cnot++-- | The inverse of 'qcl_not'.+qcl_not_inv = qcl_not++-- | The inverse of 'qcl_fanout'.+qcl_fanout_inv = qcl_fanout++-- | A sample circuit to illustrate how to use the primitives.+testcircuit1 :: QCLCirc ()+testcircuit1 = do+ qcl_reset+ qcl_not 5+ qcl_not 0+ qcl_cnot 31 [4]+ qcl_cnot 31 [4,30]+ qcl_cnot 29 [31]+ qcl_cnot_inv 31 [4,30]+ qcl_cnot_inv 31 [4]++-- ----------------------------------------------------------------------+-- * Unpacking QCLCirc++-- | Run function for the 'QCLCirc' monad: execute the actions and+-- produce a circuit.+run :: QCLCirc a -> Circ a+run f = do+ (x,_) <- runStateT f IntMap.empty+ return x++-- ----------------------------------------------------------------------+-- * An abstract syntax for QCL output++-- | A data type to hold a QCL gate.+data QCLGate = + Comment+ | Reset+ | Not Int+ | XNot Int+ | CNot Int [Int]+ | XCNot Int [Int]+ | Fanout [Int] [Int] [Int]+ | XFanout [Int] [Int] [Int]+ | Matrix Int [Complex Double] [Int]+ | XMatrix Int [Complex Double] [Int]+ deriving (Show)++-- | Take a gate from the abstract syntax and execute it in the+-- 'QCLCirc' monad.+do_qcl_gate :: QCLGate -> QCLCirc ()+do_qcl_gate Comment = return ()+do_qcl_gate Reset = qcl_reset+do_qcl_gate (Not x) = qcl_not x+do_qcl_gate (XNot x ) = qcl_not_inv x +do_qcl_gate (CNot x ctrl) = qcl_cnot x ctrl+do_qcl_gate (XCNot x ctrl) = qcl_cnot_inv x ctrl +do_qcl_gate (Fanout a b c) = qcl_fanout a b c +do_qcl_gate (XFanout a b c) = qcl_fanout_inv a b c +do_qcl_gate (Matrix n amps regs) = qcl_matrix False n amps regs+do_qcl_gate (XMatrix n amps regs) = qcl_matrix True n amps regs++-- ----------------------------------------------------------------------+-- * Parsing++-- $ The output of QCL consists of lines of the following forms. Lines+-- not starting with \"\@\" are comments or other non-circuit output.+-- +-- > @ RESET+-- > @ NOT(qureg q=<5>) +-- > @ CNOT(qureg q=<31>,quconst c=<4,30>)+-- > @ !CNOT(qureg q=<31>,quconst c=<4,30>)+-- > @ Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+-- > @ !Fanout(quconst a=<47,48,49,50,51,52>,quvoid b=<40,41,42,43,44,45>;cond=<>)+-- > @ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=1,complex u12=0,complex u13=0,complex u20=0,complex u21=0,complex u22=(0.995004,-0.0998334),complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=(0.995004,0.0998334),qureg q=<12,13>)+-- > @ !Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=0.707107,complex u12=0.707107,complex u13=0,complex u20=0,complex u21=0.707107,complex u22=-0.707107,complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=1,qureg q=<0,6>) +-- +-- We use Koen Claessen's parser combinators (see+-- "Text.ParserCombinators.ReadP") to implement the parser.++-- | Parse a QCL identifier, which we take to be a non-empty string of+-- alphanumeric characters, starting with a letter+identifier :: ReadP String+identifier = do+ satisfy isAlpha+ munch isAlphaNum+ +-- | Parse a signless integer. We avoid the usual trick ('readS_to_P'+-- 'reads'), because this introduces backtracking errors.+int :: ReadP Int+int = do+ s <- munch1 isDigit+ return $ (read s :: Int)++-- | Parse a floating point number. We avoid the usual trick+-- ('readS_to_P' 'reads'), because this introduces backtracking+-- errors.+double :: ReadP Double+double = do+ (s, _) <- gather parse_double+ return $ (read s :: Double)+ where+ parse_double = do+ option '+' (char '+' +++ char '-')+ munch isDigit+ optional (char '.' >> munch1 isDigit)+ +-- | Parse a comma separated list.+commalist :: ReadP a -> ReadP [a]+commalist elt = sepBy elt (skipSpaces >> char ',' >> skipSpaces)++-- | Parse a QCL quantum register of the form +-- +-- > q=<31,32>+-- > c=<4,31>+-- > b=<40,41,42,43,44,45>.+qureg :: ReadP (String, [Int])+qureg = do+ id <- identifier+ skipSpaces+ char '='+ skipSpaces+ rs <- between (char '<' >> skipSpaces) (skipSpaces >> char '>') $ do+ commalist int+ return (id, rs)++-- | Consume an optional \"!\". Return 'True' if consumed, and 'False'+-- otherwise.+inversechar :: ReadP Bool +inversechar = do+ c <- option '+' (char '!')+ return (c == '!')++-- | Parse a complex number declaration of the format+-- +-- > complex u00=1+-- +-- or+-- +-- > complex u22=(0.995004,-0.0998334).+complex :: ReadP (Complex Double)+complex = do+ string "complex"+ skipSpaces+ identifier+ skipSpaces+ char '='+ skipSpaces+ choice [+ do + x <- double+ return (x :+ 0)+ ,+ do+ char '('+ skipSpaces+ x <- double + skipSpaces+ char ','+ skipSpaces+ y <- double+ skipSpaces+ char ')'+ return (x :+ y)+ ]++-- | Parse a single line of QCL output into a 'QCLGate'.+qcl_line :: ReadP QCLGate+qcl_line = choice [+ do -- @ RESET+ char '@'+ skipSpaces+ string "RESET"+ return Reset+ ,+ do -- @ NOT(qureg q=<5>)+ char '@'+ skipSpaces+ inv <- inversechar+ skipSpaces+ string "NOT"+ skipSpaces+ char '('+ skipSpaces+ string "qureg"+ skipSpaces+ (_,[r]) <- qureg+ skipSpaces+ char ')'+ return (if inv then XNot r else Not r)+ ,+ do -- @ CNOT(qureg q=<31>,quconst c=<4,30>)+ char '@'+ skipSpaces+ inv <- inversechar+ skipSpaces+ string "CNOT"+ skipSpaces+ char '('+ skipSpaces + string "qureg"+ skipSpaces+ (_,[r]) <- qureg+ skipSpaces+ char ','+ skipSpaces+ string "quconst"+ skipSpaces+ (_,ctrls) <- qureg+ skipSpaces+ char ')'+ return (if inv then XCNot r ctrls else CNot r ctrls)+ ,+ do -- @ Fanout(quconst a=<47,48>,quvoid b=<40,41>;cond=<>)+ char '@'+ skipSpaces+ inv <- inversechar+ skipSpaces+ string "Fanout"+ skipSpaces+ char '('+ skipSpaces + string "quconst"+ skipSpaces+ (_,ins) <- qureg+ skipSpaces+ char ','+ skipSpaces+ string "quvoid"+ skipSpaces+ (_,outs) <- qureg+ skipSpaces+ char ';'+ skipSpaces+ (_,ctrls) <- qureg+ skipSpaces+ char ')'+ return (if inv then XFanout ins outs ctrls else Fanout ins outs ctrls)+ ,+ do -- @ Matrix4x4(complex u00=1,complex u01=0,complex u02=0,complex u03=0,complex u10=0,complex u11=1,complex u12=0,complex u13=0,complex u20=0,complex u21=0,complex u22=(0.995004,-0.0998334),complex u23=0,complex u30=0,complex u31=0,complex u32=0,complex u33=(0.995004,0.0998334),qureg q=<12,13>)+ char '@'+ skipSpaces+ inv <- inversechar+ skipSpaces+ string "Matrix"+ skipSpaces+ dim1 <- int+ skipSpaces+ char 'x'+ skipSpaces+ dim2 <- int+ skipSpaces+ char '('+ skipSpaces+ amps <- commalist complex+ skipSpaces+ char ','+ skipSpaces+ string "qureg"+ skipSpaces+ (_,r) <- qureg+ skipSpaces+ char ')'+ when (dim1 /= dim2) $ do+ error "Non-square matrix"+ return (if inv then XMatrix dim1 amps r else Matrix dim1 amps r)+ , + do -- any line not starting with '@' is a comment+ satisfy ((/=) '@')+ munch (\x -> True)+ return Comment+ ,+ do -- empty lines are comments+ eof+ return Comment+ ]++-- | String version of 'qcl_line': parse a string and turn it into a+-- 'QCLGate'.+parse_qcl_line :: String -> QCLGate+parse_qcl_line s =+ case readP_to_S readline s of+ (h, _):_ -> h+ _ -> error ("Unrecognized line: " ++ s)+ where+ readline = do+ skipSpaces+ l <- qcl_line+ skipSpaces+ eof+ return l + +-- | Monad version of 'parse_qcl_line': parse a string and execute the+-- resulting gate directly in the 'QCLCirc' monad.+run_qcl_line :: String -> QCLCirc ()+run_qcl_line = do_qcl_gate . parse_qcl_line++-- | Parse a stream consisting of many lines of QCL output and execute+-- the parsed gates in the 'QCLCirc' monad.+run_qcl_lines :: String -> QCLCirc ()+run_qcl_lines s =+ mapM_ run_qcl_line (lines s)++-- | A sample circuit to illustrate the parser.+testcircuit2 :: QCLCirc ()+testcircuit2 = do+ run_qcl_line "@ RESET"+ run_qcl_line "@ NOT(qureg q=<5>)"+ run_qcl_line "@ NOT(qureg q=<0>)"+ run_qcl_line "@ CNOT(qureg q=<31>,quconst c=<4>)"++-- ----------------------------------------------------------------------+-- * Main function++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": read an execution trace produced by Ömer's QCL language,\n"+ ++ "and turn it into a Quipper circuit.\n"++-- | Main function: read a circuit in QCL format from 'stdin', and+-- preview the translated Quipper circuit.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ lines <- hGetContents stdin+ print_simple ASCII (run (run_qcl_lines lines))+
@@ -0,0 +1,9 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "programs/quipper-qclparser.hs" #-}+-- This is a stub main file. It only purpose is to re-export the+-- "real" main function, which is Quipper.Programs.QCLParser.Main.++import qualified Quipper.Programs.QCLParser.Main+main = Quipper.Programs.QCLParser.Main.main
@@ -0,0 +1,199 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/Simulate.hs" #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleContexts #-}++-- ----------------------------------------------------------------------+-- | This tool reads a circuit from standard input, and then simulates+-- it by applying it to every possible basis vector. This is only+-- intended for debugging (of very small circuits), and is by no means+-- an industrial-strength simulator. Any measurements in the circuit+-- will be simulated probabilistically.++module Main where++import Quipper+import Quipper.Internal+import Quipper.Libraries.Simulation+import Quipper.Libraries.QuipperASCIIParser++import Quipper.Utils.Auxiliary (string_of_list)+import Quipper.Utils.CommandLine+import Quipper.Utils.Sampling+import Quantum.Synthesis.Ring+import Quantum.Synthesis.SymReal++import Data.Map (Map)+import qualified Data.Map as Map++import Control.Monad+import Data.Number.FixedPrec+import System.Console.GetOpt+import System.Environment+import System.Exit+import System.Random++-- ----------------------------------------------------------------------+-- * Command line options++-- | A data type to hold the command line options.+data Options = Options {+ prec :: Integer, -- ^ Precision in decimal digits.+ addprec :: Int -- ^ Additional precision to use internally.+} deriving Show++-- | The default options.+defaultOptions :: Options+defaultOptions = Options+ { prec = 30,+ addprec = 10+ }++-- | The list of command line options, in the format required by 'getOpt'.+options =+ [ Option ['h'] ["help"] + (NoArg help) + "print usage info and exit",+ Option ['d'] ["digits"] + (ReqArg opt_digits "<num>") + "precision in decimal digits (default: 30)",+ Option ['a'] ["addprec"] + (ReqArg opt_additional "<num>") + "additional digits to use internally (default: 10)"+ ]+ where+ opt_digits :: String -> Options -> IO Options+ opt_digits str o = + case parse_int str of+ Just d -> return o { prec = d }+ _ -> optfail ("Invalid value for option -d -- " ++ str ++ "\n")+ + opt_additional :: String -> Options -> IO Options+ opt_additional str o = + case parse_int str of+ Just d -> return o { addprec = d }+ _ -> optfail ("Invalid value for option -a -- " ++ str ++ "\n")+ + help :: Options -> IO Options+ help o = do+ usage+ exitSuccess++-- | Process /argv/-style command line options into an 'Options' structure.+dopts :: [String] -> IO Options+dopts argv =+ case getOpt Permute options argv of+ (o, [], []) -> (foldM (flip id) defaultOptions o)+ (_, _, []) -> optfail "Too many non-option arguments\n"+ (_, _, errs) -> optfail (concat errs)++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (usageInfo (header name) options) + where header name =+ name ++ ": reads a circuit from standard input, and then simulates\n"+ ++ "it by applying it to every possible basis vector. This is only\n"+ ++ "intended for debugging (of very small circuits), and is by no means\n"+ ++ "an industrial-strength simulator. Any measurements in the circuit\n"+ ++ "will be simulated probabilistically.\n\n"+ ++ "Usage: " ++ name ++ " [option...]"++-- ----------------------------------------------------------------------+-- * Payload functions++-- | Convert a boolean vector to ket notation.+show_ket :: [Bool] -> String+show_ket = string_of_list "|" "" ">" "|>" show_bit where+ show_bit False = "0"+ show_bit True = "1"++-- | A version of 'sim_amps' that works on 'FixedPrec' numbers and+-- uses /n/ digits of additional precision internally during the+-- simulation.+sim_amps_addprec :: forall g p qa qb.(RandomGen g, Precision p, QData qa, QData qb, Ord (BType qb)) => g -> Int -> (qa -> Circ qb) -> Map (BType qa) (Cplx (FixedPrec p)) -> Map (BType qb) (Cplx (FixedPrec p))+sim_amps_addprec g addprec circ state =+ with_added_digits addprec f (dummy state) :: Map (BType qb) (Cplx (FixedPrec p)) where+ dummy :: Map a (Cplx f) -> f+ dummy = undefined+ f :: (Precision e) => FixedPrec e -> Map (BType qb) (Cplx (FixedPrec p))+ f arg = Map.map cast_cplx out_state where+ in_state = Map.map cast_cplx state+ out_state = sim_amps g circ in_state+ _ = dummy in_state `attypeof` arg+ attypeof :: a -> a -> a+ attypeof x y = x+ cast_cplx (Cplx a b) = Cplx (cast a) (cast b)++-- | Input a source of randomness, an added precision, a real number,+-- a circuit, and a basis vector. Simulate the circuit on the given+-- basis vector, and print out the result of the simulation in the+-- format+-- +-- > |011> ->+-- > |011> 0.7071067811+-- > |010> -0.7071067811+-- +-- The real number argument is a dummy argument; it serves to+-- determine the real number type (e.g., 'Double', 'FixedPrec' /e/) to+-- be used for the simulation. In this way, it is possible to simulate+-- up to arbitrary precision.+print_simulation_internal :: (RandomGen g, Precision e) => g -> Int -> FixedPrec e -> ([Qubit] -> Circ [Qubit]) -> [Bool] -> IO ()+print_simulation_internal g addprec r circ l = do+ putStrLn $ show_ket l ++ " ->" + foreach amps $ \(ket, amp) -> do+ when (amp /= 0) $ do+ putStrLn $ [' ' | x <- l] ++ " " ++ show_ket ket ++ " " ++ show amp+ where+ state = Map.fromList [(l, Cplx (1 `attypeof` r) 0)]+ amps = Map.toList $ sim_amps_addprec g addprec circ state+ + attypeof :: a -> a -> a+ attypeof x y = x++-- | Like 'print_simulation_internal', but instead of a dummy real number+-- argument, specify a number of decimal digits for the simulation.+print_simulation :: (RandomGen g) => g -> Integer -> Int -> ([Qubit] -> Circ [Qubit]) -> [Bool] -> IO ()+print_simulation g d addprec = dynamic_fixedprec d (print_simulation_internal g addprec) (undefined :: Double)++-- | Input a source of randomness, a precision (in decimal digits), a+-- quantum circuit and a shape argument. Simulate the circuit for+-- every possible basis vector of the given shape, and print out the+-- result of the simulations in the format+-- +-- > |011> ->+-- > |011> 0.7071067811+-- > |010> -0.7071067811+simulate_all :: (RandomGen g) => g -> Integer -> Int -> ([Qubit] -> Circ [Qubit]) -> [a] -> IO ()+simulate_all g d addprec circ ins = do+ let ls = sample_all0 [ True | x <- ins ]+ foreach ls $ \l -> do+ print_simulation g d addprec circ l++-- ----------------------------------------------------------------------+-- * The main function++-- | Main function: read from 'stdin', then simulate.+main :: IO ()+main = do+ -- Process command line options+ argv <- getArgs+ options <- dopts argv+ let d = prec options+ let a = addprec options+ + -- Read circuit+ (ins, circuit) <- parse_from_stdin+ let circ :: [Qubit] -> Circ [Qubit]+ circ qs = do+ let es = [ Endpoint_Qubit q | q <- qs ]+ es <- circuit es+ let qs = [ q | Endpoint_Qubit q <- es ]+ return qs+ + -- Simulate circuit+ g <- newStdGen+ simulate_all g d a circ ins
@@ -0,0 +1,113 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/Standard.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool decomposes any circuit into the gate set {/X/, /Y/,+-- /Z/, /H/, /S/, /S/[sup †], /T/, /T/[sup †], /CNOT/}, using both+-- exact and approximate synthesis.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import Quipper.Libraries.Synthesis++import Quipper.Utils.CommandLine+import Quipper.Utils.RandomSource++import Control.Monad+import System.Console.GetOpt+import System.Environment+import System.Exit+import System.IO+import System.Random+++-- | A data type to hold the command line options.+data Options = Options {+ opt_prec :: Double, -- ^ Precision in binary digits.+ opt_rseed :: Maybe StdGen -- ^ An optional random seed.+} deriving Show++-- | The default options.+defaultOptions :: Options+defaultOptions = Options+ { opt_prec = 30 * digits,+ opt_rseed = Nothing+ }+ +-- | The list of command line options, in the format required by 'getOpt'.+options =+ [ Option ['h'] ["help"] + (NoArg help) + "print usage info and exit",+ Option ['d'] ["digits"] + (ReqArg get_digits "<num>") + "precision in decimal digits (default: 30)",+ Option ['b'] ["bits"] + (ReqArg get_bits "<num>") + "precision in binary digits",+ Option ['r'] ["rseed"] + (ReqArg get_rseed "<s>") + "set optional random seed (default: random)"+ ]+ where+ get_digits :: String -> Options -> IO Options+ get_digits str o = + case parse_double str of+ Just d -> return o { opt_prec = d * digits }+ _ -> optfail ("Invalid value for option -d -- " ++ str ++ "\n")+ + get_bits :: String -> Options -> IO Options+ get_bits str o = + case parse_double str of+ Just b -> return o { opt_prec = b * bits }+ _ -> optfail ("Invalid value for option -b -- " ++ str ++ "\n")++ get_rseed :: String -> Options -> IO Options + get_rseed string o =+ case reads string of+ [(g, "")] -> return o { opt_rseed = Just g }+ _ -> optfail ("Invalid random seed -- " ++ string ++ "\n")++ help :: Options -> IO Options+ help o = do+ usage+ exitSuccess++-- | Process /argv/-style command line options into an 'Options' structure.+dopts :: [String] -> IO Options+dopts argv =+ case getOpt Permute options argv of+ (o, [], []) -> (foldM (flip id) defaultOptions o)+ (_, _, []) -> optfail "Too many non-option arguments\n"+ (_, _, errs) -> optfail (concat errs)++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (usageInfo (header name) options) + where header name =+ name ++ ": decompose any circuit into the gate set {X, Y, Z, H,\n"+ ++ "S, S+, T, T+, CNOT}, using both exact and approximate synthesis.\n\n"+ ++ "Usage: " ++ name ++ " [option...]"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ options <- dopts argv+ let p = opt_prec options+ + -- Set random seed. + g <- case opt_rseed options of+ Nothing -> newStdGen+ Just g -> return g+ + (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic (Standard p (RandomSource g)) circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,112 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/Strict.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool decomposes any circuit into the gate base {/H/, /S/,+-- /T/, /CNot/}, using both exact and approximate synthesis.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import Quipper.Libraries.Synthesis++import Quipper.Utils.CommandLine+import Quipper.Utils.RandomSource++import Control.Monad+import System.Console.GetOpt+import System.Environment+import System.Exit+import System.IO+import System.Random+++-- | A data type to hold the command line options.+data Options = Options {+ opt_prec :: Double, -- ^ Precision in binary digits.+ opt_rseed :: Maybe StdGen -- ^ An optional random seed.+} deriving Show++-- | The default options.+defaultOptions :: Options+defaultOptions = Options+ { opt_prec = 30 * digits,+ opt_rseed = Nothing+ }+ +-- | The list of command line options, in the format required by 'getOpt'.+options =+ [ Option ['h'] ["help"] + (NoArg help) + "print usage info and exit",+ Option ['d'] ["digits"] + (ReqArg get_digits "<num>") + "precision in decimal digits (default: 30)",+ Option ['b'] ["bits"] + (ReqArg get_bits "<num>") + "precision in binary digits",+ Option ['r'] ["rseed"] + (ReqArg get_rseed "<s>") + "set optional random seed (default: random)"+ ]+ where+ get_digits :: String -> Options -> IO Options+ get_digits str o = + case parse_double str of+ Just d -> return o { opt_prec = d * digits }+ _ -> optfail ("Invalid value for option -d -- " ++ str ++ "\n")+ + get_bits :: String -> Options -> IO Options+ get_bits str o = + case parse_double str of+ Just b -> return o { opt_prec = b * bits }+ _ -> optfail ("Invalid value for option -b -- " ++ str ++ "\n")++ get_rseed :: String -> Options -> IO Options + get_rseed string o =+ case reads string of+ [(g, "")] -> return o { opt_rseed = Just g }+ _ -> optfail ("Invalid random seed -- " ++ string ++ "\n")++ help :: Options -> IO Options+ help o = do+ usage+ exitSuccess++-- | Process /argv/-style command line options into an 'Options' structure.+dopts :: [String] -> IO Options+dopts argv =+ case getOpt Permute options argv of+ (o, [], []) -> (foldM (flip id) defaultOptions o)+ (_, _, []) -> optfail "Too many non-option arguments\n"+ (_, _, errs) -> optfail (concat errs)++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (usageInfo (header name) options) + where header name =+ name ++ ": decompose any circuit into the gate base {H, S, T, CNOT},\n"+ ++ "using both exact and approximate synthesis.\n\n"+ ++ "Usage: " ++ name ++ " [option...]"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ options <- dopts argv+ let p = opt_prec options+ + -- Set random seed. + g <- case opt_rseed options of+ Nothing -> newStdGen+ Just g -> return g+ + (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic (Strict p (RandomSource g)) circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,54 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/TrimControls.hs" #-}+-- | This tool trims excess controls from gates. Specifically, it+-- decomposes a circuit so that:+--+-- * not-gates, Pauli /X/-, /Y/-, and /Z/-gates, and /iX/-gates have+-- at most two controls;+--+-- * phase gates of the form Diag(1, φ) have no controls; and+--+-- * all other gates have at most one control.+module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Decompose+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": trims excess controls from gates. Specifically,\n"+ ++ "decompose a circuit so that not-gates, Pauli gates, and\n"+ ++ "iX-gates have at most two controls, phase gates of the form\n"+ ++ "Diag(1, phi) have no controls; and other gates have at most one\n"+ ++ "control.\n"++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin+ let decomposed_circuit = decompose_generic TrimControls circuit+ print_generic ASCII decomposed_circuit ins
@@ -0,0 +1,60 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeFamilies #-}+{-# LINE 1 "Quipper/Programs/Tools/Unbox.hs" #-}+-- ----------------------------------------------------------------------+-- | This tool unwinds a circuit by inlining all top-level boxed+-- subroutines. It can sometimes be used to pre-process circuits for+-- use by other tools that may not yet work correctly with boxed+-- subroutines. Note, however, that this can substantially increase+-- the size of the circuit representation.+-- +-- Note that only top-level boxed subroutines are inlined; the tool+-- may have to be applied several times to remove all levels of boxes.+-- +-- This is only an illustration for how to write such tools; another+-- tool could be written that does \"deep\" unboxing.++module Main where++import Quipper+import Quipper.Libraries.QuipperASCIIParser+import Quipper.Libraries.Unboxing+import System.Environment+import System.Exit+import System.IO++-- | Print a usage message to 'stdout'.+usage :: IO ()+usage = do+ name <- getProgName+ putStr (header name)+ where header name =+ name ++ ": unwind a circuit by inlining all top-level boxed\n"+ ++ "subroutines. Only top-level boxed subroutines are inlined;\n"+ ++ "the tool may have to be applied several times to remove all\n"+ ++ "levels of boxes. This is only an illustration for how to write\n"+ ++ "such tools; another tool could be written that does \"deep\"\n"+ ++ "unboxing.\n"+++-- | Main function: read from 'stdin', do the decomposition, and write+-- to 'stdout'.+main :: IO ()+main = do+ argv <- getArgs+ case argv of+ [] -> return ()+ "-h" : _ -> do+ usage+ exitSuccess+ "--help" : _ -> do+ usage+ exitSuccess+ o : _ -> do+ hPutStrLn stderr ("Bad argument or option: '" ++ o ++ "'. Try --help for more info.")+ exitFailure++ (ins,circuit) <- parse_from_stdin + let unboxed_circuit = unbox circuit+ print_generic ASCII unboxed_circuit ins
binary file changed (absent → 3311 bytes)
binary file changed (absent → 1496 bytes)
binary file changed (absent → 1572 bytes)
binary file changed (absent → 3957 bytes)
binary file changed (absent → 1738 bytes)
binary file changed (absent → 3363 bytes)
binary file changed (absent → 1963 bytes)
binary file changed (absent → 1561 bytes)
binary file changed (absent → 1804 bytes)
binary file changed (absent → 2532 bytes)
binary file changed (absent → 1360 bytes)
binary file changed (absent → 4858 bytes)
binary file changed (absent → 8371 bytes)
binary file changed (absent → 887 bytes)
binary file changed (absent → 5013 bytes)
binary file changed (absent → 5628 bytes)
binary file changed (absent → 1304 bytes)
binary file changed (absent → 7265 bytes)
binary file changed (absent → 13792 bytes)
binary file changed (absent → 1544 bytes)
binary file changed (absent → 2929 bytes)
binary file changed (absent → 7580 bytes)
binary file changed (absent → 3038 bytes)
binary file changed (absent → 3642 bytes)
binary file changed (absent → 2484 bytes)
binary file changed (absent → 1151 bytes)
binary file changed (absent → 1433 bytes)
binary file changed (absent → 1940 bytes)
binary file changed (absent → 2085 bytes)
binary file changed (absent → 1308 bytes)
binary file changed (absent → 4450 bytes)
binary file changed (absent → 1716 bytes)
binary file changed (absent → 4991 bytes)
binary file changed (absent → 1878 bytes)
binary file changed (absent → 963 bytes)
binary file changed (absent → 1551 bytes)
binary file changed (absent → 14953 bytes)
binary file changed (absent → 2436 bytes)
binary file changed (absent → 2433 bytes)
binary file changed (absent → 3058 bytes)
binary file changed (absent → 4290 bytes)
binary file changed (absent → 4864 bytes)
binary file changed (absent → 3545 bytes)
binary file changed (absent → 1268 bytes)
binary file changed (absent → 2669 bytes)
binary file changed (absent → 2247 bytes)
binary file changed (absent → 1738 bytes)
binary file changed (absent → 1002 bytes)
binary file changed (absent → 3523 bytes)
binary file changed (absent → 2403 bytes)
binary file changed (absent → 12639 bytes)
binary file changed (absent → 19618 bytes)
binary file changed (absent → 6734 bytes)
binary file changed (absent → 1318 bytes)
binary file changed (absent → 4358 bytes)
binary file changed (absent → 5276 bytes)
binary file changed (absent → 1167 bytes)
binary file changed (absent → 1152 bytes)
binary file changed (absent → 913 bytes)
binary file changed (absent → 1664 bytes)
binary file changed (absent → 2436 bytes)
binary file changed (absent → 3399 bytes)
binary file changed (absent → 3310 bytes)
binary file changed (absent → 3209 bytes)
binary file changed (absent → 7982 bytes)
binary file changed (absent → 1768 bytes)
binary file changed (absent → 8963 bytes)
binary file changed (absent → 4107 bytes)
binary file changed (absent → 3598 bytes)
binary file changed (absent → 5029 bytes)
binary file changed (absent → 1052 bytes)
@@ -0,0 +1,5 @@+-- This is a stub main file. It only purpose is to re-export the+-- "real" main function, which is Quipper.Programs.QCLParser.Main.++import qualified Quipper.Programs.QCLParser.Main+main = Quipper.Programs.QCLParser.Main.main
@@ -0,0 +1,210 @@+-- The name of the package.+name: quipper-tools++-- The package version. See the Haskell package versioning policy (PVP) +-- for standards guiding when and how versions should be incremented.+-- http://www.haskell.org/haskellwiki/Package_versioning_policy+-- PVP summary: +-+------- breaking API changes+-- | | +----- non-breaking API additions+-- | | | +--- code changes with no API change+version: 0.9.0.0++-- A short (one-line) description of the package.+synopsis: Miscellaneous stand-alone tools for Quipper++-- A longer description of the package.+description: ++ This package provides some stand-alone tools for Quipper, with demos+ for how to write more such tools.+ +-- URL for the project homepage or repository.+homepage: http://www.mathstat.dal.ca/~selinger/quipper/++-- The license under which the package is released.+license: BSD3++-- The file containing the license text.+license-file: COPYRIGHT++-- The package author(s).+author: Alexander S. Green, Peter LeFanu Lumsdaine, Won Ng,+ Neil J. Ross, Peter Selinger, Benoit Valiron++-- An email address to which users can send suggestions, bug reports, and +-- patches.+maintainer: selinger@mathstat.dal.ca++-- A copyright notice.+copyright: Copyright (c) 2011-2019. All rights reserved.++-- A classification category for future use by the package catalogue+-- Hackage. These categories have not yet been specified, but the+-- upper levels of the module hierarchy make a good start.+category: Quipper++-- The type of build used by this package.+build-type: Custom++-- Constraint on the version of Cabal needed to build this package.+cabal-version: >= 1.8++-- A list of additional files to be included in source distributions+-- built with setup sdist.+extra-source-files: images/*.png+ ChangeLog+ README+ Quipper/Programs/QCLParser/README+ Quipper/Programs/QCLParser/bwt.qcl+ Quipper/Programs/QCLParser/QCL-bwt-n4.out++-- We must export a library, even if it is empty, or else+-- meta-packages (such as quipper-all) that depend on this package+-- will fail.+library+ exposed-modules:+ +executable quipper-approximate+ main-is: Quipper/Programs/Tools/Approximate.hs+ build-depends:+ base >= 4.5 && < 5,+ random >= 1.0.1.1,+ quipper-utils,+ quipper-language,+ quipper-libraries++executable quipper-ascii+ main-is: Quipper/Programs/Tools/ASCII.hs+ build-depends:+ base >= 4.5 && < 5,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-binary+ main-is: Quipper/Programs/Tools/Binary.hs+ build-depends:+ base >= 4.5 && < 5,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-cliffordt+ main-is: Quipper/Programs/Tools/CliffordT.hs+ build-depends:+ base >= 4.5 && < 5,+ random >= 1.0.1.1,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-depth+ main-is: Quipper/Programs/Tools/Depth.hs+ build-depends:+ base >= 4.5 && < 5,+ containers >= 0.5.2.1,+ mtl >= 2.1.2,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-eps+ main-is: Quipper/Programs/Tools/EPS.hs+ build-depends:+ base >= 4.5 && < 5,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-exact+ main-is: Quipper/Programs/Tools/Exact.hs+ build-depends:+ base >= 4.5 && < 5,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-gatecount+ main-is: Quipper/Programs/Tools/GateCount.hs+ build-depends:+ base >= 4.5 && < 5,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-pdf+ main-is: Quipper/Programs/Tools/PDF.hs+ build-depends:+ base >= 4.5 && < 5,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-preview+ main-is: Quipper/Programs/Tools/Preview.hs+ build-depends:+ base >= 4.5 && < 5,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-simulate+ main-is: Quipper/Programs/Tools/Simulate.hs+ build-depends:+ base >= 4.5 && < 5,+ containers >= 0.5.2.1,+ random >= 1.0.1.1,+ newsynth >= 0.3.0.1,+ fixedprec >= 0.2.1.0,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-standard+ main-is: Quipper/Programs/Tools/Standard.hs+ build-depends:+ base >= 4.5 && < 5,+ random >= 1.0.1.1,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-strict+ main-is: Quipper/Programs/Tools/Strict.hs+ build-depends:+ base >= 4.5 && < 5,+ random >= 1.0.1.1,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-trimcontrols+ main-is: Quipper/Programs/Tools/TrimControls.hs+ build-depends:+ base >= 4.5 && < 5,+ quipper-utils,+ quipper-language,+ quipper-libraries+ +executable quipper-unbox+ main-is: Quipper/Programs/Tools/Unbox.hs+ build-depends:+ base >= 4.5 && < 5,+ quipper-utils,+ quipper-language,+ quipper-libraries++executable quipper-qclparser+ main-is: programs/quipper-qclparser.hs+ other-modules: Quipper.Programs.QCLParser.Main+ build-depends:+ base >= 4.5 && < 5,+ containers >= 0.5.2.1,+ mtl >= 2.1.2,+ quipper-language,+ quipper-libraries+ +custom-setup+ setup-depends: base >= 4.5,+ Cabal >= 1.24,+ quipper-cabal >= 0.9.0.0