packages feed

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

@@ -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.+----------------------------------------------------------------------
+ ChangeLog view
@@ -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.
+ Quipper/Programs/QCLParser/Main.hs view
@@ -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))+
+ Quipper/Programs/QCLParser/QCL-bwt-n4.out view
@@ -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> 
+ Quipper/Programs/QCLParser/README view
@@ -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
+ Quipper/Programs/QCLParser/bwt.qcl view
@@ -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);+*/
+ Quipper/Programs/Tools/ASCII.hs view
@@ -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
+ Quipper/Programs/Tools/Approximate.hs view
@@ -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
+ Quipper/Programs/Tools/Binary.hs view
@@ -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
+ Quipper/Programs/Tools/CliffordT.hs view
@@ -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
+ Quipper/Programs/Tools/Depth.hs view
@@ -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
+ Quipper/Programs/Tools/EPS.hs view
@@ -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
+ Quipper/Programs/Tools/Exact.hs view
@@ -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
+ Quipper/Programs/Tools/GateCount.hs view
@@ -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
+ Quipper/Programs/Tools/PDF.hs view
@@ -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
+ Quipper/Programs/Tools/Preview.hs view
@@ -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
+ Quipper/Programs/Tools/Simulate.hs view
@@ -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
+ Quipper/Programs/Tools/Standard.hs view
@@ -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
+ Quipper/Programs/Tools/Strict.hs view
@@ -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
+ Quipper/Programs/Tools/TrimControls.hs view
@@ -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
+ Quipper/Programs/Tools/Unbox.hs view
@@ -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
+ README view
@@ -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.
+ Setup.hs view
@@ -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)]+  }
+ dist/build/quipper-approximate/quipper-approximate-tmp/Quipper/Programs/Tools/Approximate.hs view
@@ -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
+ dist/build/quipper-ascii/quipper-ascii-tmp/Quipper/Programs/Tools/ASCII.hs view
@@ -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
+ dist/build/quipper-binary/quipper-binary-tmp/Quipper/Programs/Tools/Binary.hs view
@@ -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
+ dist/build/quipper-cliffordt/quipper-cliffordt-tmp/Quipper/Programs/Tools/CliffordT.hs view
@@ -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
+ dist/build/quipper-depth/quipper-depth-tmp/Quipper/Programs/Tools/Depth.hs view
@@ -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
+ dist/build/quipper-eps/quipper-eps-tmp/Quipper/Programs/Tools/EPS.hs view
@@ -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
+ dist/build/quipper-exact/quipper-exact-tmp/Quipper/Programs/Tools/Exact.hs view
@@ -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
+ dist/build/quipper-gatecount/quipper-gatecount-tmp/Quipper/Programs/Tools/GateCount.hs view
@@ -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
+ dist/build/quipper-pdf/quipper-pdf-tmp/Quipper/Programs/Tools/PDF.hs view
@@ -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
+ dist/build/quipper-preview/quipper-preview-tmp/Quipper/Programs/Tools/Preview.hs view
@@ -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
+ dist/build/quipper-qclparser/quipper-qclparser-tmp/Quipper/Programs/QCLParser/Main.hs view
@@ -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))+
+ dist/build/quipper-qclparser/quipper-qclparser-tmp/programs/quipper-qclparser.hs view
@@ -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
+ dist/build/quipper-simulate/quipper-simulate-tmp/Quipper/Programs/Tools/Simulate.hs view
@@ -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
+ dist/build/quipper-standard/quipper-standard-tmp/Quipper/Programs/Tools/Standard.hs view
@@ -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
+ dist/build/quipper-strict/quipper-strict-tmp/Quipper/Programs/Tools/Strict.hs view
@@ -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
+ dist/build/quipper-trimcontrols/quipper-trimcontrols-tmp/Quipper/Programs/Tools/TrimControls.hs view
@@ -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
+ dist/build/quipper-unbox/quipper-unbox-tmp/Quipper/Programs/Tools/Unbox.hs view
@@ -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
+ images/CosetState.png view

binary file changed (absent → 3311 bytes)

+ images/E.png view

binary file changed (absent → 1496 bytes)

+ images/ERot_phase.png view

binary file changed (absent → 1572 bytes)

+ images/ERot_zx.png view

binary file changed (absent → 3957 bytes)

+ images/G.png view

binary file changed (absent → 1738 bytes)

+ images/GateR.png view

binary file changed (absent → 3363 bytes)

+ images/Rz.png view

binary file changed (absent → 1963 bytes)

+ images/T.png view

binary file changed (absent → 1561 bytes)

+ images/V.png view

binary file changed (absent → 1804 bytes)

+ images/W.png view

binary file changed (absent → 2532 bytes)

+ images/Y.png view

binary file changed (absent → 1360 bytes)

+ images/adder-optimized.png view

binary file changed (absent → 4858 bytes)

+ images/adder-unoptimized.png view

binary file changed (absent → 8371 bytes)

+ images/b0-template.png view

binary file changed (absent → 887 bytes)

+ images/b1-template.png view

binary file changed (absent → 5013 bytes)

+ images/b2-orthodox.png view

binary file changed (absent → 5628 bytes)

+ images/b2-template.png view

binary file changed (absent → 1304 bytes)

+ images/b3-template.png view

binary file changed (absent → 7265 bytes)

+ images/b4-template.png view

binary file changed (absent → 13792 bytes)

+ images/cH_AMMR.png view

binary file changed (absent → 1544 bytes)

+ images/ccZ_AMMR.png view

binary file changed (absent → 2929 bytes)

+ images/ccZ_S.png view

binary file changed (absent → 7580 bytes)

+ images/cc_iX.png view

binary file changed (absent → 3038 bytes)

+ images/cc_iX_S.png view

binary file changed (absent → 3642 bytes)

+ images/cc_iX_simple.png view

binary file changed (absent → 2484 bytes)

+ images/contfrac.png view

binary file changed (absent → 1151 bytes)

+ images/controlled-phase-decomp.png view

binary file changed (absent → 1433 bytes)

+ images/controlled-zrot.png view

binary file changed (absent → 1940 bytes)

+ images/controlled_E.png view

binary file changed (absent → 2085 bytes)

+ images/controlled_S.png view

binary file changed (absent → 1308 bytes)

+ images/controlled_T.png view

binary file changed (absent → 4450 bytes)

+ images/controlled_V.png view

binary file changed (absent → 1716 bytes)

+ images/controlled_W.png view

binary file changed (absent → 4991 bytes)

+ images/controlled_YY.png view

binary file changed (absent → 1878 bytes)

+ images/controlled_iX.png view

binary file changed (absent → 963 bytes)

+ images/controlled_phase.png view

binary file changed (absent → 1551 bytes)

+ images/coord.png view

binary file changed (absent → 14953 bytes)

+ images/dashed-cnot-bwd.png view

binary file changed (absent → 2436 bytes)

+ images/dashed-cnot-fwd.png view

binary file changed (absent → 2433 bytes)

+ images/decompose2Controls.png view

binary file changed (absent → 3058 bytes)

+ images/decomposeControls.png view

binary file changed (absent → 4290 bytes)

+ images/def_f.png view

binary file changed (absent → 4864 bytes)

+ images/def_g.png view

binary file changed (absent → 3545 bytes)

+ images/def_g1.png view

binary file changed (absent → 1268 bytes)

+ images/def_h.png view

binary file changed (absent → 2669 bytes)

+ images/expDA.png view

binary file changed (absent → 2247 bytes)

+ images/floor.png view

binary file changed (absent → 1738 bytes)

+ images/floor2.png view

binary file changed (absent → 1002 bytes)

+ images/fredkin.png view

binary file changed (absent → 3523 bytes)

+ images/gate_W_CliffordT.png view

binary file changed (absent → 2403 bytes)

+ images/hex-coord.png view

binary file changed (absent → 12639 bytes)

+ images/hex1.png view

binary file changed (absent → 19618 bytes)

+ images/hex2.png view

binary file changed (absent → 6734 bytes)

+ images/iX.png view

binary file changed (absent → 1318 bytes)

+ images/multi_ciX_noancilla.png view

binary file changed (absent → 4358 bytes)

+ images/multi_cnot_barenco.png view

binary file changed (absent → 5276 bytes)

+ images/phase.png view

binary file changed (absent → 1167 bytes)

+ images/quantum_and.png view

binary file changed (absent → 1152 bytes)

+ images/quantum_and_iX.png view

binary file changed (absent → 913 bytes)

+ images/rGate.png view

binary file changed (absent → 1664 bytes)

+ images/spin1.png view

binary file changed (absent → 2436 bytes)

+ images/spin2.png view

binary file changed (absent → 3399 bytes)

+ images/toffoli_AMMR.png view

binary file changed (absent → 3310 bytes)

+ images/toffoli_NC.png view

binary file changed (absent → 3209 bytes)

+ images/toffoli_S.png view

binary file changed (absent → 7982 bytes)

+ images/toffoli_V.png view

binary file changed (absent → 1768 bytes)

+ images/weldedtree.png view

binary file changed (absent → 8963 bytes)

+ images/with_combined_controls1.png view

binary file changed (absent → 4107 bytes)

+ images/with_combined_controls2.png view

binary file changed (absent → 3598 bytes)

+ images/with_computed.png view

binary file changed (absent → 5029 bytes)

+ images/with_signed_qubit.png view

binary file changed (absent → 1052 bytes)

+ programs/quipper-qclparser.hs view
@@ -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
+ quipper-tools.cabal view
@@ -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